From 0664cba92506560c8a2ce7089db25a3811f30d46 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 12 Jun 2026 11:45:41 +0200 Subject: [PATCH] #112 CLOSED: threshold tick-skip absorbing state fixed by the retail growing-walk port (user-gated 2026-06-12) --- docs/ISSUES.md | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/docs/ISSUES.md b/docs/ISSUES.md index f5ba2961..4938d1ab 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -3767,13 +3767,33 @@ stable now; this is a draw-order/depth oscillation localized to the door surface ## #112 — A9B3 hill cottage: containment gap inside the house demotes to outdoor with no re-promotion (transparent interior while walking) -**Status:** OPEN — user re-confirmed at the 2026-06-11 re-gate: "that -hill house also sometimes when entering, all walls turn transparent. -Only that house." NOTE: the #120 reciprocal ping-pong fired at exactly -A9B3 `0103↔010F` during that session — the runaway duplicate views are a -plausible alternate mechanism for the transparent frames. Re-check this -symptom AFTER the #120 fix (`dede7e4`) before resuming the membership -investigation. +**Status:** CLOSED 2026-06-12 (`be03146`) — user gate "OK seems to work" +after run-speed in/out cycles; live capture shows threshold promotions + +room tracking + clean exits, zero errors. + +**ROOT CAUSE (instrumented capture `cottage-112-capture1.log` + dat +replay):** the cottage's entry cell 0x104 is a 0.22 m-wide THRESHOLD +band; a running player crosses it between two physics ticks. Our +membership pick's outdoor-seed branch ran `CheckBuildingTransit` over a +landcell snapshot and STOPPED — building entry cells were never +expanded — so the tick after the skip (centre in deep room 0x100) found +no containing candidate and the pick kept the outdoor landcell +FOREVER (absorbing state): the render faithfully drew an outdoor frame += transparent walls; promotion fired only on touching portal-adjacent +0x102's own volume. Retail's `CObjCell::find_cell_list` (0x0052b4e0) +runs ONE growing-array walk for EVERY seed (0052b576: vtable +`find_transit_cells` over the GROWING array) — recovery fires one tick +after any skip. Fix = the unified retail walk ported verbatim; pins in +`Issue112MembershipTests` (tick-skip recovery RED pre-fix; run-speed +phase-swept entry replay; gap over-fix guard; full promotion-chain +replay diagnostic). The earlier legs (escape-hatch removal `2d6954e`, +straddle gate `414c3de`) remain correct — they fixed the demote side; +this closes the promotion side. + +(History below predates the close.) NOTE: the #120 reciprocal ping-pong +fired at exactly A9B3 `0103↔010F` during the 2026-06-11 session — the +runaway duplicate views were a plausible alternate mechanism for the +transparent frames; #120's fix (`dede7e4`) landed first. **Severity:** MEDIUM-HIGH (any house with interior containment gaps; user-observed "sometimes transparent" while walking around inside) **Filed:** 2026-06-10 (late — user exploration after #111 closed)