feat(render) Campaign FW3.2b-2 step 1: the production leaf adapter
Additive, nothing invokes it yet (the cutover flip is step 2): - WalkProductionLeafRenderer + RetailPViewPassExecutor.WalkLeaf: the walk driver's leaf turns over the SAME executor renderers the packed path uses today - DrawWalkSky (the per-slice sky block looped under one driver turn), DrawWalkTerrainSlice (the terrain block of DrawLandscapeSlice), per-cell shells via EnvCellRenderer, DrawWalkPunchFan (PortalDepthMaskRenderer far-Z, +ShellDrawLiftZ matching today's DrawPortalDepthWrite until FW3.3 retires it), the alpha barrier via FlushLandscapeAlphaFartherThan, and caller-supplied clear/seal actions (the renderer owns the pass scope). The cutover changes ORDER, never leaf mechanics. - Punch fans now carry the ACTIVE VIEW INDEX end to end (retail pins building_view = Render::portal_view_num @0x0059f3bf for the whole two-pass walk; the fan clips by that view's slice planes): PortalPassSink.ActiveViewIndex -> IWalkEventSink.OnPunchGeometry -> IWalkFrameLeafRenderer.DrawPunchFan. - The FW3.2b-2 rooting design is recorded in the plan (dual-compute split, LookInObject route filtered to dynamics, consumer re-pointing, gate list). Suites: full Release build 0 warnings; Walk lane green; hermetic green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
035d7b0148
commit
1b59eae428
6 changed files with 234 additions and 10 deletions
|
|
@ -124,7 +124,15 @@ public interface IWalkEventSink
|
|||
/// stayed a no-op through FW1/FW2 for exactly that reason). Default
|
||||
/// no-op.
|
||||
/// </summary>
|
||||
void OnPunchGeometry(WalkBuilding building, WalkPolygon polygon) { }
|
||||
/// <param name="building">The building whose portal walk emitted the
|
||||
/// punch.</param>
|
||||
/// <param name="polygon">The portal polygon, building-local.</param>
|
||||
/// <param name="activeViewIndex">The active-view index the two-pass walk
|
||||
/// is pinned to (retail <c>building_view</c> @0x0059f3bf) — the punch
|
||||
/// fan clips against THIS view's slice planes in production.</param>
|
||||
void OnPunchGeometry(
|
||||
WalkBuilding building, WalkPolygon polygon, int activeViewIndex)
|
||||
{ }
|
||||
|
||||
/// <summary>
|
||||
/// Fires once per interior root, at the point <c>PView::DrawCells</c>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue