diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index e0d59d6..75cac0b 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -197,8 +197,20 @@ See [`structures/ui-composable-bundles.md`](structures/ui-composable-bundles.md) standing in for a field β€” there is no field. ❔ Still open: the `.rat` record, the RATC child stream, or the game's code. See [`structures/ui-rat-layout.md`](structures/ui-rat-layout.md). -* ❔ **What makes a bundle a screen rather than a fragment.** `is_composable` - admits 1 786 extra bundles, mostly 2–5-element button+glow fragments. +* πŸ”΄ **What makes a bundle a screen rather than a fragment β€” not the header** + (2026-08-24). Swept over all **2 859** composable bundles: **no bit** of the + flags word at `+0x10` labels a screen (best is bit 13 at **44 %** full-screen + against a **12.8 %** base; the commonest bit is set on **91 %** of everything). + The population really is mostly fragments β€” element counts min 1, **median 2**, + p95 23, max 56, and only **365** carry a full-screen element β€” so the + separation is *shape*, or which bundle references which, and the PAK cannot + answer the latter directly because its entries are name-hashed. + βœ… **By-product:** the header is not dead space. `+0x18`/`+0x1c` are the + **design resolution** (1280/720 on 98.7 %, asserted), and 🟑 `+0x04` takes only + `0x3C0000`/`0x1E0000` β€” exactly **60.0/30.0 in 16.16** β€” with `+0x08` at + 30/1200/120/60, i.e. a frame rate and a duration in frames. That last reading + is from the values alone and is unverified against an animation. + See [`structures/ui-rat-layout.md`](structures/ui-rat-layout.md). * 🟑 **What `opt ` links β€” a recordβ†’record reference** (2026-08-24, measured disc-wide and asserted). All **1 467** links reachable from a declaration table resolve to a **RATC child of their own bundle**, all are `.rat β†’ .rat`, none