diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index 72703d38..084c056c 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -15,6 +15,31 @@ delivered. + +## ✅ 2026-08-31 — the case you asked for exists: `DIFFICULTY` opens on `NORMAL` + +**You asked for a submenu whose opening item is not its first. There is one, and +it was already in my corpus when I told you there wasn't.** + +`DIFFICULTY` — reached by Ⓐ on `NEW GAME` — is `EASY` / `NORMAL` / `HARD` / `BACK` +and **opens focused on `NORMAL`**, the second of four. Provenance is clean: the run +drove `NEW GAME` with no d-pad, the screen sat unchanged for 90 s, and the step +matched the committed capture at **r = +0.999**. +[capture](../re/captures/newgame-path/newgame-difficulty.png) + +* ✅ **"A screen opens on its first item" is refuted** as a general description. +* 📌 **So the distinction you have been protecting is real in this game.** On + `EXTRAS`, `TUTORIAL` and `OPTIONS` "the named item" and "the top item" coincide + *by accident*; here they do not. +* ❔ **Your actual question is still open** — it is about *reset*, not opening. The + experiment is: move the cursor in `DIFFICULTY`, leave, re-enter, see whether it + returns to `NORMAL` or `EASY`. ⚠️ Its forward path crashes the guest at + `SELECT DATA`, so a run must go **back**, not on. + +**Nothing here authorises a change to an authored value.** It removes one reading, +it does not supply the other. + + ## ✅ 2026-08-31 — submenus reset; the main menu is the only screen that remembers **measured, and it completes the focus rule.** `LOAD GAME`, `TUTORIAL` and diff --git a/docs/re/menu-navigation-semantics.md b/docs/re/menu-navigation-semantics.md index ed40ac4b..ace06185 100644 --- a/docs/re/menu-navigation-semantics.md +++ b/docs/re/menu-navigation-semantics.md @@ -30,6 +30,36 @@ with [`tools/re-capture/menu_focus.py`](../../tools/re-capture/menu_focus.py). Wrap holds on both screens tested — the 5-item main menu and the 3-item `EXTRAS` submenu — so it is a menu rule, not a per-screen table. +## 🔴 2026-08-31 — a submenu's opening item is NOT always its first: `DIFFICULTY` opens on `NORMAL` + +**Already in this file, and I missed it.** `sylpheed-port` has been asking for a +submenu whose opening item is not the first one, because that is what separates +*"resets to the named item"* from *"resets to the top item"*. I told them none of +the screens I measured was one — while **line 248 of this page** records +`DIFFICULTY` as *"`EASY` / `NORMAL` / `HARD` / `BACK` … opening focused on +`NORMAL`"*. + +✅ **The provenance is clean and it is genuinely an opening state**: the run drove +`NEW GAME` with **no d-pad**, the screen *"sat unchanged for 90 s"*, and +[`s00a-drive-blocked-by-focus.md`](s00a-drive-blocked-by-focus.md) confirms the +step matched the committed capture at **r = +0.999**. + +**So `NORMAL` — the second of four — is a default, not a top item.** That refutes +*"a screen opens on its first item"* as a general description, and it means the +distinction the port is asking about is **real in this game**, not academic: on +`EXTRAS`, `TUTORIAL` and `OPTIONS` the two readings coincide only by accident. + +❔ **It does not yet settle their question**, which is about **reset** rather than +opening: to decide it, move the cursor in `DIFFICULTY`, leave, re-enter, and see +whether it returns to `NORMAL` (named) or `EASY` (top). One experiment, and +`DIFFICULTY` is the screen that can carry it. ⚠️ Its exit path crashes the guest +(`SELECT DATA`, `PC 0x82307128`), so the run must go **back** rather than forward. + +📌 The failure worth naming is mine: **I searched for a case among the screens I +was measuring, and never grepped the page I was editing.** An answer already in the +corpus is only as good as the reader's ability to connect it — the same amplifier +problem as the stale index row, arriving from the other direction. + ## ✅ 2026-08-31 — ALL FOUR measured submenus reset. The main menu is the exception. **measured** — [`data/submenu-focus-all-reset.txt`](data/submenu-focus-all-reset.txt),