Pular para o conteúdo
MonkeyOverlaysMonkeyOverlays

Classificação

Classificação com dados de exemplo

Posições por classe, licenças, iRating e voltas.

http://127.0.0.1:8745/w/standings?lang=pt-BR

Assinatura máxima: 5 + 1 Hz.

columns seleciona e ordena position,number,flag,driver,carModel,state,license,irating,iratingDeltaEstimate,gap,interval,bestLap,lastLap,averageLap (ordem padrão). class,laps,tire são opcionais. carModel=auto|always|never (auto) controla o modelo; clock=0 oculta a hora local.

Opções comuns.

top=0..10 mostra os primeiros N carros de cada classe. around=0..10 acrescenta até N à frente e N atrás do piloto na sua classe, além do próprio piloto. São inteiros: valores vazios, inválidos ou fora do intervalo são ignorados. Sem ambos, a tabela completa é preservada; ao definir só um, o outro vale 0. Zero ativa o recorte explicitamente: top=0&around=0 deixa só o piloto na sua classe.

classes=all é o padrão; classes=mine mostra só a classe do piloto. Ao assistir ou em replay, usa o carro em foco. Sem piloto nem foco, mostra os primeiros top de todas as classes, inclusive com classes=mine. Usar apenas classes=mine filtra a classe sem limitar suas linhas.

Líderes e vizinhos se unem sem duplicar carros. Uma linha ··· N carros ocultos conta só o intervalo entre os blocos, sem contar carros após o último vizinho. Blocos que se tocam ou se sobrepõem não têm divisor. Com top=0, só aparece o bloco do piloto, sem divisor inicial. As outras classes mantêm cabeçalho, primeiros top e divisor final contando o restante (com top=0, só cabeçalho e divisor). Total de carros, SOF, modelos e melhor volta usam a classificação completa; o intervalo continua sendo relativo ao carro imediatamente anterior.

Altura estável: para uma quantidade fixa de carros, a classe do piloto reserva min(carros, top + 2 × around + 1 + (top > 0 ? 1 : 0)) espaços de linha. Espaços que sobram ao unir blocos ou chegar às extremidades ficam vazios no fim e fora da árvore de acessibilidade. Com 40 carros e top=3&around=3, são sempre 11 espaços: P20 mostra P1–3 e P17–23 com divisor de 13; P3 mostra P1–6 sem divisor e cinco espaços vazios; P40 mostra P1–3 e P37–40, divisor de 33 e três espaços vazios. Mudanças de posição, inclusive P7 ↔ P8, não movem o rodapé. A altura pode mudar com a quantidade de carros, a classe em foco ou as opções.

As três opções ficam em Configurar → Opções do widget, nas janelas e nos itens de tela. Apagar os dois números restaura todas as linhas. Para um celular de 390 px, combine o recorte com colunas estreitas; o recorte não altera as colunas nem a largura padrão:

/w/standings?top=3&around=3&classes=mine&columns=position,number,driver,gap&lang=pt-BR

Na corrida usa posições oficiais e diferenças F2 dentro da classe; separações de uma volta ou mais aparecem em voltas. Outras sessões ordenam pela melhor volta. SOF = K × ln(n / Σ exp(−iR/K)), com K = 1600/ln(2). Média de até cinco voltas observadas sem boxes, sem garantir voltas limpas de rivais. Tempo nos boxes inclui trânsito. Δ iR é estimado, nunca oficial; omitido com IA ou dados incompletos. Combustível e incidentes do rodapé são do jogador. Oculto sem carros.

  • Corrida: CarIdxPosition oficial; em caso de empate, distância percorrida.
  • Outras sessões: melhor volta.
  • Classes: da mais rápida à mais lenta pelo tempo de volta de referência, CarClassEstLapTime.

Durante a corrida, se a diferença de distância para o líder da classe for de uma volta ou mais:

gap_voltas = floor(distância_líder − distância_carro)

Se for menor que uma volta:

gap_segundos = F2Time_carro − F2Time_líder_da_classe

F2Time é o tempo atrás do líder geral. Fora de corrida:

gap_segundos = melhor_volta_carro − melhor_volta_líder_da_classe

O intervalo usa o mesmo cálculo em relação ao carro imediatamente à frente na classe. Antes da bandeira verde, as diferenças ficam ocultas porque todos os valores são zero.

Uma parada é contada sempre que o carro entra no pit lane após a primeira observação. Começar nos boxes não conta como parada. last_pit_lap guarda as voltas completadas no momento da entrada.

K = 1600 / ln(2) ≈ 2308
SOF = K × ln(n / Σ exp(−iR / K))

iR é o iRating de cada piloto considerado e n é a quantidade incluída na soma. O iRating 1 de sessões offline é ignorado. A fórmula dá mais peso aos iRatings menores; o resultado não supera a média aritmética (são iguais quando todos os valores coincidem).

Nomes chegam filtrados pela configuração do núcleo: abreviados por padrão, com bandeira conforme preferência. O widget não reconstrói nomes completos nem expõe identificadores de conta. Revise o conteúdo antes de transmitir.

Guia de privacidade.