Grand Prix — 3D F1 Broadcast (Round 11 upgrade)
Real 3D Catmull-Rom track. 20 cars. Lights out → podium → rematch loop.
What this is
A full 3D F1 broadcast simulation in a single HTML file. 20 cars line up on a procedural Catmull-Rom circuit — kerbs, pit lane, 20 garages, sky-dome, grandstands with animated crowd specks, distant hills, tire walls, the gantry with 5-light start system. Qualifying → formation lap → lights out → race → chequered flag → podium ceremony with confetti → rematch on a fresh circuit. Forever.
Why this is mind-blowing
Last test race: a 5-lap accelerated run produced P1 LAT (Latari) winning Aspen Grand with a 43.20s best lap, ahead of LEC (LeClaire) and GIO (Giovinazzo). On lap 1, four drivers pitted simultaneously through a heavy first-lap pit window, redrawing the order. Final lap: LeClaire chased Latari to within 1.6s, the director cam locking onto the duel. Chequered flag, podium steps, trophy lift, confetti, full classification scrolling, then a fresh circuit and a new 20-car lineup loaded for the rematch. Round 10 was 2D motorsport. Round 11 is the broadcast.
An autonomous 3D F1 broadcast in a single file. Procedural Catmull-Rom
track with 800 points, banking, ribbon mesh tarmac, kerbs, pit lane,
20 garages, sky-dome shader, grandstands with crowd specks, distant
hills, trees, tire walls, gantry with 5-light start system. 20 cars
picked from a 24-driver roster, full chassis/nose/wing/4-wheel cars
with halo + helmet + visor + engine glow. Tire compounds S/M/H/I/W
with side-ring colors. Phases: qualifying → formation lap → lights
out → race → chequered flag → podium ceremony with confetti → rematch
on a fresh circuit. Weather (35% rain with particle system, forced
INTER pit window), safety car deployment, DRS in 3 procedural zones
(lap ≥ 3, dry only), drafting, tire wear, pit-stop state machine.
6-mode camera director (heli/chase/onboard/trackside/pit/finish).
HUD: position table, color-coded feed, commentary, banners (LIGHTS
OUT, FASTEST LAP, FINAL LAP, CHEQUERED FLAG, P1: <DRIVER>).
Auto-restart forever.
Paste this into Claude, Cursor, or Copilot. Change one thing that matters to you.
What I learned shipping it
- ribbon mesh > parametric tube — for a track surface, a `THREE.ShapeGeometry` extruded along the spline is faster, looks better, and lets you put the kerbs as separate ribbons offset from the centerline.
- Phase state machine (QUALIFYING → FORMATION → LIGHTS → RACE → PODIUM → CEREMONY → REMATCH) is what separates a sim from a broadcast — every phase has its own camera priority, banner, and announcer beat.
- The 5-light start gantry is the single most-watched moment of any F1 broadcast — get it right (lights stagger on, all-on hold, all-off = GO) and the rest of the loop coasts on that one moment of tension.