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`). ---