010 technical and playability record / 2026-10-02

Fun hypothesis: One chosen ignition plus its timing lets the player anticipate a delayed branch, then understand why the chain stopped and voluntarily change one thing on retry. No human enjoyment verdict for 010 has been obtained.

Reproducible layout revisions:
1. Original A left origin0: branch gap sqrt500=22.3607 >22. Targets ARE reachable if starting on either branch; do not claim original A wholly unreachable. Branch x88→87 connects the left pair to both targets.
2. Independent audit found A right endpoint108 still isolated after step1. Changed endpoint only108→106. All five can now ignite, from every origin.
3. Original C all8 origins×180 phases: zero wins. Only branch entrance y values changed48/80→52/76; far endpoints retain48/80. Origin5(index5)150..165 and origin7(index7)60..75 now have16-frame windows. Their timing differs by90frames. Left origin0 cannot solve C at any phase.
4. Static B baseline succeeds all180 ignition frames from origin0. Moving only bridge changes success to144..171 (28frames). Same origin at0 fails. B key reverses this comparison. Bridge-first exact-frame-only success is not an advised solution or hidden requirement; wide side-origin solutions exist.
5. Audit found historical replay was coloring future-lit nodes using final state. Events now store post-event lit/burst/due snapshots and UI uses them, with a regression test. Added sky overview with a traveling formation and visible exit; close-up is explicitly labeled as a tracking camera. No false stationary board/physical-exit claim.

Automated evidence:
python test_model.py:18 tests; pure model thresholds, simultaneous event scheduling, ignition once, no-input end, all authored wins, failed policies, original unreachable C, wide windows, mirror symmetry, deterministic replay, snapshot integrity, static comparison, glyph coverage, ASCII Windows launchers.
python tools/phase_probe.py: all origins ×180 frames (one3-second cycle), original/final, event transcripts.
media/one_breath_auto.mp4: 22-second actual Pyxel2.9.9 headless renderer, 60Hz, labeled AUTO/SILENT. A success, B premature failure, B revised timing success, C different origin success. PNG stills from same renderer. This is not human input.
Encoding regression: PYTHONUTF8=0, PYTHONIOENCODING=cp932, LC_ALL=C.UTF-8, Japanese+spaces directory, /tmp unrelated CWD. Pure tests and real headless renderer smoke run. This simulates encoding/path hazards, not Windows execution.
Every Python source text read/write explicitly names encoding='utf-8'. Glyph data derived from NotoSansCJK under SIL OFL; license included. Runtime has no external font/Pillow dependency.
GUI: actual desktop CUA checked 2026-10-02 17:36–17:41 UTC. A: restart, pause, Space ignored while paused, selection, ignition, 5/5 success, extra Space ignored, step replay, F12 saved native still. B: early ignition failed2/5, replay explained distances; restart+mirror+static comparison reached both targets. C: layout and Up wrap selection8 visually verified, pause/resume and no-input passage end observed. Q exited through full-desktop keyboard API; window-bound instant key did not, a CUA input-duration/path caveat. OS close button also verified. Added explicit Q handler and disabled engine quit shortcut, then verified window disappearance. C success is model/headless-confirmed, not manually timed to success. No human enjoyment test. Sound: intentionally silent; cloud speaker output not verified. Windows native OS: not directly tested.

Still ask people:
What will you change next: origin or time? Which visible movement explained the missed branch? Does the replay clarify the delay or feel like homework? Is the3-second repeat short enough to make trying again attractive? No new mechanics should be added merely to inflate feature count.

Encoding caveat: an extra ASCII-filesystem experiment (LC_ALL=C plus PYTHONUTF8=0) failed inside native Pyxel init when Linux represented Japanese paths as surrogates. This is distinct from CP932 file-content/default-encoding handling. The documented UTF8-filesystem+CP932-stdio run passes; Windows launchers also set PYTHONUTF8=1. Native Windows remains untested.

Human-origin question: Did changing the ignition origin feel meaningful, or like an arbitrary guess? Wide windows apply to side/far-end origins; B bridge-first only succeeds at isolated frames18/108 and is not a forgiving route.
