> ## 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.

# Tyre Deg & Life

> Pre-race and actual degradation and tyre life for soft, medium and hard, side by side in large compound-coloured tiles.

## Overview

Tyre Deg & Life puts the plan beside the race for each of the three dry compounds: a **Pre Race** column with the degradation rate and tyre life the strategy engine was given, and an **Actual** column with what the field is delivering so far. Each value sits in a tile filled with its compound colour, sized to read from a distance.

Use it when you want one glance at whether the tyres are wearing the way the plan assumed, without opening the deg tables behind it.

> [!NOTE]
>
> This is a race-only widget: outside a race session it shows "Session is not a race." and computes nothing.

***

## What It Shows

![Tyre Deg & Life, pre-race plan beside actual (Singapore 2026, lap 42)](https://mintcdn.com/smedley_group/kebxybooreg84opf/images/watchparty/tyre-deg-life.png?fit=max\&auto=format\&n=kebxybooreg84opf\&q=85\&s=be6939599f53a53fa20b0a23786fb0ed)

A title, two column headings, and three rows per column (Soft, Med, Hard). Every row is a wide tile beside a narrow one, both in the compound's colour.

| Element | Meaning |
| - | - |
| Title "Tyre Deg & Life" | The widget's name, scaled with the tile height so it reads from a distance |
| "Pre Race" column | The race data parameters for this weekend: the per-compound primary deg and primary life |
| "Actual" column | What the race has shown so far, as of the playhead |
| Wide tile | The compound name and degradation in seconds per lap to two decimal places, for example "Soft 0.12". Medium is labelled "Med" |
| Narrow tile | The tyre life in laps, a whole number |
| Tile colour | The compound colour for soft, medium or hard, with dark text on all three |
| "-" | The value is unknown. It is never replaced by a default |

Tile text scales with the size of the tile, taking the smaller of the height-driven and width-driven size so it never overflows a narrow tile.

### How the Actual column is worked out

* **Actual deg** is exactly the Live Deg Prediction median for that compound: the middle degradation rate across the valid stints in the Tyre Deg Table. It is reused as it stands, not re-derived.
* **Actual life** is the longest stint run so far on that compound, across all drivers, counted in laps. A stint still in progress counts the laps it has run so far, and a manual compound correction is respected. That longest stint is shown **only if it exceeds the pre-race life**; otherwise the pre-race life is shown.
* With **no pre-race life**, the longest stint stands in for it.
* With **neither**, the tile shows "-".

***

## Data Behind It

This widget has no insight metric of its own and carries no `model_id` or `model_version`: it is a client-side derivation, `buildTyreDegLife` in `src/screens/tyreDegLifeSummary.ts`. Its registry entry names the `stint_deg` source (the `insight:stint_deg` snapshots), because the Actual deg median is taken over the Tyre Deg Table's stints.

* **Pre Race deg and life**: the weekend's `race_data` parameter row, the same per-compound primary deg and primary life that [Deg Prediction](/software/internal/watchparty/widgets/deg-prediction) shows. Parameters are data, so nothing is invented when the row is missing.
* **Actual deg**: `buildLiveDegPredictions` in `src/screens/liveDegSummary.ts`, the median [Live Deg Prediction](/software/internal/watchparty/widgets/live-deg-prediction) shows. The same stint rules apply: a stint needs a fit and must clear the minimum stint length, and negative gradients are dropped.
* **Actual life**: the stint columns that [Tyre Strategy](/software/internal/watchparty/widgets/tyre-strategy) draws, as of the playhead. The longest stint is found by `longestStintByCompound` and the choice against the pre-race life is made by `actualLife`, both in the same file.

***

## States

> **Session is not a race**
>
> Outside a race session the whole tile shows "Session is not a race." and nothing is derived.

> **No pre-race data**
>
> If the weekend's `race_data` bundle was never loaded, every Pre Race tile shows "-" (for example "Soft -" in the wide tile and "-" in the narrow one). The Actual column still works from the race itself.

> **No valid stints yet**
>
> With no valid stint of a compound in the Tyre Deg Table, that compound's Actual deg shows "Soft -", "Med -" or "Hard -". Actual life can still show a value from the longest stint run.

> **Each value degrades on its own**
>
> A missing deg does not blank the life beside it, and one compound being unknown does not affect the others.

> **Playhead moved**
>
> The Actual column is recomputed as of that lap, so scrubbing back shrinks the longest stint and changes the median with it. Pre Race never moves.

> **Live vs replay**
>
> Identical: the widget reads the same rows and parameters whichever the source.

***

## FAQ

> **Why does Actual life equal the Pre Race life?**
>
> No stint on that compound has yet run longer than the pre-race life, so the pre-race life stands. The Actual tile only moves once the race has shown a longer stint than the plan assumed.

> **Why is Actual life a number when there is no Actual deg?**
>
> They come from different places. Life needs only a stint to have been run, while deg needs a valid, fitted stint that clears the minimum length.

> **Why do the values differ from the Deg Prediction widgets?**
>
> This widget shows degradation to two decimal places, where the Deg Prediction and Live Deg Prediction widgets show three. The underlying figures are the same ones.

> **Does an in-progress stint count towards life?**
>
> Yes, for the laps it has run so far, so Actual life can grow lap by lap while a long stint is still going.

***

## Next Steps

> **[Live Deg Prediction](/software/internal/watchparty/widgets/live-deg-prediction)**
>
> The median behind the Actual deg tiles.

> **[Deg Prediction](/software/internal/watchparty/widgets/deg-prediction)**
>
> The pre-race figures behind the Pre Race column.

> **[Tyre Deg Table](/software/internal/watchparty/widgets/tyre-deg-table)**
>
> The valid stints the Actual deg median is taken over.

> **[Tyre Strategy](/software/internal/watchparty/widgets/tyre-strategy)**
>
> The stints the longest-stint life is read from.


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