feat(tournament): Chase-the-Ace series score + one-node viz, phase-aware Results page#314
Merged
Merged
Conversation
…+ 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.tscollapsescta-*heats the same way. New view-model fieldsBracketMatch.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