re: the 2.3 s pulse is the PRESS (A) plate, not the title

Closing the residual I left explicitly unidentified last iteration, and
correcting my own claim twice over in the process.

The cheap test first: is the oscillation global? No -- the bottom-right
corner is flat at sd 0.003 and uncorrelated with the whole frame. So a
per-tile amplitude map over an 8x6 grid, which localises it hard: sd 7.65
in the band x 318..954, y 560..672 at lag 2.3 s, against 0.06 on the
wordmark. That band is the PRESS (A) BUTTON plate's rest position.

Decoding ptbtn00f.rat, the plate's highlight variant, gives the pulse
itself: alpha 0x00 -> 0x06 -> 0x4a -> 0x50, held, then back down through
0x4a to 0x06 across t=6..105. A glow that fades in and out, which is
exactly what a press-start prompt does.

So "the title screen loops at 2.2 s" was wrong in both halves. The title
ART is near-static apart from the two decoded sweeps at 7.5 s and 9.5 s;
what pulses is the PLATE, and the plate is build 2, not build 4. REFUTED
carries it under my own name.

Still amber, and said so rather than rounded off: the cycle LENGTH is not
readable. The keyframe group's last block has no time -- that slot
belongs to the next group -- so the declared span is at least 105 units,
1.75 s, against a measured 2.3 s. Consistent with a final block
extending the tail. Not confirmed.
This commit is contained in:
Sylpheed RE agent
2026-08-28 20:58:49 +00:00
parent 1f3dbfebda
commit 2614cb1192
3 changed files with 57 additions and 16 deletions

View File

@@ -61,19 +61,25 @@ authored version can be deleted.
this milestone changes — every screen in scope is `GP_TITLE` — but do not ship
`kind == 0x3002` as a general button test.
(The kind is the 4th `u32` of the 60-byte declaration entry, at `+40`.)
* **The title screen loops — it is not a still.** After building in, mean
luminance oscillates continuously at ** 2.2 s ± 0.4** (measured, 7 intervals
over a 22 s capture). Build 4 declares `ptloop01.rat`/`ptloop02.rat`, and
`loop*.rat` is a decoded **looping sprite animation**. Drawing the resting
pose and stopping will look wrong.
**The loop records are decoded**: `ptloop01.rat` (an `opt `-linked `RATC` at
`0xbb5966`) sweeps `pteff03.t32` left→right over **450 units = 7.5 s**;
`ptloop02.rat` sweeps `pteff03a.t32` right→left over **570 units = 9.5 s**.
Ordinary 40-byte keyframe blocks from `+0x68`, three keyframes each.
**But those are not the ≈ 2.2 s oscillation** — a 7.5 s cycle gives ~3 peaks
in a 22 s capture and it showed 8. The 2.2 s period is real and its **source is
unidentified**, so expect the title to carry *both* the decoded sweeps and
something else.
* **The title's motion, decoded and attributed.** After building in, the *title
art* is essentially static — a 22 s capture measures the wordmark region at
sd 0.06 and the bottom-right corner at sd 0.003. Two things do move:
***Two slow light sweeps in build 4.** `ptloop01.rat` (an `opt `-linked
`RATC` at `0xbb5966`) sweeps `pteff03.t32` left→right over **450 units =
7.5 s**; `ptloop02.rat` sweeps `pteff03a.t32` right→left over **570 units =
9.5 s**. Ordinary 40-byte keyframe blocks from `+0x68`, three keyframes each.
***The `PRESS Ⓐ BUTTON` plate pulses**, and it is the loudest thing on
screen — a capture's per-tile amplitude map puts **sd 7.65** in the band
x ≈ 318954, y ≈ 560672 against **0.06** on the wordmark. It is
`ptbtn00f.rat`, the plate's highlight variant (build **2**, not build 4),
whose alpha ramps **`0x00 → 0x06 → 0x4a → 0x50` (hold) `→ 0x4a → 0x06`**
across `t = 6 … 105` — a glow that fades in and back out.
🟡 Its full cycle is **not** readable: the keyframe group's last block carries no
time (that slot belongs to the next group), so the declared span is **≥ 105
units = 1.75 s** against a measured **≈ 2.3 s**. Consistent, not confirmed.
⚠️ An earlier version of this bullet said "the title screen loops at ≈ 2.2 s"
and attributed it to `ptloop01/02`. Both halves were wrong: it is the **plate**,
and it is a different build.
* **Menu order is geometric.** Buttons sorted top-to-bottom by resting Y. This is
✅ correct for a vertical menu and is **not** a decoded neighbour graph — the
disc's real navigation structure is unknown, and `opt ` is *not* a focus link

View File

@@ -35,6 +35,11 @@ neighbourhood, not just the line.
## Screens, classes and RTTI
* "the title screen loops at ≈ 2.2 s" → **mine, and doubly wrong.** The title
*art* is near-static (wordmark sd 0.06); the 2.3 s pulse is the
**`PRESS Ⓐ BUTTON` plate**, which is a *different build* (2, not 4). Localised
by a per-tile amplitude map and decoded in `ptbtn00f.rat`.
[`ui-title-build-map.md`](ui-title-build-map.md)
* ~~"a `.rat` leaf record's keyframes use the build's 40-byte layout" → they do
not~~ — **withdrawn.** They do. The scan that "found nothing" required 29
increasing times; the records hold **three**. Decoded in

View File

@@ -255,9 +255,39 @@ The decoded sweeps run **7.5 s and 9.5 s**. A 22 s capture would show ~3 peaks
from a 7.5 s cycle; it showed **8**. So the loops are *not* what the oscillation
measured.
**What the ≈ 2.2 s period actually is remains unidentified.** Candidates not
checked: `pteff01.t32` (`[50 71 118]`), the five `ptlogo_back2eff*` glows, or a
combination. The measurement stands; only its attribution is withdrawn.
### ✅ Identified: it is the `PRESS Ⓐ BUTTON` plate pulsing
A per-tile amplitude map over the capture (8 × 6 grid, 18 s after build-in)
localises the 2.3 s period precisely:
| region | sd | dominant lag |
|---|---|---|
| band x ≈ 318954, y ≈ 560672 | **7.65** | **2.3 s** |
| wordmark centre | 0.06 | — |
| bottom-right corner | 0.003 | — |
That band is the `PRESS Ⓐ BUTTON` plate's rest position (`ptbtn00.rat`, rest
`(383,550)`, pivot `(256,25)`). It is **build 2**, composited over the title — not
build 4.
Decoding `ptbtn00f.rat`, the plate's highlight variant, gives the pulse directly:
| kf | t | alpha |
|---|---|---|
| 0 | 6 | `0x00` |
| 1 | 29 | `0x06` |
| 2 | 35 | `0x4a` |
| 3 | 50 | `0x50` |
| 4 | 58 | `0x50` (hold) |
| 5 | 97 | `0x4a` |
| 6 | 105 | `0x06` |
A glow that fades in to `0x50` and back out — exactly a "press start" pulse.
🟡 **The cycle length is still not readable.** The group's last block has no time
(that slot belongs to the next group), so the declared span is **≥ 105 units =
1.75 s** against the measured **≈ 2.3 s** (138 units). Consistent with a final
block extending the tail; not confirmed.
### ❔ The declared 4.08 s build-in was not tested