Erik
ea60d1fb7d
docs(spec): Phase A8 — full WB RenderInsideOut + RenderOutsideIn port (design)
Re-brainstormed after RR0 falsification showed R3+R3.5 introduced
Issues A+C (rendering all 16 BFS-reachable cells at full screen extent
caused co-planar Z-fight + grace-state leak from outside view). The
prior design's "WB-faithful restructure" was insufficient — it kept
the BFS-wide cell rendering. Retail and WB both solve indoor visibility
with per-portal recursive culling.
This design ports WB's full pipeline:
- RenderInsideOut Steps 1-5 (including 3-stencil-bit cross-building)
- RenderOutsideIn (cottage interiors visible through windows from outside)
- Per-building cell association (Building + BuildingRegistry, plus
LoadedCell.BuildingId for O(1) cell→building lookups)
- Single strict cameraInsideBuilding gate (no grace for render path)
- Stencil-gated sky inside indoor branch (acdream enhancement)
12 tasks (RR1-RR12), 8-10 sessions estimated. M1.5 indoor scope ships fully.
Supersedes:
docs/superpowers/specs/2026-05-26-phase-a8-restructure-design.md
docs/superpowers/plans/2026-05-26-phase-a8-restructure.md
(both will be footer-marked in RR1 cleanup)
Reverts in RR1: R3 (60f07bc), R3.5 v1 (38d5374), R3.5 v2 (2bfeafd).
R1+R2 (data layer + dispatcher partition) stay — orthogonal infrastructure.
RR2 spike resolves the BuildingInfo data shape + interior-portal walk
algorithm against WB PortalRenderManager:518-551 before RR3 implements.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>