feat(render) Campaign FW3.2b-2 step 1b: walk registry plumbing to the renderer

LandblockPresentationPipeline exposes its render publisher;
FrameRootComposition hands the publisher's WalkBuildings/WalkLandscape
registries (FW3.1, published/retired per landblock) into
RetailPViewRenderer via two additive constructor parameters. Nothing
reads them yet - the static cutover flip is the next commit, executing
the plan section FW3.2b-2 design with the carve points now surveyed:
the EARLY per-slice sky/terrain/static loop, the look-in barrier +
DrawBuildingLookIns, the LATE dynamics phase, and the shells/cell-
statics passes.

Suites: full Release build 0 warnings; hermetic 6,753/0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-30 14:43:37 +02:00
parent 1b59eae428
commit d80d47d611
3 changed files with 23 additions and 2 deletions

View file

@ -93,10 +93,21 @@ public sealed class RetailPViewRenderer
{
}
// Campaign FW3.2b-2: the walk's production world-data registries
// (published/retired by LandblockRenderPublisher) plus the per-frame
// driver state. Null until the composition passes them; the static
// cutover requires both.
private readonly Walk.WalkBuildingRegistry? _walkBuildings;
private readonly Walk.WalkLandscapeAssembler? _walkLandscape;
internal RetailPViewRenderer(
InteriorEntityPartition.IObserver? partitionObserver,
RenderScenePViewFrameProductController? sceneFrameProduct = null)
RenderScenePViewFrameProductController? sceneFrameProduct = null,
Walk.WalkBuildingRegistry? walkBuildings = null,
Walk.WalkLandscapeAssembler? walkLandscape = null)
{
_walkBuildings = walkBuildings;
_walkLandscape = walkLandscape;
_partitionObserver = partitionObserver;
_candidateObserver = partitionObserver as ICurrentRenderPViewObserver;
_sceneFrameProduct = sceneFrameProduct;