Skip to content

feat(tournament): Chase-the-Ace series score + one-node viz, phase-aware Results page#314

Merged
ryan-johnson2 merged 1 commit into
develfrom
chase-results-polish
Jun 28, 2026
Merged

feat(tournament): Chase-the-Ace series score + one-node viz, phase-aware Results page#314
ryan-johnson2 merged 1 commit into
develfrom
chase-results-polish

Conversation

@ryan-johnson2

Copy link
Copy Markdown
Contributor

Chase-the-Ace: the bracket tree collapses the chase final into one node (not one box per race) with a race counter + series score (per-finalist win pills) and the champion crowned; results.ts collapses cta-* heats the same way. New view-model fields BracketMatch.note + BracketSlot.score.

Results page — phase-aware: a view selector (Tournaments → Rounds → Per-class) defaulting to the current phase (in-progress tournament → latest scored round → per-class); Round view = round ranking, Tournament view = bracket tree + champion + final standings, Per-class unchanged.

Frontend-only; check 0 errors; 518 rd-console + 35 component tests.

🤖 Generated with Claude Code

…+ phase-aware Results page

Chase-the-Ace:
- The bracket tree now collapses the chase final into ONE match node (not one box per race), with a
  race counter + per-finalist win tally ("series score") and the champion marked — even though the
  engine runs multiple race heats underneath.
- View-model: BracketMatch.note (caption, e.g. "Best of 3 · 2 races") + BracketSlot.score (win count
  pill); BracketTree renders both.
- The chase win tally is counted on the frontend from the chase final's completed-race results
  (chaseWinTally helper); a champion is crowned at wins_to_win. championByRoot now handles a chase
  final (was hard-coded to single-heat finals), so the "Champion · ‹callsign›" chip shows for it.
- results.ts bracketFromOutcome collapses cta-* race heats into one final node the same way.

Results page — now phase-aware:
- A view selector (Tournaments → Rounds → Per-class), defaulting to the current phase: an in-progress
  tournament if a bracket has run, else the latest scored round, else per-class.
- Round view = that round's ranking; Tournament view = the bracket tree + champion + final standings;
  Per-class view unchanged. Friendly names throughout.

Frontend-only. check 0 errors; 518 rd-console + 35 component tests (+ new chase/results coverage).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ryan-johnson2 ryan-johnson2 merged commit 536bcf9 into devel Jun 28, 2026
3 checks passed
@ryan-johnson2 ryan-johnson2 deleted the chase-results-polish branch June 28, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant