refactor(render): remove Campaign FW probes
This commit is contained in:
parent
b8befded8b
commit
4808d4d10b
10 changed files with 1 additions and 241 deletions
|
|
@ -53,13 +53,6 @@ internal sealed class RetailPViewRenderer
|
|||
private RetailPViewFrameInput? _activeWalkFrame;
|
||||
private ClipFrameAssembly? _activeWalkClipAssembly;
|
||||
|
||||
// ACDREAM_PROBE_WALK_ROOT (FW3 visual-gate apparatus, throwaway): the
|
||||
// previous frame's root kind + a post-flip frame countdown so each
|
||||
// interior/outdoor transition dumps 8 frames of rooting facts.
|
||||
private bool? _probeWalkRootPrevOutdoor;
|
||||
private int _probeWalkRootFramesLeft;
|
||||
private ulong _probeWalkRootFrame;
|
||||
|
||||
// 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
|
||||
|
|
@ -256,11 +249,6 @@ internal sealed class RetailPViewRenderer
|
|||
}
|
||||
walkDriver = _walkFrameDriverScratch;
|
||||
|
||||
if (AcDream.Core.Rendering.RenderingDiagnostics.ProbeWalkRootEnabled)
|
||||
{
|
||||
AcDream.Core.Rendering.RenderingDiagnostics.WalkPortalProbeThisFrame =
|
||||
_probeWalkRootFrame % 90 == 0;
|
||||
}
|
||||
try
|
||||
{
|
||||
walkDriver.Collect(
|
||||
|
|
@ -272,8 +260,6 @@ internal sealed class RetailPViewRenderer
|
|||
ClearWalkFrameBindings();
|
||||
throw;
|
||||
}
|
||||
AcDream.Core.Rendering.RenderingDiagnostics.WalkPortalProbeThisFrame = false;
|
||||
|
||||
// FW4 slice 1: an interior root's terrain/sky/punch clip slices
|
||||
// come from THE WALK'S OWN outside_view — retail's one
|
||||
// visibility structure. See ClipFrameAssembler.
|
||||
|
|
@ -296,57 +282,6 @@ internal sealed class RetailPViewRenderer
|
|||
_drawableCellsScratch.UnionWith(walkDriver.VisitedCells);
|
||||
walkDriver.CopyVisibleCellsTo(_visibleCellsScratch);
|
||||
|
||||
// Phase I cathedral instrumentation (synthesis §Phase I.3): the
|
||||
// continuous rooting line SEPARATES the true root flood
|
||||
// (InteriorFloodCells) from the visited union (root + look-ins —
|
||||
// the conflation the review corpus indicted), and adds the
|
||||
// walk's OWN exit-view count. [walk-cam] dumps a replayable
|
||||
// camera every ~300 frames and at every root flip.
|
||||
if (AcDream.Core.Rendering.RenderingDiagnostics.ProbeWalkRootEnabled)
|
||||
{
|
||||
_probeWalkRootFrame++;
|
||||
bool outdoorNow = ctx.RootCell.IsOutdoorNode;
|
||||
bool flipped = _probeWalkRootPrevOutdoor is bool prev && prev != outdoorNow;
|
||||
if (flipped)
|
||||
{
|
||||
_probeWalkRootFramesLeft = 8;
|
||||
Console.WriteLine(
|
||||
$"[walk-root] ---- FLIP {(outdoorNow ? "IN->OUT" : "OUT->IN")} at frame {_probeWalkRootFrame} ----");
|
||||
}
|
||||
_probeWalkRootPrevOutdoor = outdoorNow;
|
||||
bool sample = _probeWalkRootFramesLeft > 0 || _probeWalkRootFrame % 30 == 0;
|
||||
if (_probeWalkRootFramesLeft > 0)
|
||||
_probeWalkRootFramesLeft--;
|
||||
if (sample)
|
||||
{
|
||||
List<uint> rootFlood = walkDriver.InteriorFloodCells;
|
||||
string flood = string.Join(",", rootFlood
|
||||
.GetRange(0, Math.Min(rootFlood.Count, 8))
|
||||
.ConvertAll(c => c.ToString("x8")));
|
||||
int walkOv = outdoorNow ? -1 : _frameWalk.InteriorOutsideView.ViewCount;
|
||||
Vector3 fwd = walkContext.CyPlane.Normal;
|
||||
Console.WriteLine(
|
||||
$"[walk-root] f={_probeWalkRootFrame} out={(outdoorNow ? 1 : 0)} "
|
||||
+ $"viewer=0x{ctx.ViewerCellId:X8} root=0x{ctx.RootCell.CellId:X8} "
|
||||
+ $"res={ctx.CameraCellResolution} slices={clipAssembly.OutsideViewSlices.Length} "
|
||||
+ $"walkOv={walkOv} rootFlood={rootFlood.Count}[{flood}] "
|
||||
+ $"visited={walkDriver.VisitedCells.Count} bld={walkDriver.VisitedBuildings.Count} "
|
||||
+ $"eye=({ctx.ViewerEyePos.X:F2},{ctx.ViewerEyePos.Y:F2},{ctx.ViewerEyePos.Z:F2}) "
|
||||
+ $"fwd=({fwd.X:F3},{fwd.Y:F3},{fwd.Z:F3})");
|
||||
}
|
||||
if (flipped || _probeWalkRootFrame % 300 == 0)
|
||||
{
|
||||
Matrix4x4 vp = ctx.ViewProjection;
|
||||
Console.WriteLine(
|
||||
$"[walk-cam] viewer=0x{ctx.ViewerCellId:X8} "
|
||||
+ $"eye=({ctx.ViewerEyePos.X:R},{ctx.ViewerEyePos.Y:R},{ctx.ViewerEyePos.Z:R}) "
|
||||
+ $"vw={viewportWidth:R} vh={viewportHeight:R} vp=["
|
||||
+ $"{vp.M11:R},{vp.M12:R},{vp.M13:R},{vp.M14:R},"
|
||||
+ $"{vp.M21:R},{vp.M22:R},{vp.M23:R},{vp.M24:R},"
|
||||
+ $"{vp.M31:R},{vp.M32:R},{vp.M33:R},{vp.M34:R},"
|
||||
+ $"{vp.M41:R},{vp.M42:R},{vp.M43:R},{vp.M44:R}]");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// FW4 slice 1: the ONE clip-region publication, after any walk
|
||||
|
|
@ -593,8 +528,7 @@ internal sealed class RetailPViewRenderer
|
|||
/// #456 cathedral seam band (its never-drawn panel family), leaving
|
||||
/// aperture depth unsealed after the interior clear; the end-of-frame
|
||||
/// alpha drain (cell-owned emitters — retail's own timing) then
|
||||
/// z-passes across the whole opening (the falls shine-through,
|
||||
/// probe-pinned via ACDREAM_PROBE_WALK_ROOT's phase tags). Per-cell
|
||||
/// z-passes across the whole opening (the falls shine-through). Per-cell
|
||||
/// slice clips still come from the old assembly where present; a cell
|
||||
/// the old apparatus missed seals unclipped (the depth fan is the exact
|
||||
/// dat aperture polygon and z-tests, so over-coverage is benign).</summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue