From 71d9b73afef201e36d8dc8e7f206592008e1bf9a Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Wed, 19 Aug 2026 07:21:48 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20backlog=20=E2=80=94=20primitives=20draw?= =?UTF-8?q?n=20opt-in;=20their=20paint=20order=20needs=20a=20runtime=20rea?= =?UTF-8?q?d?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/re/BACKLOG.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index 5b1e57a..706d03e 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -102,11 +102,21 @@ See [`structures/ui-composable-bundles.md`](structures/ui-composable-bundles.md) 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. +* 🟡 **The `.prm` quads are drawn, opt-in** (2026-08-19). + `ComposeOptions::include_primitives` / `screen render --primitives`. On the + 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. ← next, and it needs the emulator.** A primitive + has no `T8aD` header, so no layer key, and the derived order forces the keyless + last — which wipes **36 of the 125** builds that draw one (`GP_DIALOG`'s + `pzeff00.prm` is a single opaque-black full-screen keyframe). No constant + default works: the splash paints its primitive **first** (a black backdrop), + the title paints one at slot **4** and another **last**, and declaration order + fails the title too. Cheapest first step: a third measured paint order from a + screen carrying exactly one primitive — the `GP_DIALOG` DIFFICULTY box, which + is reachable from the main menu, would say whether its dim is first or last. + This is a runtime child-list read, so it is an emulator item, not a static one. * ❔ **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