The applause moves down out from under the scoreboard

Oliver: "in the upper parts of the crowd there seems to be a lot more action
going on, but I can barely see it because the hud is covering it." Measured, 31
of 134 raisers were being drawn under the board or the blood panel — a quarter
of every cheer spent where nobody can see it.

The cause is structural: a raise is only detectable where there is empty stand
above somebody's head, and the sheet only offers that above the top row of each
seating block. One of those rows is at the very top of the picture, which is
where the scoreboard lives.

So both ends are fixed. The two arms-up rolls now ask for the standers to be in
the lower two thirds only, and the pass drops any raiser whose box centre falls
under the board or the blood panel. 92 of 101 raisers now sit below the board's
bottom edge, against 103 of 134 before — and because "how many join in" is a
fraction of the table, pruning the invisible ones makes every cheer denser where
it counts. Measured churn during a won game: 2-5.5% of the mid and lower stand
changing every 90 ms, against 0.1-1% under the HUD.

The re-roll also came back with 41 spectators owning both raised poses, up from
28, so more of them clap rather than just going up and down.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5 committed 2026-08-21 14:40:22 +02:00
1 parent b34a9159a7
commit 93c4a21be5
11 files changed
+148 -138

No files matched your search

+13
View File
@@ -365,6 +365,19 @@ zombie (now an occasional opponent, `TUNE.racketEvery`, not the every-game fixtu
together. Draws stay integer-aligned with **no vertical offset**: a fractional `dy` on a scaled
image re-snaps its pixel rows every frame under nearest-neighbour — that boiling beside the HUD
was the "scoreboard flicker".
- **THE APPLAUSE HAS TO HAPPEN WHERE THE HUD IS NOT.** A raise is only detectable where there is
empty stand above somebody's head — that is how the arms are told apart from the roll's drift —
and the sheet only offers that above the top row of each seating block. One of those rows sits at
the very top of the picture, which is exactly where the scoreboard is: measured, 31 of 134 raisers
were being drawn under the board or the blood panel. Oliver: "in the upper parts of the crowd there
seems to be a lot more action going on, but I can barely see it because the hud is covering it."
Two rules now hold the line, and BOTH are needed — the second alone would just delete the
applause:
1. the arms-up rolls are asked for standers **in the lower two thirds only** (`_crowdroll.py`);
2. `_crowdpass.py` drops any raiser whose box centre falls under the board or the blood panel
(`HUD`, in portrait logical px — landscape has a shorter band, so the rule is conservative
there rather than over-eager).
Result: 92 of 101 raisers below the board's bottom edge, against 103 of 134 before.
- **A raiser is ~8x6 logical px, so a pose that appears and holds is invisible.** What reads as
applause is the CYCLE — arms high, hands together, up, down, at about 3.5 Hz — and how many people
are doing it at once (`crowd.pop`). Oliver on the first per-person cut: "when clapping I barely see