Updates showLoadError to display a friendly "not available yet" message
for HTTP 404 errors (common for unuploaded replays) vs generic "could
not load" for other HTTP errors. Adds the URL to error output and
maintains HTML escaping.
Also adds vitest testing infrastructure with 5 tests covering:
- 404 not-found message
- Generic HTTP error message
- Parse error handling
- HTML escaping (XSS protection)
- 404 vs error distinction
Closes: bf-5cwi
Mounts the Agentation React component (v3) as a thin overlay on the vanilla TS
app via a React root shim. The toolbar appears bottom-right and lets users click
any element, annotate it, and generate structured markdown for AI agent feedback.
Submissions are persisted in localStorage and POSTed to /api/ui-feedback when
the API is available.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add web/ directory with TypeScript + Vite build tooling
- Implement ReplayViewer class with Canvas-based grid rendering
- Add play/pause, scrub, and speed controls with keyboard shortcuts
- Implement fog of war perspective toggle per player
- Add score overlay with player names, scores, and energy
- Support loading replays from local file or URL
- Add match info panel and event log display
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>