Skip to the replay console
Race library // 3 races2D / 3D playback // seeded telemetryView source
Telemetry in, race replay outPlayback, analytics, and post-race review in 1 browser experienceWhat the colours mean
LAYLINEFleet race · Long Beach
SMOOTH
Seeded current field at t=0Windward markStart and finish
Every track, sampled once a second through the same evaluator the replay reads

Finish order

Elapsed from the gun to the line, 6 boats, 1 lap
PosSailTeamElapsed
1JPN 18Kuroshio Racing0:50
2FRA 12Mistral Racing0:53
3NZL 7Southern Cross Racing0:54
4GBR 21Meridian Racing0:56
5USA 4Harbor Light Racing0:57
6AUS 33Coral Coast Racing0:58

Key

Reading the water

Amber belongs to the wind, cyan to the water moving under the fleet, violet to raw telemetry, and every remaining colour on the sea belongs to a boat

Boat colour
One colour a boat, the same on its chip, its label, its trail, its gennaker and its hull
Track
Where a boat has already been, drawn in its own colour
Laylines
The two courses that fetch the next mark on the wind blowing right now, so they swing when it shifts
Ladder rungs
Lines of equal gain toward the mark, so a boat crossing one has made distance on the boat that has not
Marks and zone
The orange buoy is the mark, and the ring around it is the 8 m zone where the rounding rules start to bite
Start line
Amber while it is still an instruction, ink from the gun, when it becomes a piece of the course
Current
Each dart points where the water is setting, and the longer it is the harder the drift
Raw fixes
The 4 Hz measured samples everything else is rebuilt from, drawn when the raw lens is on

Race analyst

Debrief

Ask about any boat or race phase
Answers cite the same telemetry
and link back to the exact moment in the replay

Suggested questions

The analyst reads the same seeded telemetry as the replay and answers only from it.

The whole race is loaded. Tap a question or ask your own.

Project

What I built

A browser race player that turns 4 GPS points per second,
into smooth scrubbable fleet motion

Replay

6 boats share 1 clock across 2D and 3D views, camera changes, raw samples, smooth playback, and frame by frame scrubbing

Race model

Wind, marks, laylines, rankings, maneuvers, VMG, speed, heading, and heel all come from the same race data

Post-race review

The debrief answers questions from race data and opens the replay at the cited moment

Data flowFrom samples to frames1 race clock drives playback, overlays, standings, and debrief
  1. 01 / 4 HZTelemetryRaw GPS points from every boat
  2. 02 / SMOOTHInterpolateA stable pose for every frame
  3. 03 / 1 CLOCKRace model1 source for fleet state
  4. 04 / EVERY FRAME2D / 3D replayPlayback, analytics, and debrief

Under the hood

Performance

  • Current demo scope is 6 boats, 1,713 telemetry samples, and 75 seconds
  • Tens of boats and multi-hour recordings are the next benchmark

Frame loop

The replay reuses pose objects instead of creating new ones every frame. Each telemetry series remembers its last position during playback and uses binary search after a scrub.

GPU work

Hull colours live in the geometry, so the fleet shares 2 hull materials. Spray and raw telemetry dots use instancing, sending each type to the GPU in 1 batch.

Water

A 27,009-vertex clipmap keeps detail near the camera. A uniform grid over the same area would use 1,640,961 vertices.

Laptop and phone

A frame-time governor watches sustained slow frames and lowers pixel ratio through 3 steps: 1.5, 1.25, and 1. Instrument values touch the DOM only when the shown number changes.

Race library

Layline Races

Interact

Interactive

Interpolation

1 telemetry window, 12 seconds long, across 3 synchronized views

Full race · USA 4 window marked

Slow motion · USA 4 · T+25 to T+37

T+25.00

Cam 01 · the raw feed

USA 4 · Harbor Light Racing

4 GPS points a second

Raw samples arrive every 250 ms; violet holds each sample while the race model fills the frames between them

Samples49
Max gap1.54m
Lag0.00m
Toward the windward mark
Raw feed and interpolated pose on 1 clock

Cam 02 · the curve

USA 4 · Harbor Light Racing

Between the samples

Speed and course set each curve tangent, keeping the path and turn honest between samples

Segments48
Curve20hz
Chord0.02m
COG73.1deg
Toward the windward mark
Amber arrows show the reported velocity at each sample

Cam 03 · the compass

USA 4 · Harbor Light Racing

Heading is a circle

Angles take the shortest path across north, with a turn-rate cap to reject impossible spins

Point A25.0deg
Point B357.0deg
Plain332.0deg
Short28.0deg
00025.0357.028.0 deg332.0 deg

Drag the needle

25.0° to 357.0° is 28.0° across north, not 332.0° around the compass

Next

Production path

  • The prototype uses seeded data so every replay is repeatable
  • Next: map actual telemetry into the race model
  • Test larger fleets and multi-hour recordings
  • Profile low end laptops and phones
  • Connect live and stored races to production services