> ## Documentation Index
> Fetch the complete documentation index at: https://playbook.smedleygroup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lap Times

> A multi-driver lap-time comparison chart, built from laps you drag in from the Laps table.

## Overview

The Lap Times widget is the pace-comparison chart: one line per driver whose laps you have dragged in, plotted lap by lap. Reach for it once you want to see the actual pace of two or more drivers side by side.

> [!NOTE]
>
> Nothing renders until you drag a lap in from the [Laps](/software/internal/watchparty/widgets/laps-table) table. There is no empty axes ghost, only an honest prompt. The Timing Tower selection does not drive this chart.

***

## What It Shows

![Lap Times comparing three drivers, markers coloured by tyre compound, opening on the view of the fastest laps (Singapore 2026 Race, lap 30)](https://mintcdn.com/smedley_group/1sk8-0h-JRH4PrIf/images/watchparty/lap-times.png?fit=max\&auto=format\&n=1sk8-0h-JRH4PrIf\&q=85\&s=873a8f49c8639449ee6205777e1834b1)

Drag any lap row from the Laps table onto the widget and that driver joins the comparison, drawn across every one of their laps. A chip for each dragged lap sits above the plot, and its **✕** removes it. One line series per driver, in team colour, y-axis "Lap Time \[s]". Each lap's marker is filled by tyre compound (a paler shade when that tyre was not fresh), falling back to the driver's team colour when the compound is unknown. Team-mates share a colour, so the second driver on a team is drawn with a dashed line to keep them tellable apart.

| Control | Effect |
| - | - |
| Axis toggle (**Lap** / **Time of day**) | Switches the x-axis between lap number and each lap's wall-clock start, in circuit-local time |
| Lap time basis toggle (**Raw** / **Fuel corr**) | Switches the plotted y-value between the stored lap time and the fuel-corrected value |

A lap with no recorded time is dropped from that driver's series rather than plotted as a fabricated point; the same applies to a lap whose start time cannot be parsed, in "Time of day" mode.

**Opening view and the y-axis.** The y-axis reaches every plotted lap, so nothing is ever cut off. The chart opens on a closer view of the fastest laps: each driver's laps are judged against that same driver's fastest plotted lap, and the opening window spans the laps within 5% of it, rounded outward to the nearest half second. A slower lap, such as a safety car or wet lap, still plots; it simply sits outside the opening window until you zoom out.

![The right-click menu open on Lap Times, offering Reset zoom and Show all laps (Singapore 2026 Race, lap 30)](https://mintcdn.com/smedley_group/1sk8-0h-JRH4PrIf/images/watchparty/lap-times-menu.png?fit=max\&auto=format\&n=1sk8-0h-JRH4PrIf\&q=85\&s=fb6c6137683ac1f674128947069fd876)

**Zooming.** Right-drag across the plot to draw a box, and on release the chart zooms both axes to it. The drag carries on if the pointer leaves the plot or the chart, and the zoom lands at the last point inside the plot when you let go. A right-click without moving opens the small menu shown above:

* **Reset zoom** returns to the opening view.
* **Show all laps** zooms the y-axis out to every lap, which is how to reach the slower laps outside the opening window.

Left-drag and clicks are unchanged, and there are no zoom sliders. In **Lap** mode the lap axis labels stay whole laps at any zoom level.

***

## Data Behind It

This chart is built entirely client-side (`buildComparisonChart`) from lap rows already hydrated through the `laps` REST endpoint and the `laps`/`timing` WebSocket channels, no dedicated insight of its own.

The **Fuel corr** basis reads the `corrected_laps` insight (`model_id: corrected_laps`, `model_version: 1.4.0`), delivered on `vpw:v1:{session_key}:insight:corrected_laps` and REST-hydrated on session enter, seek, and reconnect via `GET /v1/sessions/{session_key}/metrics?metric_id=corrected_laps`. It is the same toggle shared by the [Laps](/software/internal/watchparty/widgets/laps-table) table, the [Stints](/software/internal/watchparty/widgets/stints) viewer and [Stint Lap Times](/software/internal/watchparty/widgets/stint-lap-times); each widget holds its own independent mode, but they share one availability check.

In "Time of day" mode both the axis labels and the tooltip header render the session's own circuit-local time, from its `gmt_offset`, falling back to the browser's local time only when the session carries no usable offset.

***

## States

| State | Behaviour |
| - | - |
| No lap dragged in | Shows a prompt: "Drag laps in from the Laps table to plot lap times." |
| Lap with no recorded time | Dropped from that driver's series, not plotted as zero |
| Fuel-corrected basis unavailable | The **Fuel corr** button disables; its title explains why (see below) |
| Live vs replay | Wire-identical; the chart never branches on envelope source |

> **Why is the Fuel corr toggle disabled?**
>
> The disabled button's title gives the inferred reason, checked in this order: a qualifying session ("Corrected times are not computed for qualifying sessions"); a session with no fuel parameters for its circuit ("No fuel parameters for this circuit"); otherwise a generic "No fuel-corrected times yet" while the insight catches up. Practice sessions do get a corrected basis, labelled "Uncorrected (practice fuel unknown)" where the fuel load behind it is not known.

***

## FAQ

> **Why does switching to Fuel corr sometimes shrink the number of points?**
>
> A lap with no corrected value as of the current playhead position drops from the series entirely, the same honest-gap rule the raw basis applies to an untimed lap. It never silently falls back to the raw value.

***

## Next Steps

> **[Laps](/software/internal/watchparty/widgets/laps-table)**
>
> The drag source for this chart, and the full sortable lap log, sharing the same fuel-correction toggle.

> **[Timing Tower](/software/internal/watchparty/widgets/timing-tower)**
>
> The running order behind the drivers you compare.

> **[Fuel Correction](/software/internal/watchparty/concepts/fuel-correction)**
>
> How corrected lap times are computed and when they are available.

> **[Race History](/software/internal/watchparty/widgets/race-history)**
>
> A whole-field pace comparison, rather than a chosen few drivers.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.