From 042fb41fe3f2c374b6d4d626961a5ae5a7ef7c0f Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Wed, 26 Aug 2026 21:10:26 +0000 Subject: [PATCH] backlog: record what the world-unit measurement now actually needs The HUD is reachable and the control is paired; what blocks the measurement is narrower and now named -- two tool defects (entities2.py's VA window covering the definitions rather than the instances, gworld.py's 0x600 instance window) plus the missing piece itself, a locked target whose HUD range and position can be read in the same second. Also records the speed shortcut as refuted so it is not retried. --- docs/re/BACKLOG.md | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index 0e38a54..4b180dc 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -98,11 +98,27 @@ through `MISSION SELECT` scan 0/0; the route that populates the world is OFF**, which is what `structures/unit-struct-runtime.md` used when the constants were first derived. -What remains for the measurement itself: this run reached the mission but the -flight **HUD was not yet up** (green 0.03 %, against 1.3–1.5 % in flight), so -there was no on-screen distance readout to compare world-unit positions against. -Next attempt: get to a live HUD, then read a target's position triple and the -HUD's own distance to it. +✅ The HUD is now reached too, and the control is paired — see +[`world-unit-attempt-2026-08-26.md`](world-unit-attempt-2026-08-26.md). Getting +there needs two steps no script had: `START` skips the post-take-off cutscene, +and a modal *"tell you your objective?"* dialog **dims the whole frame** (so the +classifier reads `other` and liveness looks like a stall) until Ⓑ/NO answers it. + +Two tool defects were measured on the way, and both must be fixed before the +measurement will work: +* `entities2.py`'s `ENT_VA_LO/HI` = `0xBD000000`–`0xBE000000` contains **no live + instance** (they sit at `0xBC384CE0`–`0xBC9BAC20`); it covers the + **definitions** instead. Rescoped to the instance region, `find_delta`'s + `±0x400` radius yields **zero** votes. +* `gworld.py`'s `WINDOW = 0x600` is too small — no position-like triple moves in + the first `0x600` bytes of any of the 42 instances. `0x4000` finds one at + `+0x29d0` (🟡 one offset, one instance, one sample). + +❔ What is still owed is the unit itself: lock a target so the HUD prints a +numeric range, then read that range and both position triples in the same second. +❌ Do not use speed as the corroboration — 116.6 units per 0.6 s wall-clock +against the HUD's `350` looks like a free answer, but the emulator is not +real-time under lavapipe, so the denominator is unknown. ---