Live sim-rig stream
ReconnectingWaiting for first frame...
Ring buffer 0 of 120 frames at 20 Hz.
APEX · Live sim-rig demo · adaptive hand-controls
A 20 Hz stream of adaptive hand-controls telemetry flowing into the APEX coaching loop. The tile renders a synthetic GT4 hand-controls lap so the live demo flow renders end-to-end without a tethered driver rig. Live WebSocket swap point at apex/sim_rig/ws_server.py lights via Vinh M3-V2 backend deploy.
Adaptive hand-controls demo · GT4 sprint-series setup · circuit-agnostic synthetic layout.
FastF1 dataset selector · wave-47 G5 ship · M3-V11 swap-point
Selector wired client-side; live FastF1 .npz fixture delivery + per-dataset stream endpoint land via Vinh M3-V11 backend deploy. Synthetic GT4 default ships canned + renders the demo flow end-to-end without backend.
Wave-44 Phase 6h: live HTTP-stream from /api/sim-rig/stream (NDJSON 20Hz via Vercel Fluid Compute ReadableStream). Per-frame parse + ring-buffer + disconnect-reconnect already in the existing client. Render path is identical to the simulated mode below + the Vinh M3-V2 WebSocket mode that follows.
Live sim-rig stream
ReconnectingWaiting for first frame...
Ring buffer 0 of 120 frames at 20 Hz.
In-memory simulated tile (control)
Live sim-rig stream
SimulatedWaiting for first frame...
Ring buffer 0 of 120 frames at 20 Hz.
Stretch inclusion S1 in PLAN.md §18. The tile ships against a synthetic adaptive-controls GT4 lap stream so the live demo flow renders end-to-end without a live driver-rig connection. Live WebSocket swap point lives at GET /api/sim-rig/stream returning a SimRigFrame stream per app/shared/types.ts; the render path is identical between simulated and live modes, so flipping is a one-line prop change.
Source: PLAN.md §18 Stretch S1 + pre-mortem row 45 (galaxy-tier compounding lesson).