mirror of
https://github.com/AmanTahiliani/box-box.git
synced 2026-08-07 11:54:59 -04:00
The tyre deg panel expanded by default during races and rendered a placeholder row per driver until enough clean laps existed to fit a degradation model. For the first third of a race that was ~525px of 'warming up' rows above the Timing Tower, pushing the tower — the thing the page exists for — off the fold entirely. The panel now opens when it has something to say rather than because the session is a race, and says 'collecting clean laps' while it waits. A reader who toggles it keeps their choice. Also: - Hoist degradationModel into a memo shared by the readiness check and the rows. It is O(laps) per driver and previously re-ran on every render at feed rate. - Order the side rail most-synthesized to most-raw, so a reader arriving mid-session gets 'what just happened' before the regulatory log. - Fade the trailing edge of the nav below 560px. It scrolls with a hidden scrollbar, so the cut-off item read as a clipping bug rather than as scrollable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
box-box Web Frontend
React Race Hub slice for the production Web UI.
Commands
npm install
npm run dev
npm test -- --run
npm run build
The Vite dev server proxies /api requests to the Go server on
http://localhost:8080.
Run the backend separately:
go run cmd/main.go --web
Then open the React app, usually:
http://localhost:5173/race-hub
Load an ingested session with:
http://localhost:5173/race-hub?session_key=9472