diff --git a/docs/port/MISSION.md b/docs/port/MISSION.md index 432c8b06..b61e0e0c 100644 --- a/docs/port/MISSION.md +++ b/docs/port/MISSION.md @@ -77,7 +77,23 @@ alongside it. | **Q10** | **What are a music bank's sub-waves?** `BGM_001.slb` is three sub-waves — 10 KB, 4.47 MB, 4.67 MB — and we currently **concatenate them blindly** into one 347 s track. Two near-equal halves could be intro + loop, or two variations, or two halves of one piece. A menu that loops its music needs to know which | The role of each sub-wave, established for at least the menu BGM. "Concatenate" is a decision, not a default — right now it is a default nobody chose | | **S1** | ~~**Ready Room probe.**~~ **DONE 2026-08-28 — [no-go](../re/ready-room-probe.md).** It is 2D and enumerates fine, but the pak is briefing/tactical-map content, not the Ready Room menu | ✅ go/no-go written | -## 🔴 Emulator-side questions are blocked — the title is not reachable here +## ✅ Emulator-side questions are NOT blocked — corrected 2026-08-30 + +⚠️ **This heading read "🔴 Emulator-side questions are blocked — the title is not +reachable here".** That is false and has been for some time: **twelve** emulator +runs on 2026-08-30 reached the settled title, gated on the plate pulse, and drove +it into the menu, `EXTRAS` and out of the archive. `HANDOFF.md` recorded the +banner as withdrawn; this document did not, and it is the one the brief says to +read **every iteration**. + +📌 **The two items this section named are UNBLOCKED, not answered** — a distinction +worth keeping: the gamma control behind +[tone curve](../re/structures/ui-render-tone-curve.md), and separating `8AX` from +`ptbase` in [8AX](../re/structures/ui-8ax-fullres-background.md). Both need a +running menu, both now have one, and **neither has been attempted**. + +The original section is kept below for the record, demoted so it cannot be read as +current. **Status 2026-08-29, instrument-verified.** Two open items need a running menu: the gamma control behind [tone curve](../re/structures/ui-render-tone-curve.md), @@ -100,7 +116,24 @@ reachable from this container on 2026-08-28. Clearing the shader cache fixed a including three earlier "the title never appears" claims that were withdrawn because the instrument was broken each time. -## 🟡 Needs one more run — a Japanese-locale capture +## ✅ The Japanese-locale capture was taken — TWICE. Corrected 2026-08-30. + +⚠️ **This heading read "🟡 Needs one more run — a Japanese-locale capture", and the +text below calls it "one capture we cannot take".** Both are false. +[`live-title-jp-at-rest.png`](../re/captures/title-builds/live-title-jp-at-rest.png) +and [`-run2`](../re/captures/title-builds/live-title-jp-at-rest-run2.png) are +committed, from two independent sessions, via +[`jp_title_session.sh`](../../tools/re-capture/jp_title_session.sh) which sets the +console language and always restores it. + +📌 **And both questions it was blocking are closed** — Q1's association by the +[record-layout fix](../re/ui-keyframe-record-layout.md), and `rest()` for a +plateau-less element by a 1 036/1 036 discriminator, then **confirmed against this +very capture**: the corrected pose scores RMSE 41.69 where the stale one scores +58.41 ([`ui-resting-pose.md`](../re/structures/ui-resting-pose.md)). + +⚠️ I noticed this section was stale several iterations ago, said so in a message, +and did not fix it. Kept below, demoted. Recorded rather than worked around, per "do not improvise around a blocker". @@ -208,7 +241,21 @@ 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) +## ✅ Rotation — the decision was TAKEN and implemented. Corrected 2026-08-30. + +⚠️ **This heading read "🔵 Needs a human decision — rotation (raised 2026-08-29)".** +It was answered the same day it was raised: `HANDOFF.md` records *"OPTION A IS +DONE. The reference renderer rotates"*, and `ui_layout.rs` carries the rotated blit +with a control test (`rotation_control_known_angles`) pinning it against angles +whose answer is arithmetic — 0° and 360° byte-identical to the unrotated path. + +✅ **And the field itself is now confirmed from the ORACLE, not just decoded.** The +port's `rotation_deg` of **+30** on `pteff03` and **−45** on `pteff03a` predict a +rotated quad's AABB height at 1135.3 and 1301.1; the game's draw stream measures +**1134** and **1303** — both under 0.2 % +([`data/title-sweep-drawn-at-rest.txt`](../re/data/title-sweep-drawn-at-rest.txt)). + +The original section is kept below, demoted. The port agent asks whether it should **render** `rotation_deg` (decoded at keyframe `+12`) when `sylpheed-cli screen render` deliberately does not. Its own diff --git a/docs/re/METHOD.md b/docs/re/METHOD.md index f34dd67f..068a48be 100644 --- a/docs/re/METHOD.md +++ b/docs/re/METHOD.md @@ -581,6 +581,20 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the token* (`e10`), *write the source into the claim*. Put the qualifier in the text, never in the reader's memory. +* 🔴 **Audit the document that defines the objective — it is the one nobody + audits.** `MISSION.md` is read every iteration by both agents and had **three + stale section headings**: *"🔴 Emulator-side questions are blocked — the title is + not reachable here"* (twelve runs reached it that day), *"🟡 Needs one more run — + a Japanese-locale capture"* describing *"one capture we cannot take"* (taken + twice, both committed), and *"🔵 Needs a human decision — rotation"* (decided and + implemented the day it was raised, with a control test in the crate). + ⚠️ Each had been superseded in `HANDOFF.md` and nowhere else. **A document that + is only ever read for instructions is never read for review** — and the more + central it is, the more often it is consulted and the less often it is checked. + 📌 Correct the *facts* in such a document and leave its questions and gates + alone: keeping it true is maintenance, changing what it asks would be + overstepping. + ## Runtime / emulator * **Look at the PNG** — and check its dimensions.