Skip to content

feat(rounds): polish single-elim tournament — pilots/advance per heat, whole-bracket viz, own container#311

Merged
ryan-johnson2 merged 1 commit into
develfrom
tournament-ui-polish
Jun 28, 2026
Merged

feat(rounds): polish single-elim tournament — pilots/advance per heat, whole-bracket viz, own container#311
ryan-johnson2 merged 1 commit into
develfrom
tournament-ui-polish

Conversation

@ryan-johnson2

Copy link
Copy Markdown
Contributor

Polishing the single-elim Build-tournament UI from testing:

  • Pilots per heat — dropdown capped at the primary timer's nodes; the bracket geometry follows it.
  • Advance per heat — configurable "how many move on" (engine single_elim advance param, default heat_size/2; UI selector 1..heatSize-1). 4-up → top 2 advance by default; you can set top-1-of-4.
  • Whole bracket built outbuildBracketView synthesizes the full tree with TBD placeholder matches for every level, before any heats exist.
  • Own container — brackets un-folded from the Heats list (each level is a normal heat card); a new Tournaments card below Heats holds the tree(s) + the Build-tournament button.

cargo xtask ci green; check 0 errors; 501 console + 35 component tests; full tree + container verified live via screenshots.

🤖 Generated with Claude Code

…, whole-bracket viz, own container

Refining the single-elim Build-tournament UI from testing:

- Pilots per heat: a dropdown (capped at the primary timer's nodes); the bracket's level geometry
  follows it. `bracketLevelFields(field, heatSize, advance)` computes the field entering each level.
- Advance per heat: a configurable "how many move on" (engine: single_elim gains an `advance` param,
  default heat_size/2; UI: a selector 1..heatSize-1, defaulting to the top half — so 4-up → top 2
  advance, the rest eliminated, and you can set top-1-of-4). Threaded through the level math + seeding.
- Whole bracket built out: buildBracketView now synthesizes the full tree — every level rendered with
  the right number of matches and TBD placeholder slots, before any heats exist.
- Own container: brackets are no longer folded into the Heats list (each level shows as a normal heat
  card); a new "Tournaments" card below Heats holds the bracket tree(s) and the Build-tournament button.
  Rounds + heats appear in the normal Rounds/Heats sections.

cargo xtask ci green (single_elim advance param + 17 unit tests); frontend check 0 errors; 501 console
+ 35 component tests; verified the full TBD tree + container live via screenshots.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ryan-johnson2 ryan-johnson2 merged commit 8a06957 into devel Jun 28, 2026
3 checks passed
@ryan-johnson2 ryan-johnson2 deleted the tournament-ui-polish branch June 28, 2026 13:50
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