diff --git a/docs/ISSUES.md b/docs/ISSUES.md index 680e677c..16fee5f7 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -3672,25 +3672,6 @@ Unverified. The likely culprits, ranked by suspected probability: --- -## #107 — Indoor spawn wedge: player stuck (in air / in wall) when logging in inside a building - -**Status:** OPEN -**Severity:** HIGH -**Component:** physics / player-mode entry (`PlayerModeAutoEntry`, spawn teleport handling) - -Reproduces 3-for-3 (2026-06-10) when `+Acdream` logs in INSIDE the Holtburg inn (character -logged out indoors): player-mode auto-entry fires (`auto-entered player mode` in the log), -then the player hangs in the air / in a wall and movement input is ignored. One stuck run -showed `live: teleport started (seq=1)` with no completion — ACE pushing a position -correction that never resolves. The #106 gate-2 `isSpawnGroundReady` hold checks -`SampleTerrainZ != null` (outdoor TERRAIN under the spawn) — an INDOOR spawn's ground is -the cell floor, not terrain, so the relationship between the hold, the spawn teleport, and -indoor grounding needs investigation. Outdoor spawns enter fine. Workaround: none from the -client; relaunching re-wedges because the character is parked indoors. -Apparatus when picking this up: `ACDREAM_CAPTURE_RESOLVE` + `ACDREAM_PROBE_RESOLVE` on a -login-indoors run; logs `flood-fix-gate2.log` / `flood-fix-gate3.log` (untracked) hold the -stuck-run output. - --- ## #108 — Cellar↔main-floor transition: terrain (grass) sweeps across the upstairs door opening @@ -3730,6 +3711,36 @@ stable now; this is a draw-order/depth oscillation localized to the door surface # Recently closed +## #107 — Indoor-login spawn wedge — [DONE 2026-06-10 · 1090189] + +**Status:** DONE (live-verified incl. ACE's own poisoned teleport; final indoor +logout→login gate pending user) +**Closed:** 2026-06-10 +**Commit:** `1090189` +**Component:** physics / player snap, teleport arrival, outbound wire pairs + +**Root cause (capture `resolve-107-login1.jsonl` + dat scan):** ACE restored a +POISONED (cell, position) pair — cell `0xA9B40162` (one building) with a position +inside `0xA9B40171` (a different building 55 m away). The entry snap trusted the +claim verbatim → fake-grounded limbo (no contact plane/walkable; zero-move +resolves short-circuit) → first movement demoted the claim to outdoor +mid-building → 2.4 m fall through the cottage floor onto the terrain under the +house. Second shape: the PortalSpace teleport-arrival detection gated on +`differentLandblock || farAway>100m` (invented) — ACE's same-landblock short-hop +corrections matched neither → movement input frozen all session. + +**Fix (four legs, retail-anchored):** (1) `PhysicsEngine.Resolve` (player snap) +runs retail `AdjustPosition` first (SetPositionInternal :283892 step 1; +AdjustPosition :280009) — `[spawn-adjust]` logs corrections; (2) the deferred +indoor `seen_outside → adjust_to_outside` sub-fallback completed (+ +`CellPhysics.SeenOutside`); (3) PortalSpace arrival = any player position update +(holtburger-conformant); (4) outbound wire pairs self-consistent (landblock +frame from the resolver's full cell id, not the position) + the gate-2 hold +extension (`IsSpawnCellReady`). Live verification: ACE sent a same-lb dist=69.8 +teleport whose destination was ANOTHER poisoned claim (`0xA9B40150`) — arrival +completed, `[spawn-adjust]` corrected, player fully controllable. +Tests: `Issue107SpawnDiagnosticTests` (3 dat-backed conformance facts). + ## #105 — Intermittent white/missing indoor wall textures — [DONE 2026-06-10 · c787201] **Status:** DONE (probe-verified both directions; visual gate pending user)