# Methodology

F1 Singapore Crash Map is a report-backed research cut of documented Formula 1 incidents at the Singapore Grand Prix. It is a partial archive, not a verified census of every crash.

The current scope begins with the 2008 debut and covers F1 weekend sessions: practice, qualifying, the Grand Prix, and Sprint Qualifying/Sprint where applicable. The dataset's `meta.cutoff` and coverage matrix in [incidents.json](../data/incidents.json) define the research boundary. The current cutoff is 11 October 2026 at 14:43 Singapore time; the 2026 Grand Prix was still pending and is not covered. The 2020 and 2021 events were cancelled.

## What enters the ledger

An eligible incident involves physical contact with a wall or barrier, or contact between cars during an F1 session. Confirmed minor wall brushes and smaller car-to-car contacts are included even when the driver continues. A retirement is not required.

Harmless spins, lock-ups, near misses, excursions without established contact, purely mechanical stoppages and support races are excluded. A source saying that a driver touched walls repeatedly is a research lead; an unsplit aggregate account does not enter the incident count as an invented number of impacts.

The unit is an incident, not an involved car or a news report. A multi-car collision chain carries all documented participants in one record. Reports, video replays, recovery operations and later retirement announcements must be deduplicated. A later impact at a different location can require a separate record, but its causal relationship to an earlier collision must remain explicit. Continuous chains, later consequential impacts and vague multiple-touch reports remain subjects of the granularity audit.

## Evidence and uncertainty

Each record includes a source title and URL, drivers, year, session and a short description. Lap and turn numbers are nullable. Formula 1, FIA, teams and the event promoter are preferred sources; contemporary reporting can supplement them, with provenance or limitations retained in the notes.

The linked report establishes the facts it actually states. A race report that confirms a collision does not automatically establish its turn, impact coordinate or exact lap. Completed laps, the leader's current lap and a driver's incident lap can differ; conflicting conventions must be resolved before an exact lap sequence is claimed.

Coverage status means what has been researched, not what happened on track. “No incident found” in a report search is not evidence that a session contained no contact. Brief barrier brushes may be omitted from written reports, and prominent crashes are more likely to receive coverage.

## Where a dot goes

Only records with an integer turn, `locationConfidence: "turn"`, and no disputed review status are plotted. Unknown, sector-only and disputed positions stay in the ledger without a map marker. They may contribute to the sourced-incident total, but never to mapped totals or location rankings.

A plotted dot means that the evidence supports a historical corner reference. It does not establish the exact point of impact. Entry, apex, exit, barrier side, straight and pit-lane positions require further visual verification before precise placement.

The maps in [layouts.json](../data/layouts.json) are normalized schematics derived from credited SVG route and label geometry. They are not GPS traces or surveyed crash coordinates. For display stability, the existing landmark calibration aligns all eras to a single schematic frame; this does not upgrade their geographic precision. A corner's dots are arranged around a shared turn anchor so repeated records remain visible. This spacing is a display choice: a dot's offset does not indicate an impact farther from the circuit. Heat shading expresses the concentration of mapped records in this cut, not measured collision probability or risk per lap.

## Historical layouts and corner numbers

The renderer uses five era schematics: 2008–2012, 2013–2014, 2015–2017, 2018–2022 and 2023 onward. Each incident retains the turn number used in its own year.

The 2023 revision removed the old Turns 16–19. Old Turns 20–23 correspond to modern Turns 16–19. The cumulative map preserves older incidents on the dashed retired waterfront section and translates the shared final corners when displaying another era. Retired corners and corners with both historical and current numbers are labelled distinctly in the location summary.

Earlier geometry changes remain represented by the era diagrams. The existing landmark affine transforms register these diagrams into the 2023 display space, with a fixed camera and fixed landmark positions. Each incident stays at its registered own-era corner anchor after it appears. Shared routes morph between corresponding corner segments over 0.6 seconds; the 2023 bypass fades in separately while the retired waterfront branch remains visible. These in-between frames are editorial transitions, not surveyed intermediate circuit layouts. Credits and licenses belong with both the project and exported media.

## What the animation's timing means

The animation progresses by year and session. Known laps sort numerically, and source-backed ordering hints can place incidents whose precise lap is unresolved. Otherwise within-session timing is editorial and may be out of event order. Unknown timing is not converted into a fabricated lap or timestamp.

Mapped incidents receive equally spaced animation arrivals across the 18-second accumulation interval, followed by a two-second final hold in the 20-second cut. Seasons with more mapped records therefore occupy more screen time. Unlocated and disputed rows retain their sorted position between mapped neighbours; their editorial display times do not introduce map dots or extra mapped-arrival beats. A leading unlocated run begins at time zero and occupies half a beat before the first mapped arrival. Trailing unlocated rows fit before the final hold. If a filter contains only unlocated records, those rows are distributed evenly through the accumulation interval without any plotted arrivals.

This cadence is an editorial display choice, not elapsed race time, incident frequency per race, or exposure. No lap or real-world timestamp is inferred from it. A held year with no logged records cannot be inferred to have had no crashes. There is no moving route tracer or car telemetry in the animation.

Within-session timing remains approximate. At the user's request the graphic omits the research and credit footer; research status, cutoff, placement precision and attribution accompany the cut in this documentation, the source interface and video metadata. The cut supports a historical accumulation of documented records; it does not yet support a frame-accurate replay of all incidents.

## Before publishing “every crash”

The [release gate](RELEASE-GATE.md) is the controlling checklist. A complete claim requires:

- A frozen scope and cutoff, with every eligible held session represented in a coverage matrix and cancelled events recorded explicitly.
- Full session footage review alongside FIA race-control/stewards material and official reports, including sessions where the report search found nothing.
- A second-source audit and independent reviewer checking incident identity, participants, session, lap, location, deduplication and ambiguous contact sequences.
- Resolution of conflicting corner references and verification of historical layout correspondence, including the retired waterfront section.
- Verified within-session order, consistent lap conventions, and reconciliation of incident, involved-car, mapped and research-only totals.
- Visual review of the final exported video and its accompanying research status, cutoff, scope, precision and asset attribution.

Until those checks pass, retain research-cut and incomplete-coverage labels in the source interface and accompanying documentation. The ledger remains editable as new evidence resolves uncertainty or adds incidents.
