Manual · Compare
The compare page sets two laps from the same event side by side and answers what changed. Lap A is shown in white, lap B in amber — that convention carries through every chart on the page.
Δ TIME row · continuous delta-time vs distance
The headline chart on the compare page. Plots the cumulative time difference between lap B and lap A along the distance axis — showing not just how much faster one lap was, but where the time came from.
- X axis — distance along the lap, in meters from the start line.
- Y axis — Δt (B − A) in seconds. Above zero = A is ahead at this point; below = B is ahead.
- Line color — green wherever A is ahead, amber wherever B is ahead. The line itself flips color at the zero crossing.
- "Δ at finish" badge in the header — the final cumulative delta when both laps cross the line.
- Drag to zoom · double-click to reset — same as every uPlot row. The throttle / brake / steer rows below stay synced.
| Steady upward slope | A is pulling away from B continuously. |
| Step changes | Big gain/loss at a specific corner — drop the cursor on the step and look at the input traces below for the cause. |
| Line wobbles near zero across the whole lap | Pace was very similar; differences are pattern-level. |
| Switches color mid-lap | One lap is stronger in one part of the track, the other elsewhere. |
| Doesn't end at the badge value | Lap-time (from lap.timeMs) and resampled-trajectory delta can differ by a few ms — the badge is the resampled end-Δ; the header card is the truth-net from lap times. |
Track map · A · B overlay
Both laps' routes rendered on the same top-down view, in their legend colors (A white, B amber). The color-mode chips you see on /replay are hidden here because each trace has a fixed identity.
- A trace = white (#fafafa), B trace = amber (#fbbf24).
- Start marker at lap-distance = 0. No live cursor (nothing to scrub).
- Click-to-seek is disabled on this surface (it's a comparison view, not a replay).
| Traces fully overlap | Same line; differences are in timing / inputs, not path. |
| Split at a corner entry | Different braking points or turn-in points. |
| Split at a corner exit | Different throttle-application or apex-clipping line. |
| One trace consistently wider through bends | That lap is running a wider racing line — could be more committed exits, or running off-line for traffic. |
A vs B damper velocity histograms
Two damper velocity histograms side by side — one per lap, each showing a 2×2 grid of corners (FL · FR · RL · RR). Same axes and zone-color convention as the /replay version.
The two panels are independent — they auto-scale their Y axis separately. To compare peak heights between A and B, look at the 12 % reference line rather than at the bars' apparent height. (Both panels draw that line at the same data position; if A's peak sits at the reference and B's peak is well above, the cones really are different shapes regardless of relative bar height.)
Otherwise the reading is the same as the single-lap version on /replay.
| A peak much taller than B peak | A's dampers tuned tighter (or driving was smoother on A's lap). |
| Asymmetry flipped between A and B | The bump/rebound balance shifted between tunes — pair with the setup diff to see which damper sliders changed. |
| B has much more fast-zone time than A | B is hitting kerbs/bumps harder, or its dampers are softer in the fast zone. |
A vs B damper position × velocity
The two position×velocity scatters side by side. Reading is identical to the /replay version; here the question is whether the bump/rebound coupling — the "C" lean — changed between the two tunes.
| B's cloud leans into a "C", A's is symmetric | A damper change introduced bump/rebound imbalance — pair with the setup diff. |
| B's cloud shifted right vs A | B rides lower through the lap — check the ride-height histograms below. |
A vs B ride-height histograms
Two ride-height histograms side by side — where each lap's chassis sat over the travel range. The direct read of how a spring / ride-height / aero change moved the platform.
| B's bars shifted right vs A | B rides lower — softer springs, lower ride height, or more downforce loading the platform. |
| B's bottoming band grew vs A | B runs out of travel more often — pair with the setup diff. |
A vs B dyno curves
Two dyno curves side by side — engine torque, power, and boost (when applicable) vs RPM. Compare's only power-curve view; fills the gap when the setup diff contains build-side changes (engine swap, aspiration, displacement) that move the curve.
| Curves overlap closely | Same engine package; differences are tune-side or driving. |
| B's peak power higher / further right | Build change moved the engine — pair with the setup diff. |
| One curve missing the boost line | Aspiration changed between builds (N/A ↔ turbo / SC). |
A vs B slip-angle balance
Two slip-angle balance histograms side by side. The cleanest read of did chassis balance shift between these two tunes — pair with ARB, spring, and alignment rows on the setup diff.
| A peak at 0, B shifted right (positive) | B leans understeery — fronts working harder than on A. |
| A peak at 0, B shifted left (negative) | B leans oversteery — rears working harder than on A. |
| B's spread is wider than A's | B's balance varies more through corners — less consistent. |
A vs B tire temperature distribution
Per-corner (FL · FR · RL · RR) temperature distributions, A vs B. Diagnoses alignment and tire-pressure changes — they move heat patterns. Optimal grip band sits around 85-100 °C; well below = tire under-loaded, well above = overworked or under-inflated.
- X axis — tire temperature, fixed 40-130 °C scale (out-of-range temps clamp into the end bins).
- Y axis — % of lap frames at that temp (auto-scaled per corner).
| B's bars shifted right vs A on one corner | That tire is running hotter — typically more camber, lower pressure, or more cornering load on B. |
| FL ≠ FR (or RL ≠ RR) shape within a build | Left/right asymmetry — track-direction bias, camber/toe imbalance, or alignment difference between sides. |
| Fronts much hotter than rears (or vice versa) | Forward/rearward load bias — pair with balance histogram above and ARB / spring rows on the setup diff. |
Sector times table
Splits each lap into three equal-distance sectors and reports the clock time spent in each. A vs B side-by-side with a delta column.
- Sector boundaries — at 1/3 and 2/3 of this lap's `lap.distance`. Equal splits, not user-marked sector points.
- A / B columns — each lap's sector time, formatted as M:SS.mmm.
- Δ column — B − A in seconds. Positive = A was faster, negative = B was faster.
- Color rule — green when A did better, amber when B did better, neutral within ±50 ms.
| Sum of the three Δs equals the header net delta | Sanity check — should always be true within rounding. |
| One sector contains most of the delta | That stretch is where to focus the next lap or tune change. |
| Mixed signs (A faster S1, B faster S2) | Different strengths — different lines or tune-side trade- offs. |
Min speed per sector · apex proxy
Lowest speedKmh observed in each equal-distance sector, A vs B with a delta. A rough apex-speed reading — each sector tends to contain the slowest point of one or two corners.
- A / B columns — lowest speed observed in that sector, in your preferred unit (km/h or mph).
- Δ column — B − A in the same unit. Higher apex speed is better, so the color rule is inverted vs the sector-times table: green when A carried more speed (Δ < 0), amber when B carried more.
- "A did better" resolves to green across both tables — only the math sign of "better" flips.
| A carries more speed AND has a faster sector time | Unambiguous win — higher commit, no time penalty. |
| A carries more speed BUT has a slower sector time | Probably running wider line — gained mid-corner speed but lost time elsewhere in the sector. |
| Big apex-speed gap with small sector-time gap | One lap was much more committed but didn't convert it into time — usually a tune or exit-traction issue. |
Setup diff
The flat list of every build + tune field that differs between the two laps' sessions. The headline glass-box-measurement view — "you changed X in the tune; here's what changed in the data."
- Header count — "N changes" tells you the size of the setup delta at a glance.
- Per row — source (Build / Tune) · section · field · A value · B value.
- Source labels — Build = upgrade decisions that shape the car physically (tires, drivetrain, weight, power); Tune = slider settings layered on top (springs, dampers, ARBs, alignment, gearing).
- Values run through the same formatter the form / display surfaces use, so the same unit prefs apply (psi vs bar, mm vs in, etc.).
- No row appears when both sides are null/empty or numerically identical.
| Empty (panel hidden) | Same build + same tune. Lap-time difference is from driving, conditions, or noise. |
| One or two rows | Targeted change — pair with trace and histogram deltas to see what it did. |
| Many rows across both Build and Tune | Comparing across builds — measurement deltas are still valid but you can't attribute them to any single change. |