diff --git a/.agents/TODO.md b/.agents/TODO.md index bf589e8..2443243 100644 --- a/.agents/TODO.md +++ b/.agents/TODO.md @@ -83,7 +83,7 @@ data-blocked (graceful-degradation shell lets the UI land dark until JSON arrive - [x] ~~Stage A — degradation engine + fault-tolerant `loadData` + sticky scrollspy sub-nav + media fallback~~ (2026-06-16) - [x] ~~Stage B — verdict hero (gated on FINAL finished; aggregate-hero fallback) + goals-by-round chart~~ (2026-06-16) - [x] ~~Stage C — final ranking 1–48 (phase-reached chain), favorite-row highlight, team record cards~~ (2026-06-17) -- [ ] Stage D — auto record-cards + "format-48 debuts" band +- [x] ~~Stage D — auto record-cards + "format-48 debuts" band~~ (2026-06-17) - [ ] Stage E — 104-match results archive (accordion by phase, row → modal) - [ ] Stage F — team comparator (diverging bars) - [ ] Stage G — Layer 2 cheap data (attendance, `cards`→{y,r} migration, decidedIn, coords) — **SCHEDULE LATE** diff --git a/.agents/project-map.md b/.agents/project-map.md index eea7633..93a094d 100644 --- a/.agents/project-map.md +++ b/.agents/project-map.md @@ -4,7 +4,7 @@ Navigation map of the codebase. Use this to find which file owns a concern befor > **Status 2026-06-12 (all 12 steps + real-data migration done):** everything works with **real World Cup 2026 data** — all views, bracket interactions, simulation, responsive/a11y pass, favorites, time toggle, challenge, share link, `.ics` export. Remaining: keep `results.json` current, fill `thirdPlaceAssignment` after the group stage (~Jun 27), Lighthouse run + GitHub Pages deploy. Spec source of truth: `world-cup-2026-hub-spec-en.md` + `complement-spec-worldcup2026-en.md` (complement **wins on conflict**). > -> **Branch note (2026-06-16):** the full post-Cup Stats screen (`.agents/stats-screen-plan.md`, stages A–J) is being built on **`feature/stats-final-screen`** (merges to `master` at the end of the Cup). **Stages A–C done** on that branch (degradation engine + fault-tolerant `loadData` + sticky scrollspy sub-nav + flag monogram fallback; verdict-or-aggregate hero + goals-by-round chart; final ranking 1–48 by stage-reached + favorite-row highlight + team record cards). `master` keeps the partial Stats tab + daily refreshes. Descriptions below reflect the branch. +> **Branch note (2026-06-16):** the full post-Cup Stats screen (`.agents/stats-screen-plan.md`, stages A–J) is being built on **`feature/stats-final-screen`** (merges to `master` at the end of the Cup). **Stages A–D done** on that branch (degradation engine + fault-tolerant `loadData` + sticky scrollspy sub-nav + flag monogram fallback; verdict-or-aggregate hero + goals-by-round chart; final ranking 1–48 by stage-reached + favorite-row highlight + team record cards; Records section = match records + format-48 debuts band). Sub-nav live chips: Overview · Teams · Records. `master` keeps the partial Stats tab + daily refreshes. Descriptions below reflect the branch. --- @@ -70,8 +70,9 @@ worldcup2026/ │ │ ├── stats.js ★ Stats tab: tournament-to-date aggregates (finished │ │ │ matches only); verdict-or-aggregate hero + overview + goals-by-stage/round + │ │ │ 48-team table ranked 1–48 by stage-reached (sortable, # = canonical rank) + -│ │ │ favorite-row highlight + auto record cards (biggest win → -│ │ │ modal, win streak, champion path). SECTIONS registry (graceful- +│ │ │ favorite-row highlight + team record cards (win streak, +│ │ │ champion path) + Records section (biggest win/high-scoring +│ │ │ match → modal, format-48 debuts band). SECTIONS registry (graceful- │ │ │ degradation gate: section + chip render only if available, │ │ │ else removed from DOM) + sticky scrollspy sub-nav (anchor │ │ │ chips, hash-safe) + flagImg fallback; imports getBracketTree/getFavorites/openMatchModal. Grows into diff --git a/.agents/project-memory.md b/.agents/project-memory.md index dd92eca..bad05b0 100644 --- a/.agents/project-memory.md +++ b/.agents/project-memory.md @@ -273,6 +273,15 @@ Static web app showing the FIFA World Cup 2026 (Mexico/USA/Canada, 48 teams) — - **Deferred (noted):** home/away splits + a per-match W/D/L form column → Stage J/later (the plan's §C "splits"/detailed form). - **Next:** Stage D — auto record-cards (match/tournament records not already shown by Stage C) + "format-48 debuts" band (104 matches, R32 as a new round, best-3rd mechanic, first 48-team champion). Awaiting approval. +### Stats final screen — Stage D: Records section + format-48 debuts (2026-06-17) +- **New `records` sub-nav section is live** (`SECTIONS` `records` flipped to `available: () => true`, `body: recordsSectionHTML`). Sub-nav now shows **Overview · Teams · Records** (players/comparator/archive still dark). The section is always available — its anchor content (the debuts band) is meaningful from match 0. +- **Match-record cards consolidated into Records** (cleaner C/D split): **`biggestWin` moved out of the Teams section into Records**; Teams now holds only team-level cards (win streak, champion path). Records shows **biggest win** (margin) + **highest-scoring match** (most combined goals; tie→bigger margin), both `