Show a graph of the game on the Winner popup
Build / test (push) Successful in 38s
Build / build (push) Successful in 1m12s

The Winner popup now shows every player's score after each song as a
step line, with the winning score marked, and three facts under it: the
longest streak, the longest standstill and the song most players scored
on. The data comes from the points each song already records, through
the new ScoreHistory. The popup grows to 1600x920 with the graph across
the full width, so a 60-song game with five players stays readable.

Reset points now starts a new game: it clears the points on the songs
and the graph starts after the song that was playing. Songs already on
the server at startup count as an earlier game.

The screenshot tour has a long five-player game, and only the Winner
popup differs from before.
This commit is contained in:
Sansan committed 2026-10-07 10:40:46 +02:00
1 parent b40b160fde
commit e1e05f3904
21 files changed
+2461 -182

No files matched your search

+10
View File
@@ -54,3 +54,13 @@ inspector or `theme_type_variation` in code:
| Colour | Used for |
|---|---|
| `backdrop` | The dimming behind an open popup |
**ScoreGraph**: the graph of the game on the Winner popup, drawn from code.
| Item | Used for |
|---|---|
| `player_1` … `player_7` | Each player's line, dots, score and legend square, by their place in the player list |
| `grid`, `axis_text` | The gridlines and the numbers along the axes |
| `winning_line` | The dashed line at the winning score |
| `line_width`, `dot_radius` | How thick the lines are and how big the dots |
| `font_size` | The axis numbers and the scores at the end of the lines |
+13
View File
@@ -897,6 +897,19 @@ ProgressBar/constants/outline_size = 0
ProgressBar/font_sizes/font_size = 16
ProgressBar/styles/background = SubResource("StyleBoxFlat_07kyi")
ProgressBar/styles/fill = SubResource("StyleBoxFlat_ouuwv")
ScoreGraph/colors/axis_text = Color(0.75, 0.75, 0.75, 1)
ScoreGraph/colors/grid = Color(1, 1, 1, 0.1)
ScoreGraph/colors/player_1 = Color(0.25, 0.56, 0.95, 1)
ScoreGraph/colors/player_2 = Color(0.11, 0.69, 0.48, 1)
ScoreGraph/colors/player_3 = Color(0.93, 0.76, 0.2, 1)
ScoreGraph/colors/player_4 = Color(0.91, 0.48, 0.64, 1)
ScoreGraph/colors/player_5 = Color(0.62, 0.56, 0.95, 1)
ScoreGraph/colors/player_6 = Color(0.9, 0.4, 0.4, 1)
ScoreGraph/colors/player_7 = Color(0.55, 0.8, 0.3, 1)
ScoreGraph/colors/winning_line = Color(1, 0.5, 0, 1)
ScoreGraph/constants/dot_radius = 5
ScoreGraph/constants/line_width = 3
ScoreGraph/font_sizes/font_size = 14
ScrollContainer/colors/scroll_hint_horizontal_color = Color(0, 0, 0, 1)
ScrollContainer/colors/scroll_hint_vertical_color = Color(0, 0, 0, 1)
ScrollContainer/styles/focus = SubResource("StyleBoxFlat_35dwi")