#30
feat(aig-161): in-arcade model leaderboard (prototype, dummy data)
Prototype of the in-arcade model leaderboard (AIG-161), built on the telemetry data layer. Draft: data is dummy for the full model catalog; the proxy GET read route that wires the Tinybird pipes to real data is deferred.
What's here
- Win rate — ranked list filling to the bottom, a searchable creator filter in the panel's top-right, scrollbar flush to the edge, and the #1 model's wisp in the scene.
- Head-to-head — two searchable model dropdowns; click a wisp directly to change its model (like the poker/chess games), side-by-side.
- Activity — stacked chess/poker bars + totals.
- Shared top-right ☰ menu for nav (home / controls / account / telemetry / quit); no bottom bar.
- A dedicated
LeaderboardScenerenders creator wisp(s) in the transparent right region behind the opaque data panels, with shared orbit-camera mouse handling. - Reuses existing TUI components (
ScrollBox+ newsetHeight, searchableDropdown,Button) — everything is mouse-clickable.
Home-menu entry is dev-gated (shows in pnpm dev, hidden in the shipped build) until real data lands.
Test plan
pnpm type-check— cleanpnpm test— 249/249pnpm snapshot leaderboard 130 44 [chess|poker] [winrate|headtohead|activity]— renders each view
Follow-ups
- Proxy
GET /v1/leaderboardread route → replace dummy data with the Tinybird pipes. - Un-gate the home-menu entry once real data flows.
Closes part of AIG-161.
Activity
10This pull request is a draft
Merging is unavailable until it is marked ready for review.
The latest updates on your projects. Learn more about Vercel for GitHub.
2 Skipped Deployments