diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index bbcb13a2..d8339597 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -107,22 +107,27 @@ See [`structures/ui-composable-bundles.md`](structures/ui-composable-bundles.md) title — the one screen with ground truth — it takes mean luminance from **+18 % to −1.3 %** of the capture (76.30 → 63.72 vs 64.58) and mean abs diff 16.07 → 13.08. Off by default because of the item below. -* 🟡 **Where a primitive paints — three measured screens, still no derivation** - (2026-08-19). A primitive has no `T8aD` header and so no layer key. Measured - positions are stable **by role**: `palogo_eff0.prm` (opaque backdrop) **first** - on the splash; `pteff02.prm` (25 % dim) at slot **4** on both the title and the - main menu; `pteff00.prm` (transition fade) **last** on both. Nothing in the - file predicts this — any key must live in the 60-byte declaration entry, of - which four words are still unread. **That is the next first step**, and it is - a *static* task now: dump the full declaration entries for these three screens - and look for a word that sorts like the measured orders. - ✅ Input was never the blocker — the game receives the Ⓐ press - (`vk=5800 flags=0001`, measured); four harness bugs were. Boots now reach the - main menu, whose composite scores **0.9591** against a live capture. - ❔ `GP_DIALOG` DIFFICULTY remains unreached: Ⓐ on NEW GAME hits the standing - black-screen hang. - See [`structures/ui-paint-order-key.md`](structures/ui-paint-order-key.md) and - [`ui-paint-order-third-permutation.md`](ui-paint-order-third-permutation.md). +* 🟡 **Where a primitive paints — not in the file; measured and tabled** + (2026-08-19). 🔴 Refuted twice over: the declaration entry's four unread words + are **constant** (`+28`=0, `+36`=0xffffffff, `+56`=0, `+44` a button ordinal), + and the bundle carries **no data at all** for a primitive — the menu build + declares three and has zero RATC children for any of them. The layer comes + from the game's code. ✅ But it is consistent: `pteff02.prm` implies a key in + **(0x8010, 0x8040) on both** screens it appears on, `pteff00.prm` past the + maximum on both, `palogo_eff0.prm` below the minimum. `implied_layer_key` + records those, and `derived_paint_order` now reproduces the **layer-key + sequence of all three measured orders**, primitives included (element-for- + element on 4 of 5 bundle instances; the title differs only inside tied groups). + ❔ **Still open:** primitives whose position has never been measured — + `pzeff00.prm` and `pceff00.prm` are what wipe the 36 builds, which is why + `include_primitives` stays off by default. A capture of any screen carrying one + would close it. + See [`structures/ui-prm-primitives.md`](structures/ui-prm-primitives.md). +* ❔ **The tie-break.** Elements sharing a layer key are painted in an order + nothing predicts — the title's `0x8083` ×5 group paints `14,15,18,16,17` and + the `0x80a0` ×7 group paints `0,2,4,7,1,3,5`. Now the *only* thing between the + derived order and the measured ones, so it is the next cheap static probe: + three measured screens' tied groups against every remaining field. * ❔ **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