From 9ca1eb50fdcb46a2c1f61ca89088ce2a3f52c00e Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Sat, 29 Aug 2026 08:19:23 +0000 Subject: [PATCH] re(ui): answer four of the port's five asks -- splash, fade-out, focus, gamma MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1 SPLASH ADDRESSING (was blocking P3). No content predicate exists: design size fails (every extra composable bundle sampled is 1280x720, like every screen) and element count fails (fragments run 2..15, the splash halves are 3 and 7). But GP_TITLE needs none -- `--all` adds exactly four bundles there and all four are real screens, with the --all index equal to the pak entry index 1:1. And there are TWO splash screens: 11/14 are the developer logos, 10/13 are the SQUARE ENIX publisher wordmark, which the port did not have and which the boot shows first. 2 FADE-OUT (was blocking P3). It is (a), and it is bigger than the fade quad. Every element ends on exactly ONE untimed keyframe, which rules out (b); that block is where the screen plays out -- quad to a=255, buttons/labels/glows to a=0, frames hold. (c) is refuted by a null test that discriminates: a black quad alone holds the button/background brightness ratio constant, and through the fade it falls 6.50 -> 1.94, 3.4x monotonic. 3 FOCUS (saves P5 rework). Over-vs-instead is unobservable -- the focused sprite covers the base at 100.0% of base-visible pixels on three pairs once aligned (true offset (7,7); the centre alignment reads a misleading 78-84%), and compositing both ways differs by RMSE 1.1 inside the button rect. The real defect is the focus record's SECOND element: ptbtn0Nf.rat declares ptbtneff01.t32 (a 42x46 glowing ring, focus only) plus the bright label, where the base declares one sprite. That ring is the marker the port draws nowhere. 5 GAMMA. The capture is not neutral: capture ~ 255*(render/255)^g, g ~ 1.34-1.49, and the chain says it is a ramp the GAME installed, not a capture artefact. So RMSE against captures has a floor. Reach stated: the flat patches are all dark (render ~0-60), so midtones and highlights are unconstrained. 4 ROTATION is a human's call and is recorded in MISSION, not acted on -- the port rotating while the reference renderer does not would make verify-screen report a large diff meaning "the port is right". The RE half is answered: rotation is about the declared pivot, measured against a GPU capture. The focus record's +20 element-count word is marked ๐ŸŸก not โœ… -- read on GP_TITLE's ten button records only; the disc-wide check is written and still running. --- docs/port/HANDOFF.md | 70 +++++++++++ docs/port/MISSION.md | 22 ++++ .../splash-both-halves-rendered.png | Bin 0 -> 65347 bytes .../button-base-focus-ring-sprites.png | Bin 0 -> 23821 bytes docs/re/screen-transitions.md | 53 +++++++++ docs/re/structures/ui-button-focus-record.md | 111 ++++++++++++++++++ docs/re/ui-splash-addressing.md | 70 +++++++++++ 7 files changed, 326 insertions(+) create mode 100644 docs/re/captures/title-builds/splash-both-halves-rendered.png create mode 100644 docs/re/captures/ui-layout/button-base-focus-ring-sprites.png create mode 100644 docs/re/structures/ui-button-focus-record.md create mode 100644 docs/re/ui-splash-addressing.md diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index e8988292..b69d0aef 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -41,6 +41,76 @@ authored version can be deleted. ## Already settled โ€” the port can rely on these today +### โฌ… Answers to the port's five asks (2026-08-29) + +* **1 โ€” how to recognise the splash.** โ” **No content rule exists; you are + authoring this.** Design size fails (every extra composable bundle sampled is + 1280ร—720, same as every screen) and element count fails (the fragments run + 2โ€ฆ15 elements, the splash halves have 3 and 7 โ€” the ranges overlap). + โœ… **But `GP_TITLE` needs no rule.** There, `--all` adds exactly **four** + bundles and all four are real screens โ€” no fragments at all โ€” and the `--all` + index equals the pak **entry** index 1:1 across all 16, so addressing by entry + index does not mean something different from elsewhere. + ๐Ÿ”ด **And there are TWO splash screens; you have one.** Entries **11/14** are the + developer logos (GAME ARTS / SETA / studio anima). Entries **10/13** are the + **SQUARE ENIX publisher** wordmark โ€” the *first* thing the boot shows โ€” and you + do not have them. The pairs are region twins (`โ„ข` on 10, `ยฎ` on 13). All four + draw every element they declare. + [`ui-splash-addressing.md`](../re/ui-splash-addressing.md) ยท + [render grid](../re/captures/title-builds/splash-both-halves-rendered.png) + +* **2 โ€” the ~0.4 s fade-out is (a)**, and it is bigger than the fade quad. + Every element of a screen ends on **exactly one** untimed keyframe โ€” so there + is one unknown duration per screen, which rules out (b). That final block is + where the screen plays out: the quad goes `a=255` (black) while the buttons, + `ptmsg` and the glows go `a=0` and the two frames hold. (c) is refuted by a + null test on the capture: a black quad alone keeps the buttonรทbackground + brightness **ratio constant**, and measured through the fade it falls + **6.50 โ†’ 1.94, a 3.4ร— monotonic drop**. So: write one authored constant + (~0.4 s / ~24 units) and **play the group to its end on every element** โ€” do + not fade a black rectangle over a frozen screen. + [`screen-transitions.md`](../re/screen-transitions.md) + +* **3 โ€” focus: your choice is fine, and it is not your bug.** โœ… The focused + sprite **completely covers** the base โ€” `f` alpha โ‰ฅ base alpha at **100.0 %** of + base-visible pixels on three pairs across both languages, once aligned properly + (the true offset is **(7,7)**, and at the centre alignment it reads a + misleading 78โ€“84 %). Compositing both ways differs by **RMSE 1.1 inside the + button rectangle**, max 12/255 on ~25 px โ€” unmeasurable at frame level. + ๐Ÿ”ด **What you are actually missing is the focus record's SECOND element.** + `ptbtn0Nf.rat` declares **two** sprites โ€” `ptbtneff01.t32` (a 42ร—46 **glowing + ring**, focus only) then `ptbtn0Nf.t32` (the bright label) โ€” where the base + record declares one. That ring is the marker you say you draw nowhere. โš ๏ธ Note + the small dot-in-circle at each underline's left end is *not* it: that is on + every button all the time, part of the base art. + [`structures/ui-button-focus-record.md`](../re/structures/ui-button-focus-record.md) + +* **4 โ€” rotation: not mine to decide alone.** Raised with the human; see + MISSION. What I can say without a decision: the two sub-questions are not + equally open. Rotation is about the **declared pivot** โ€” that anchor is + *measured*, not assumed: the title's two `ptloop` sweeps scale 600 %/800 % + vertically, where the pivot term is worth 450 and 630 px, and the GPU capture + puts both quad centres at y **359.1**/**360.0** against the pivot formula's + **360.0**; top-left anchoring predicts 810/990 and centre-as-position 270. So + if you draw rotation, rotate about the declared pivot. + โš ๏ธ It changes nothing on your five screens **at rest** โ€” they have zero + top-level rotations, and the title's two nested ones sit entirely off-screen at + rest. [`structures/ui-keyframe-rotation.md`](../re/structures/ui-keyframe-rotation.md) + +* **5 โ€” the capture is not gamma-neutral, and RMSE against it has a floor.** + Measured on flat patches (16ร—16, both images `std < 8`): + `capture โ‰ˆ 255ยท(render/255)^ฮณ` with **ฮณ โ‰ˆ 1.49** (main menu), **1.49** + (`EXTRAS`), **1.34** (title). The chain says this is a ramp **the game + installed**, not a capture-path artefact: canary's swap-path gamma stage is a + pure 256-entry LUT that defaults to identity, and the game is measured calling + `VdGetCurrentDisplayGamma` once at video init. โš ๏ธ **Reach: the flat patches are + almost all dark (render ~0โ€“60), so nothing here constrains midtones or + highlights** โ€” which is where ฮณ 1.4 does its visible work. So: yes, there is a + floor; a ฮณ โ‰ˆ 1.4 darkening gets closer and is **authored**, best applied where + it was measured rather than extrapolated. Do not chase RMSE below it. + [`structures/ui-render-tone-curve.md`](../re/structures/ui-render-tone-curve.md) + + * **`GP_TITLE.pak` is eight screens, each shipped twice โ€” English and Japanese.** Build 4 is the English title art and 7 its Japanese twin; **2/3 are the `PRESS โ’ถ BUTTON` plate, a build of their own** composited over the title and diff --git a/docs/port/MISSION.md b/docs/port/MISSION.md index 82aaf612..2a9572f9 100644 --- a/docs/port/MISSION.md +++ b/docs/port/MISSION.md @@ -208,6 +208,28 @@ settled and only multi-keyframe absolute timing is open; `rest()` differs from its alternative on **one** element across all five screens, and the current answer there is the defensible one. +## ๐Ÿ”ต Needs a human decision โ€” rotation (raised 2026-08-29) + +The port agent asks whether it should **render** `rotation_deg` (decoded at +keyframe `+12`) when `sylpheed-cli screen render` deliberately does not. Its own +framing is the reason this is not mine to settle: if the port rotates and the +reference renderer does not, then `verify-screen` reports a large title diff that +means *"the port is right"* โ€” a silently inverted signal. + +The RE half is answered and is in HANDOFF: rotation is about the **declared +pivot** (measured against a GPU capture, not assumed), and it changes nothing on +the five screens **at rest**. + +What needs a decision is which way the divergence gets closed: + +* teach `ui_layout::blit` a rotating path, so the two renderers stay comparable + and the diff keeps meaning "someone is wrong" โ€” costs work in the reference + renderer, which is otherwise not on the port's critical path; or +* let the port render rotation and mark the title as a known-divergent screen in + `verify-screen`, accepting a check that no longer guards the title. + +Recorded rather than chosen, per "do not improvise around a blocker". + ## Known unknowns โ€” say so, do not fill them in Some of these may turn out to be undecodable. That is a valid, useful answer, and diff --git a/docs/re/captures/title-builds/splash-both-halves-rendered.png b/docs/re/captures/title-builds/splash-both-halves-rendered.png new file mode 100644 index 0000000000000000000000000000000000000000..5aacb99ea0fec0082e0712e0c7a4101a31a7bda3 GIT binary patch literal 65347 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 TPGP5F&H*iT{o5tCY(oAIRM|g! literal 0 HcmV?d00001 diff --git a/docs/re/screen-transitions.md b/docs/re/screen-transitions.md index b4428b2e..5a2fe3ff 100644 --- a/docs/re/screen-transitions.md +++ b/docs/re/screen-transitions.md @@ -115,3 +115,56 @@ screen's build-in is a separate, longer thing. quad); * the ~0.4 s fade-out and the black hold are **authored from this page** โ€” the disc does not carry them. + +## โœ… Which quantity the ~0.4 s is โ€” measured 2026-08-29 + +Asked by the port: is 0.4 s **(a)** the ramp from the hold to the exit pose, i.e. +exactly the missing duration of that untimed keyframe, **(b)** several keyframes' +worth, or **(c)** something the game does independently of the group? + +**It is (a)** โ€” and it is bigger than the fade quad. Two facts. + +**1. There is exactly one untimed keyframe, and every element has it.** Reading +`screen info --build 5 --geometry` for the main menu, all 16 elements end on a +single timeless block; none has two. So there is one unknown duration per screen, +not a chain of them โ€” which rules out (b) outright. And that final block is not +idle: it is where the screen *plays out*. + +| elements | final untimed block | what it does | +|---|---|---| +| `pteff00.prm` (the fade quad) | `a = 255` | goes **black** | +| `pteff10`, `pteff12`, `ptbtn01โ€ฆ05`, `ptmsg` | `a = 0` | **fade out** | +| `ptframe1`, `ptframe2` | `a = 255` | hold, and get covered | +| `ptbase`, `pteff05`, `ptloop*`, `pteff02.prm` | single keyframe | hold | + +**2. The capture shows the content fading, not just a black quad arriving.** This +has a null hypothesis that discriminates: under (c) โ€” the game blackens the frame +independently โ€” every region is scaled by the same `1 โˆ’ ฮฑ`, so the **ratio** +between a button region and a background region is *constant* through the +fade-out. Under (a) it must fall, because the buttons ramp to `a = 0` while the +background elements hold at 255 and are only dimmed. + +Measured on [`transition-filmstrip.png`](captures/transitions/transition-filmstrip.png), +button column รท upper-right background art, frame by frame through the fade-out: + +``` +frame 0 1 2 3 4 5 +ratio 6.495 5.574 3.105 2.125 1.935 (black) +``` + +**A 3.4ร— monotonic fall.** Constant is refuted. The buttons really are fading +independently of the overall dim, exactly as their declared final block says. +(The incoming screen runs it in reverse, 2.22 โ†’ 3.47 over frames 7โ€“12.) + +โš ๏ธ **Reach.** The filmstrip is downsampled and the "button" region unavoidably +contains some background, so the ratio is a direction, not a clean alpha +measurement. It refutes the constant-ratio null decisively; it does not by itself +pin the 0.4 s to ยฑ0.05 s. And it is measured on **one** transition pair. + +### For the port + +Write **one** authored constant โ€” the duration of the final untimed keyframe, +~0.4 s / ~24 units โ€” and **play the group to its end on every element**. Do not +model the exit as a black rectangle fading over a frozen screen: the buttons and +labels ramp to transparent at the same time, and that difference is visible. + diff --git a/docs/re/structures/ui-button-focus-record.md b/docs/re/structures/ui-button-focus-record.md new file mode 100644 index 00000000..10652f63 --- /dev/null +++ b/docs/re/structures/ui-button-focus-record.md @@ -0,0 +1,111 @@ +# โœ… A focused button is a **two-element record**, and the second element is the ring + +**Status:** ๐ŸŸก `DECODED for GP_TITLE`, disc-wide check **not yet run**; the +sprite contents and the ring are โœ… `MEASURED` against a live capture. Answers the +port's *"focus: drawn over the base element, or instead of it?"* + +โš ๏ธ The element-count field at `+20` is read here on **`GP_TITLE`'s ten button +records only** (five buttons ร— two language bundles). A disc-wide check โ€” +"does `+20` equal the number of resource names the leaf embeds, for every `.rat` +leaf on the disc?" โ€” is written and was still running when this was committed. +Until it lands, treat `+20` as a **strong local reading, not a decoded field**: +the *observable* claim below (the focus record carries a second sprite, +`ptbtneff01.t32`, and the port must draw it) rests on the embedded names and the +capture, not on that word. + +**Short answer: it does not matter, and that is not the bug.** The focused sprite +covers the base completely, so over-vs-instead is worth at most 12/255 on ~25 +pixels. What *is* missing is the focus record's **second element** โ€” a glowing +ring that only exists when focused. + +## The record + +A button's base and focused variants are both `.rat` leaves, and they are not the +same shape: + +```text +ptbtn02.rat 164 B strings: RATC, ptbtn02.t32, opt ptbtn02f.rat +ptbtn02f.rat 312 B strings: RATC, ptbtneff01.t32, ptbtn02f.t32, opt ptbtn02b.rat +``` + +The header says so explicitly. A `.rat` leaf begins: + +```text ++0 "RATC" ++16 u32 flags 0x00008110 (base) 0x00008112 (focused) ++20 u32 ELEMENT COUNT 1 2 ++32 first element name +``` + +So the focused record declares **two** elements โ€” `ptbtneff01.t32` first, then +`ptbtn0Nf.t32` โ€” where the base declares one. Both `f` records of both language +bundles read the same way, and the flag word differs only in bit `0x02` +alongside the count. + +โš ๏ธ The `opt ` link on a `.rat` leaf is **not** simply "my focused variant". The +chain runs `ptbtn01.rat โ†’ ptbtn01f.rat โ†’ ptbtn02.rat โ†’ ptbtn02f.rat โ†’ +ptbtn02b.rat`, i.e. it threads base and focused records together in order. The +corpus calls it the focus link and for a *base* record that reading works; do not +generalise it to the `f` records. + +## The three sprites + +Decoded with `sylpheed-cli pak textures`, shown over a checkerboard in +[`button-base-focus-ring-sprites.png`](../captures/ui-layout/button-base-focus-ring-sprites.png): + +| sprite | size | what it is | +|---|---|---| +| `ptbtn02.t32` | 117ร—43 | the **dim** label, its underline, and a small dot-in-circle at the underline's left end | +| `ptbtn02f.t32` | 130ร—56 | the **same label, bright and glowing** โ€” a complete replacement, 13 px larger in each axis | +| `ptbtneff01.t32` | 42ร—46 | a **glowing ring**, focus only | + +The small dot-in-circle is on **every** button all the time; the large ring is +the focus marker. They are different things and sit side by side on the focused +row โ€” visible in +[`live-main-menu-options-focused.png`](../captures/title-builds/live-main-menu-options-focused.png) +against +[`live-main-menu.png`](../captures/title-builds/live-main-menu.png). + +## Over or instead? Measured, and the answer is "unobservable" + +Aligning base and focused by normalised cross-correlation of their alpha masks โ€” +the true offset is **(7,7)**, not the (6,6) that centring predicts โ€” + +| pair | base-visible px | `f` alpha โ‰ฅ base alpha there | +|---|---|---| +| `ptbtn02` / `f` (bundle `b58a0fe6`) | 1 444 | **100.0 %** | +| `ptbtn01` / `f` (bundle `b58a0fe6`) | 1 898 | **100.0 %** | +| `ptbtn02` / `f` (bundle `a715f485`) | 3 720 | **100.0 %** | + +โš ๏ธ **At the centre alignment it reads 78โ€“84 %, and that number is an artefact.** +A 1 px shift on strokes this thin manufactures a fifth of a sprite's worth of +"the focused art is thinner here". Solve the alignment before trusting a coverage +figure. + +Coverage is not the same as hiding, though, because `f` is not fully opaque +everywhere. Compositing both ways over the menu's own background colour: + +| pair | max channel difference | px > 8/255 | RMSE over the button rect | +|---|---|---|---| +| `ptbtn02` | 12.5 | 23 | 1.09 | +| `ptbtn01` | 12.2 | 27 | 1.08 | +| `ptbtn02` (JP) | 12.2 | 27 | 1.05 | + +So the two hypotheses differ by **~1.1 RMSE inside the button rectangle**, on a +couple of dozen pixels โ€” below the โ‰ˆ ฮณ 1.4 tone gap +([tone curve](ui-render-tone-curve.md)) and far below any frame-level RMSE this +corpus can resolve. **Either choice is defensible; neither is measurable.** +Replacing is the cheaper one and is what the file's structure suggests, since +`ptbtn0Nf.t32` is a whole label rather than an overlay. + +## โ” Not established + +* **Where `ptbtneff01.t32` is placed.** The record declares two elements; the + per-element placement inside a `.rat` leaf was not decoded here. The capture + shows the ring **left of** the label, roughly on the underline's left end. + A port should take the offset from the record, and until it is decoded, from + the capture. +* **`ptbtn02b.t32`** โ€” a third variant, `b`, exists for button 02 only, same size + as the base. Not seen on any capture. Not chased. +* Whether a **non-title** archive uses the same two-element convention. Checked + on `GP_TITLE` only. diff --git a/docs/re/ui-splash-addressing.md b/docs/re/ui-splash-addressing.md new file mode 100644 index 00000000..0366613e --- /dev/null +++ b/docs/re/ui-splash-addressing.md @@ -0,0 +1,70 @@ +# โ” How to address the developer-logo splash โ€” no content rule, but `GP_TITLE` needs none + +**Status:** โ” **undecodable as a general predicate, with reach** โ€” and โœ… +**exact for `GP_TITLE`**, which is the only archive in scope. Answers the port's +*"I need a predicate, not an index."* + +## The ask + +The splash has no `.rat` layout child, so `is_build` rejects it and it is +reachable only through `--all` / `is_composable`, which disc-wide also admits +~1 786 non-screen bundles. The port wanted a rule that admits the splash and not +those. + +## โœ… In `GP_TITLE` the problem does not arise + +``` +$ sylpheed-cli screen list GP_TITLE.pak 12 builds โ€” entries 0-9, 12, 15 +$ sylpheed-cli screen list --all GP_TITLE.pak 16 bundles โ€” entries 0-15 +``` + +`--all` adds exactly **four** bundles: entries **10, 11, 13, 14**. All four are +real screens, and **not one fragment appears**. So within this archive +`is_composable` *is* the predicate โ€” it is exact, with no filtering needed. + +โš ๏ธ And the renumbering worry is moot here: in `GP_TITLE` the `--all` index equals +the pak entry index **1:1 across all 16**. That is an accident of this archive +having 16 composable bundles at entries 0โ€ฆ15, not a general property โ€” but it +means the port can address these by entry index without the index meaning +something different from elsewhere. + +## โœ… And there are TWO splash screens, not one + +Rendered with `screen render --all --build --primitives` +([grid](captures/title-builds/splash-both-halves-rendered.png)): + +| entry | elements | what it draws | +|---|---|---| +| **10** | 3 | **SQUARE ENIX** publisher wordmark, `โ„ข` | +| **11** | 7 | **GAME ARTS** / **SETA** / **studio anima** developer logos | +| **13** | 3 | SQUARE ENIX, `ยฎ` โ€” the twin of 10 | +| **14** | 7 | the twin of 11 | + +โš ๏ธ **The port has 11/14 and is missing 10/13** โ€” the publisher half, which is the +*first* thing the boot sequence shows. The two halves differ only by the +trademark glyph (`โ„ข` on 10, `ยฎ` on 13), which is the region/language split this +archive uses everywhere else. + +All four draw every element they declare (3/3 and 7/7), so nothing is silently +dropped. + +## โ” The general rule: looked for, not found + +Two candidate predicates, both dead: + +* **Design size.** Every extra composable bundle sampled is **1280ร—720** โ€” the + same as every screen. It does not separate anything. +* **Element count.** The "two-element fragment" story holds in + `GP_MISSION_SELECT` (10 extras, all 2 elements) and **fails elsewhere**: + `GP_OPTIONS`'s extras have 5 and 15 elements, `GP_SAVE_LOAD`'s have 4, 5, 6, 9 + and 13. The splash's own halves have 3 and 7. The ranges overlap, so no + threshold separates them. + +Reach: three archives sampled beyond `GP_TITLE`, chosen because they have +non-build composables. Not a disc-wide sweep. A rule may exist in a field not +looked at โ€” the `.prm` fade quad is one candidate +([transitions](screen-transitions.md) shows overlays lack it), untested here. + +**So: the port is authoring this.** Locating the splash by entry index is the +honest description, and `name_source` should say it was located by index and not +by a rule.