From 58069e398dafec05b92008a244e7e88d0cf0c2c6 Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Sun, 30 Aug 2026 18:07:54 +0000 Subject: [PATCH] re: sweep the SILENT instruction surface -- 5 files still named a dead gate sylpheed-port refined my ranking: rank silent instructions above loud ones. All of theirs were loud -- wrong paths that error out and announce themselves -- while mine was silent: an inert env var returning a clean, wrong result. Only the silent kind manufactures evidence. The silent surface is enumerable, so this is a sweep rather than a sample: every environment variable the docs name, checked against the code. SYLPHEED_KF_TIME_SHIFT was still live in FIVE doc files after I fixed one last iteration. Two of the five were genuine hits rather than historical quotes: ui-resting-pose.md -- a RESULTS TABLE ROW labelled "with SYLPHEED_KF_TIME_SHIFT=1". Re-running it sets an inert variable, produces the DEFAULT row, and lets a reader conclude the two readings agree. A stale instruction inside a results table is the purest form of the evidence- manufacturing class. HANDOFF.md -- "experiment reachable via SYLPHEED_KF_TIME_SHIFT=1", a live instruction in the delivery contract. And a live gate exists under a DIFFERENT NAME that the docs never pointed at: SYLPHEED_KF_TIME_LEGACY, verified read at ui_layout.rs:595 -- the parser itself, not only the tests, so it does reach screen info and screen render. Both hits now redirect there. Beware the proxy, which is the trap the port named about their own "parsed" check: absent-from-code also flags SYLPHEED_DISC, XENIA_SRC and SYLPH_ISO, which are container paths the brief sets and no code reads. Absent-from-code is necessary, not sufficient, and I checked each rather than reporting the seven raw hits. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- docs/port/HANDOFF.md | 7 ++++++- docs/re/structures/ui-resting-pose.md | 11 ++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index 5349822a..06db8811 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -1996,7 +1996,12 @@ discovered it after re-exporting. ❔ The sweeps may simply be a small term, and this element to the visibly wrong answer, so it and a decision about plateau-less elements have to land together, and neither half has a capture to verify against. - **Default unchanged**, experiment reachable via `SYLPHEED_KF_TIME_SHIFT=1`. + **Default unchanged**, experiment reachable via `SYLPHEED_KF_TIME_LEGACY=1`. + ⚠️ **This line said `SYLPHEED_KF_TIME_SHIFT=1` until 2026-08-30** — a variable + removed with the record-layout fix. Setting it does nothing and yields the + default, so the instruction would have produced a clean, wrong confirmation + rather than an error. `SYLPHEED_KF_TIME_LEGACY=1` is the live gate + (`ui_layout.rs:595`). **What this means for you:** the interpolation *law* is settled (linear, 2 units/frame); a multi-keyframe group's *timing* is not — do not expect a 2-frame hold where the game holds 83. diff --git a/docs/re/structures/ui-resting-pose.md b/docs/re/structures/ui-resting-pose.md index 7c06ada8..b431b25e 100644 --- a/docs/re/structures/ui-resting-pose.md +++ b/docs/re/structures/ui-resting-pose.md @@ -609,7 +609,7 @@ end of that movement the indexing lands on: | | returned "rest pose" | |---|---| | as decoded | `(108,72) 0%,0% a=0` — invisible | -| with `SYLPHEED_KF_TIME_SHIFT=1` | `(108,72) 200%,200% a=255` — the peak | +| with `SYLPHEED_KF_TIME_LEGACY=1` ⚠️ | `(108,72) 200%,200% a=255` — the peak | An 896×389 sprite at 200 % scale is 1792×778 — larger than the screen. Painting it permanently is what made build 7's render 13.1 % different and 4.9 luminance @@ -1189,3 +1189,12 @@ rests. keyframe timing now supports ([time unit](../ui-keyframe-time-unit.md)). Use a static composite for the title, main menu and `EXTRAS`, where the screen does settle and `rest_plateau` is measurably right. + + +⚠️ **The row above said `SYLPHEED_KF_TIME_SHIFT=1` until 2026-08-30.** That gate +was removed with the record-layout fix and reading it back would have set an inert +variable, produced the DEFAULT row, and let a reader conclude the two readings +agree — a stale instruction inside a results table, which is the form that +manufactures evidence rather than merely misleading. The live equivalent is +`SYLPHEED_KF_TIME_LEGACY=1`, read in `ui_layout.rs:595` (the parser itself, not +only the tests, so it does reach `screen info` and `screen render`). \ No newline at end of file