Skip to main content

Overview

Tyre Strategy shows the whole field’s stint sequence on one lap-number axis: every driver’s row is their stints laid out as compound-coloured blocks, so you can read undercut and overcut patterns, compound splits, and stop timing across the field at a glance. Reach for it whenever you need the race’s strategic shape rather than one driver’s detail.
This is a race-only widget: outside a race session it shows “Session is not a race.” and computes nothing.

What It Shows

Tyre Strategy mid-race: hatched used sets and unfinished open stints (Madrid 2026, lap 43) One row per driver, each stint drawn as a block on a lap axis that spans the whole race, lap 1 at the left. Two orderings, your choice. A toggle switches the rows between car number, a stable reference grid that never re-sorts, and running order, which takes the timing tower’s own as-of order so the rows read top to bottom as the race currently stands. Hovering a segment is the only way to see its detail. Right-click a segment to open the compound picker and correct that stint’s tyre by hand: the same menu the timing tower’s badge and the Stints viewer open, offered here because the whole stint is already on screen.

Data Behind It

This widget has no dedicated insight and carries no model_id/model_version: it is a pure client-side derivation over the same stint rows the Stints widget reads, built by buildTyreStrategyColumns in src/screens/derive.ts.
  • Rows: GET /v1/sessions/{session_key}/stints, hydrated on session enter and re-hydrated on seek or reconnect. Stint rows carry no channel of their own on the wire; live updates arrive wrapped as timing-channel envelopes and route to the stint reducer by the presence of a stint_number field.
  • Row membership and order: the builder returns rows in fixed car-number order; the running-order option re-orders them using the timing tower’s own entries, which is the one place in the app allowed to decide a running order.
  • Compound: the stint row’s own compound, with a manual override for that stint winning and marked as edited.
  • Flag bands: buildStintFlags (safety car, virtual safety car, red flag periods, plus track-level sector-yellow spans) mapped onto the lap axis via buildStintAxisLaps’s per-lap timing ticks - the identical overlay data the Stints widget’s own flag bands use.
  • Axis span: transport.totalLaps fixes the axis to the full race; if that is not yet known, the axis falls back to the furthest lap any segment currently reaches.

States

Shows “No stints yet.” whenever no driver has a usable stint segment, or the axis span cannot be determined - typically the first laps of a race before any stint row has arrived.
Wire-identical: the widget reads the same stint rows and channel envelopes regardless of source, and never branches on it.
Race-only. Outside a race, the widget shows “Session is not a race.” - the app never computes the tyre-strategy data bundle for a non-race session.
An unreported compound renders a neutral grey block rather than a guessed colour. An unreported starting tyre age (tyre_age_at_start) is never assumed to be a fresh set: the tooltip’s tyre-life reads ”?” instead of “new”.
If flag data or lap-time ticks are not yet available, the overlay simply does not draw - not an error state, just nothing to show yet.
A driver’s latest stint grows lap by lap with the playhead and shrinks correctly on scrub-back. It is truncated so it never overlaps a successor stint that has already reported in, which can otherwise happen during a brief live coalescing window.

FAQ

A hatch marks a used set on the same base compound colour, so the compound stays legible at a glance regardless of wear. A paler “used” shade was tried and dropped because it made the compound itself harder to read.
The stint row did not report a starting tyre age. Rather than assume the set was fresh, the widget renders the honest “unknown” state.

Next Steps

Stints

The same stint data at per-lap detail, on a time-of-day axis.

Tyre Deg Table

Per-stint degradation fits for every driver.

Tyre Deg Ranking

Compound-by-compound degradation ranking across the field.

Race Control

The flag periods this widget’s overlay bands are drawn from.
Last modified on September 18, 2026