formats: a scale-0 leaf must not claim the draw and blank its parent
Found by inspection while the disc tests ran. The leaf branch set its something-was-drawn flag unconditionally after calling blit, but blit returns early on a zero scale -- collapsed to nothing, not unset. So a scale-0 leaf would have been counted as drawn, its parent skipped, and the element blanked outright. pgloading_loop5 s leaf is scale (0,0), so this was live on all four loading screens, and scale-0 is one of the failures this corpus is already named for. Fixed by skipping a zero-scale leaf pose before it can claim the draw; the loading builds render afterwards at 4.0 percent non-black. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsEPXWVaEpyfudtR6re1Pd
This commit is contained in:
@@ -82,6 +82,18 @@ pixels differing** is **not established here** — that harness poses deliberate
|
||||
and counts differing pixels rather than mean level, and it is the place to judge
|
||||
it. ❔ The sweeps may simply be a small term.
|
||||
|
||||
## 🔴 A bug in this change, found by inspection before the tests found it
|
||||
|
||||
The leaf branch set its "something was drawn" flag **unconditionally after
|
||||
calling `blit`** — but `blit` returns early on a **zero scale** (*"collapsed to
|
||||
nothing", not "unset"*). So a scale-0 leaf would have been treated as drawn, its
|
||||
parent skipped, and the element **blanked outright**.
|
||||
|
||||
⚠️ `pgloading_loop5`'s leaf is scale **(0, 0)**, so this was live on all four
|
||||
loading screens, and scale-0 is one of the failures this corpus is already named
|
||||
for. Fixed by skipping a zero-scale leaf pose before it can claim the draw.
|
||||
Loading builds render afterwards at 4.0 % non-black, unchanged in character.
|
||||
|
||||
## No regression
|
||||
|
||||
| screen | before | after |
|
||||
|
||||
Reference in New Issue
Block a user