Standings

What it shows
Section titled “What it shows”Positions by class, licenses, iRating and laps.
http://127.0.0.1:8745/w/standings?lang=en
Maximum subscription: 5 + 1 Hz.
URL options
Section titled “URL options”columns selects and orders position,number,flag,driver,carModel,state,license,irating,iratingDeltaEstimate,gap,interval,bestLap,lastLap,averageLap (default order). class,laps,tire are optional. carModel=auto|always|never (auto) controls model visibility; clock=0 hides the local clock.
Compact phone standings
Section titled “Compact phone standings”top=0..10 shows the first N cars in each class. around=0..10 adds up to N cars
ahead and N behind the player in their class, plus the player. Both are integers;
empty, out-of-range or invalid values are ignored. With neither set, the full
table is unchanged; setting just one makes the other 0. Zero explicitly enables
the compact view: top=0&around=0 leaves only the player in their class.
classes=all is the default; classes=mine shows only the player’s class.
Spectating/replays use the focused car. Without a player or focus, each class
shows its first top cars, even with classes=mine. Using classes=mine alone
filters the class without limiting its rows.
Leaders and nearby cars merge without duplicates. A ··· N cars hidden row counts
only the gap between the two blocks, excluding cars after the last neighbor.
Touching or overlapping blocks have no divider. With top=0, only the player
block appears, without a leading divider. Other classes retain their header,
first top cars and a final divider counting the rest (with top=0, just header
and divider). Entry counts, SOF, model detection and best laps still use the full
standings; intervals still refer to the immediately preceding car in the standings.
Stable height: for a fixed field size, the player’s class reserves
min(cars, top + 2 × around + 1 + (top > 0 ? 1 : 0)) row slots. Slots left over
when blocks merge or reach either end stay blank at the bottom and are excluded
from the accessibility tree. With 40 cars and top=3&around=3, there are always
11 slots: P20 shows P1–3 and P17–23 with a 13-car divider; P3 shows P1–6 with no
divider and five blank slots; P40 shows P1–3 and P37–40, a 33-car divider and three
blank slots. Position changes, including P7 ↔ P8, do not move the footer. Height
can change with field size, focused class or settings.
All three options are in Configure → Widget options, for windows and canvas items. Clear both numbers to restore all rows. For a 390 px phone, combine the row limits with narrow columns; row limits do not change the default columns or width:
/w/standings?top=3&around=3&classes=mine&columns=position,number,driver,gap&lang=en
Calculations and limits
Section titled “Calculations and limits”Races use official positions and within-class F2 gaps; separation of at least a lap is shown in laps. Other sessions sort by best lap. SOF = K × ln(n / Σ exp(−iR/K)), where K = 1600/ln(2). Averages up to five observed non-pit laps without claiming clean opponent laps. Pit time includes transit. Δ iR is estimated, never official; omitted for AI or incomplete data. Footer fuel and incidents always belong to the player. Hidden without cars.
- Race: official
CarIdxPosition, breaking ties by distance traveled. - Other sessions: best lap.
- Classes: fastest to slowest by the reference lap time,
CarClassEstLapTime.
Gaps and intervals by class
Section titled “Gaps and intervals by class”During a race, if the distance behind the class leader is one lap or more:
gap_laps = floor(leader_distance − car_distance)
When the difference is less than a lap:
gap_seconds = car_F2Time − class_leader_F2Time
F2Time is the time behind the overall leader. Outside races:
gap_seconds = car_best_lap − class_leader_best_lap
The interval uses the same calculation against the car immediately ahead in the class. Gaps are hidden before the green flag because all values are zero.
Pit stops
Section titled “Pit stops”A stop is counted whenever the car enters pit road after its first observation. Starting in the pits is not counted as a stop. last_pit_lap stores the number of completed laps at entry.
SOF: strength of field
Section titled “SOF: strength of field”K = 1600 / ln(2) ≈ 2308
SOF = K × ln(n / Σ exp(−iR / K))
iR is each included driver’s iRating, and n is the number included in the sum. An iRating of 1 in offline sessions is ignored. The formula gives more weight to lower iRatings; the result does not exceed the arithmetic mean (they are equal when every rating is the same).
Privacy
Section titled “Privacy”Names arrive filtered by core settings: abbreviated by default, with flags according to preference. The widget does not reconstruct full names or expose account identifiers. Review visible content before broadcasting.