feat(results): time-trial standings detail + full-field tournament placement (points→seed)#316
Merged
Merged
Conversation
…acement
Time-trial (timed_qual) round standings now show each pilot's **best lap** plus the win-condition
metric they're ranked on:
- new `RoundStanding` / `RoundMetric` projection + `GET /events/{id}/rounds/{id}/standings`
(best_lap_micros always computed; metric = BestLap / BestConsecutive{n} / MostLaps, mirroring the
round's win condition; positions match the existing round ranking exactly).
- Results round view renders Pos | Pilot | Best lap | ‹Best N consec | Laps›, the metric column
adapting to the win condition. Non-time-trial rounds keep the ranking table.
Tournament view now ranks the **full field** (not just finalists) by bracket placement:
- placement tier (champion → finalists → semi losers → …), tie-broken **within a tier by points
(descending), then seed**. Points (default table [10,6,4,3,2,1]) order multiple pilots eliminated
from the same 4–8-pilot heat; for 2-up heats the tied finishers fall back to seed (higher seed takes
the higher place). Champion first; partial brackets render gracefully.
Backend: cargo xtask ci green (no binding drift) + /standings contract. Frontend: check 0 errors,
529 rd-console + 35 component tests.
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.
Time-trial round standings now show Best lap + the win-condition metric (Best-N-consec / Laps) — new
RoundStandingbackend projection +/rounds/{id}/standingsendpoint, positions matching the existing ranking.Tournament view ranks the full field by bracket placement tier, tie-broken within a tier by points (desc) then seed — points order multi-pilot (4–8) heats; 2-up ties fall back to seed (higher seed → higher place). Champion first.
cargo xtask cigreen (no binding drift) + /standings contract; frontend check 0 errors, 529 + 35 tests.🤖 Generated with Claude Code