From 1e9485532f0604fff309f9d2cfdf1b2d9d41f67b Mon Sep 17 00:00:00 2001 From: Erik Date: Sun, 7 Jun 2026 18:26:09 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20plan=20progress=20=E2=80=94=20Tasks=201?= =?UTF-8?q?+3=20done=20(outdoor=20node=20+=20outdoor-root=20flood=20valida?= =?UTF-8?q?ted)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Foundation shipped + validated: the flood roots at the outdoor node and reaches buildings with ZERO production changes (the design's central risk is resolved). Next = Task 2 + Phase 3 cutover together, inline (contextual GameWindow surgery ending at the visual gate). Co-Authored-By: Claude Opus 4.8 (1M context) --- ...6-07-render-unification-outdoor-as-cell.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/superpowers/plans/2026-06-07-render-unification-outdoor-as-cell.md b/docs/superpowers/plans/2026-06-07-render-unification-outdoor-as-cell.md index 88053100..13605a5f 100644 --- a/docs/superpowers/plans/2026-06-07-render-unification-outdoor-as-cell.md +++ b/docs/superpowers/plans/2026-06-07-render-unification-outdoor-as-cell.md @@ -10,6 +10,25 @@ **Spec:** [docs/superpowers/specs/2026-06-07-render-unification-outdoor-as-cell-design.md](../specs/2026-06-07-render-unification-outdoor-as-cell-design.md) +## Progress (2026-06-07) + +- **Task 1 — `OutdoorCellNode.Build` — DONE** (`2a2cc97`). 2 unit tests; App.Tests 212/212. +- **Task 3 — outdoor-root flood — DONE** (`c5b4f77`, done before Task 2 to de-risk the + core hypothesis). **KEY RESULT: the flood roots at the outdoor node and reaches + buildings with ZERO production changes** — `PortalVisibilityBuilder.Build` and + `OutdoorCellNode.Build` are correct as-is; cycle termination holds. App.Tests 214/214. + (The plan's Task 3 fixture sketch had `InsideSide=0`; the shipped test uses the correct + `InsideSide=1` — building interior at Y>5 is the negative half-space. `OutdoorCellNode` + flips it so the outdoor camera passes the side test.) +- **NEXT: Task 2 + Phase 3 together, INLINE** (not subagent — deeply-contextual GameWindow + render-loop surgery, ends at the visual gate; CLAUDE.md warns against subagent + integration here). Task 2 (build the node each frame) shares the render-loop region with + the Phase 3 cutover, so they're one chunk: extract `GatherNearbyBuildingCells`, resolve + `viewerRoot` to the node outdoors, repoint exit portals to the node in `Build`, unified + draw path, then (after the user's visual gate) delete `BuildFromExterior` / `DrawPortal` / + `OutsideView` / `DrawLandscapeThroughOutsideView`. Do this with fresh context. +- Tree clean; HEAD `c5b4f77`; baselines App 214 / Core 1331-4-1. + **Baselines that must hold:** build 0 errors; App.Tests 210 pass; Core.Tests 1331 pass / 4 fail (pre-existing) / 1 skip. Run the client per CLAUDE.md "Running the client"; `+Acdream` spawns at the Holtburg/Arcanum cottage. Launch logs are UTF-16. Use `ACDREAM_PROBE_FLAP` only (NOT `ACDREAM_PROBE_SHELL`). ---