ai-code-battle/web
jedarden d8812b98ee feat(playlists/replay): n-player win prob, annotations, evolver metrics
Playlist curation per §10 is fully implemented in the index builder:
- generatePlaylists() writes /data/playlists/index.json and {slug}.json
- curateWeeklyHighlights() selects best-of-week by upsets, elite
  clashes, marathon turns, and closest finishes (last 7 days)
- persistGeneratedPlaylists() upserts to playlists/playlist_matches DB tables
- /data/playlists/ stub files seeded for all 12 curated collections

Replay viewer improvements shipped alongside:
- WinProbPoint refactored from {p0,p1} to {probs: number[]} for N players
- renderWinProbSparkline draws one line per player with matching colors
- replay.ts updated to build probs[] from replay.win_prob arrays
- Dynamic legend generated from replay.players instead of hardcoded P0/P1

New annotation overlay component (§16.8):
- AnnotationOverlay: timeline track, per-turn list, canvas markers
- createAnnotationForm: type selector, author, body, localStorage + API
- ANNOTATION_OVERLAY_STYLES: self-contained CSS for the overlay

Evolver: add mutations_per_hour metric to Totals (live.json §14)
Types: consolidate evolution types into types.ts, re-export from api-types.ts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 17:15:31 -04:00
..
public feat(home): redesign homepage per §16.3 — dynamic data, territory replay, compact layout 2026-04-21 17:01:24 -04:00
src feat(playlists/replay): n-player win prob, annotations, evolver metrics 2026-04-21 17:15:31 -04:00
.gitignore Complete Phase 3: TypeScript Canvas replay viewer 2026-03-24 07:30:04 -04:00
app.html feat(mobile): implement mobile-first responsive design per §16.5 2026-04-21 17:04:02 -04:00
CLOUDFLARE_DEPLOYMENT.md feat(ci): add Cloudflare Pages deployment configuration 2026-04-08 16:53:09 -04:00
DEPLOYMENT_INSTRUCTIONS.md docs(web): add Cloudflare Pages deployment instructions 2026-04-08 17:21:59 -04:00
embed.html feat(playlists): add playlist curation and rebuild logic per §10, with series/seasons/enrichment 2026-04-21 16:11:27 -04:00
index.html feat(evolver): complete Phase 7 LLM-driven evolution implementation 2026-04-08 16:38:48 -04:00
package-lock.json feat(web): add Agentation feedback overlay for UI annotation 2026-04-21 08:26:00 -04:00
package.json feat(web): add Agentation feedback overlay for UI annotation 2026-04-21 08:26:00 -04:00
pages.json Fix R2 custom domain in pages.json to match project spec 2026-03-26 22:10:37 -04:00
tsconfig.json Complete Phase 3: TypeScript Canvas replay viewer 2026-03-24 07:30:04 -04:00
vite.config.ts feat(web): code splitting per §16.7 — reduce app entry chunk 84% (10KB → 1.6KB gz) 2026-04-21 12:41:33 -04:00