Motivation
The existing by-model / by-agent dashboard views are static stacked/grouped charts. An animated "bar-chart race" over the selected time range (models or agents jockeying for position as spend accumulates day by day) is a well-understood, inherently satisfying visualization genre and would be a standout dashboard feature.
Proposal
Add a race-chart view (toggle alongside the existing none/by-model/by-agent dimension) that animates ranked bars for models or agents growing/reordering across the selected date range, either auto-playing or scrubbable.
Feasibility notes
- Chart.js has community plugins for bar-chart races; alternatively hand-roll with
requestAnimationFrame over the existing DashboardSeries by-model/by-agent data — no new archive/derive data needed, this reshapes data already computed for the current stacked views.
- Play/pause/scrub controls need UI additions to
renderer.ts and dashboard.css but no new IPC surface.
Acceptance criteria
Motivation
The existing by-model / by-agent dashboard views are static stacked/grouped charts. An animated "bar-chart race" over the selected time range (models or agents jockeying for position as spend accumulates day by day) is a well-understood, inherently satisfying visualization genre and would be a standout dashboard feature.
Proposal
Add a race-chart view (toggle alongside the existing none/by-model/by-agent dimension) that animates ranked bars for models or agents growing/reordering across the selected date range, either auto-playing or scrubbable.
Feasibility notes
requestAnimationFrameover the existingDashboardSeriesby-model/by-agent data — no new archive/derive data needed, this reshapes data already computed for the current stacked views.renderer.tsanddashboard.cssbut no new IPC surface.Acceptance criteria