Clear the frame to the apron colour

That band at the bottom was not a background mismatch — the canvas was
transparent there. render() never cleared: the stands cover the top and the
out-area quad covers the middle, so it looked complete, but the quad only
reached z=30 and everything below where that projects was see-through. The
page showed through it, which is why it read as a slightly duller green.

The frame is now cleared to pal.out before anything draws, oversized by 8px so
a camera shake cannot expose an edge, and the out-area quad runs to z=60 so the
perspective floor reaches the bottom on any aspect. Verified by sampling alpha
down the bottom third: opaque everywhere, one uniform colour, matching the page
gradient behind it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5 committed 2026-07-30 19:22:23 +02:00
1 parent 7b15e10494
commit c9699da6f1
3 files changed
+17 -4

No files matched your search

+7
View File
@@ -186,6 +186,13 @@ zombie (now an occasional opponent, `TUNE.racketEvery`, not the every-game fixtu
because the wave grows with `hordeGrow` while the panic button was a flat 1 s; he chose scaling the
melee over shrinking the horde. **Measure the crowd BEFORE calling `meleeSwipe`** — it kills
everything in reach, so counting after counts the survivors and the cooldown barely moves.
- **`render()` clears the whole frame to `pal.out` first.** There was NO clear for a long time: the
stands cover the top and the out-area quad covers the middle, so it looked complete — but the quad
only reached z=30 and BELOW where that projects the canvas was simply transparent. On a phone that
read as a duller band across the bottom of the screen. The quad now runs to z=60 as well, so the
perspective floor reaches the bottom on any aspect ratio. If you ever add a new orientation or
stretch the canvas further, check the bottom rows are opaque — sample `getImageData` alpha, the
colour alone will not tell you, because the page behind is deliberately the same green.
- **The page background behind the canvas tracks the live court apron** (`pageBackground` in
render.js). It is visible in exactly two places: the strip above the canvas under the status bar,
and the slivers a phone's ROUNDED DISPLAY CORNERS clip out of the canvas — a flat dark body drew a