docs: backlog — fade alpha applied; drawing the .prm quads is unblocked
This commit is contained in:
@@ -94,15 +94,24 @@ See [`structures/ui-composable-bundles.md`](structures/ui-composable-bundles.md)
|
||||
elements that rested invisible and the fade quad that rested opaque black.
|
||||
See [`structures/ui-resting-pose.md`](structures/ui-resting-pose.md) and
|
||||
`tools/re-capture/align_to_capture.py`.
|
||||
* ❔ **`compose` ignores the keyframe `fade` alpha.** ← *next, and the last thing
|
||||
between here and drawing `.prm`.* `blit` modulates by `tint`, which is
|
||||
`0xffffffff` on essentially every keyframe; the `fade` ARGB is never applied.
|
||||
That is why resting on the wrong keyframe was invisible for so long, and it is
|
||||
the whole content of a `.prm` quad. First step: apply `fade` alpha in `blit`
|
||||
and A/B the title against the capture with `align_to_capture.py`.
|
||||
* ❔ **Blend mode for the primitives.** Straight alpha is the assumption for the
|
||||
black dim quads; the near-white flash (`0xf0ffffff`) and the coloured ones
|
||||
(`0x60ff0000`, `0x0000ffd4`) may be additive. Nothing measured.
|
||||
* ✅ **The keyframe `fade` alpha is applied** (2026-08-19). ARGB, multiplied on
|
||||
top of `tint`. Title composite vs the running-game capture: **0.4597 → 0.9538**
|
||||
edge correlation at zero shift. No-op on 4 060 of 5 200 sprite elements, hides
|
||||
687 transient HUD indicators, blanks **zero** builds. It also exposed a defect
|
||||
in the resting rule — a keyframe group carries the screen's *exit* animation
|
||||
too, and the tie-break was grabbing it, which erased the word PAUSE; a run
|
||||
ending on the last keyframe is now excluded.
|
||||
See [`structures/ui-resting-pose.md`](structures/ui-resting-pose.md).
|
||||
* ❔ **Draw the `.prm` quads.** ← *next; nothing is blocking it now.* A solid
|
||||
`fade`-coloured rect at `pivot × 2`, painted in layer-key order like everything
|
||||
else. The title's `pteff00.prm` rests transparent and its `pteff02.prm` at
|
||||
`0x00000000`, so the title should be unchanged — that is the regression check.
|
||||
`GP_*` screens that dim behind a menu are where it should show.
|
||||
* ❔ **Blend mode.** Everything is straight alpha-over. The near-white flash
|
||||
quads (`0xf0ffffff`) and coloured ones (`0x60ff0000`) may be additive. The
|
||||
title capture cannot separate the two — its resting elements are all
|
||||
`0xffffff`. A screen with a coloured primitive, captured, would.
|
||||
|
||||
* ❔ **What marks a focused state in the file.** The pairing rule that shipped is
|
||||
a naming convention, not a decoded field. `kind = 0x3002` is a button record;
|
||||
whether a bit of `kind` marks the focused variant is the cheapest probe.
|
||||
|
||||
Reference in New Issue
Block a user