Skip to content

feat: give the standings their own screen after the answer split - #11

Merged
gajjug004 merged 2 commits into
developfrom
feat/scoreboard-screen
Aug 22, 2026
Merged

feat: give the standings their own screen after the answer split#11
gajjug004 merged 2 commits into
developfrom
feat/scoreboard-screen

Conversation

@gajjug004

Copy link
Copy Markdown
Collaborator

Problem

The screen that ends a question carried everything at once: the distribution bars, the top five and the streak callouts. The points arrived already sorted, so nobody in the room ever saw the overtake.

Solution

Split it in two. The stats screen keeps the bars alone. A new scoreboard phase follows it: the rows open in the order the room already knows at the scores they already knew, then the points count up and the rows climb or fall to their new places.

  • Engine: close_question also builds the standings (score, points won, new rank, previous rank) and parks them in Redis state; every phase in between hands them on. The standings are the last beat before the next question, whichever side the explanation sits on. The last question skips it, the podium is the standings.
  • get_host_state returns the parked standings, so a reload mid-phase paints the settled board with no replay.
  • Host screen animates it with TransitionGroup keyed by nickname, so the re-sort is a real move.

Spec: specs/phase-12-scoreboard-screen.md.

Testing

  • tests/test_engine.py: 31 green, covering the new phase either side of the explanation and the last-question skip. api/game_ux green.
  • Played E2E on quizzly.localhost at 1920x1080 with ten players over five questions: the top five changed hands every round, host reload mid-standings came back settled, the last question went straight to the podium.

The stats screen carried the distribution, the top five and the streaks at
once, so the points arrived pre-sorted and nobody saw the overtake. Split it:
the bars keep the stats screen, and a new scoreboard phase after it opens on
the old order at the old scores, then counts the points up while the rows move
to their new places.
@gajjug004
gajjug004 merged commit e6961dd into develop Aug 22, 2026
3 checks passed
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