re: retract 'the game batches elements that share a mode' -- its own log refutes it

I wrote that yesterday in HANDOFF, the finding page and INDEX. It is false: in
one main-menu frame, draws 5, 6 and 7 are three separate additive draws --
consecutive, identical blend state, not merged.

Only the one-way implication holds: elements inside one draw share a blend
state; sharing a state does not put elements in one draw. The wrong version
would have licensed the port inferring a mode for an element nobody observed,
which is the one thing that page must not do. The ptframe4 conclusion is
unaffected -- it is in the same DRAW as ptframe3, not merely the same mode.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
sylph-decoder
2026-08-31 06:16:37 +00:00
parent 880a4d562b
commit 020f456974
3 changed files with 20 additions and 7 deletions

View File

@@ -65,9 +65,17 @@ different shader", which is a different finding.
| extras 8 | 179.2 × 32.4 | `pttitle.t32` **182×34** | alpha-over |
`ptframe1` and `ptframe2` are in **one draw call**; so are `pteff20` and
`ptframe3`. A draw call carries one blend state, so elements that share a mode
are **batched together** — which is also why `ptframe4` needs no separate
argument: it is inside `EXTRAS`' 24-index additive batch with `ptframe3`.
`ptframe3`. A draw call carries one blend state, so `ptframe4` needs no separate
argument: it is inside `EXTRAS`' 24-index additive draw with `ptframe3`.
🔴 **The first version of this paragraph said "elements that share a mode are
batched together". That is false**, and it is refuted by the very log it was
written from: in one main-menu frame, draws **5, 6 and 7 are three separate
additive draws** — consecutive, identical state, not merged. Only the one-way
implication holds: **elements inside one draw share a blend state; sharing a
state does not put elements in one draw.** The wrong version would have licensed
inferring a mode for an element that was never observed, which is exactly what
this page must not do.
## What this settles, and what it does not