refactor(render): remove Campaign FW probes

This commit is contained in:
Erik 2026-08-31 09:14:47 +02:00
parent b8befded8b
commit 4808d4d10b
10 changed files with 1 additions and 241 deletions

View file

@ -109,10 +109,6 @@ internal sealed partial class RetailPViewPassExecutor :
private readonly TerrainDrawDiagnosticsController _terrainDiagnostics;
private readonly RetailPViewParticleClassifications _particleClassifications = new();
private readonly HashSet<uint> _noSceneParticleEntityIds = [];
// ACDREAM_PROBE_WALK_ROOT / cathedral FW4: observation-only counter for
// the walk-owned far-Z portal punches.
internal int WalkLookInPunchCountThisFrame { get; private set; }
/// <summary>
/// Borrowed until the next late landscape pass. The outdoor-root post-world
/// particle pass consumes this synchronously before another PView frame.
@ -155,11 +151,6 @@ internal sealed partial class RetailPViewPassExecutor :
public void BeginFrame()
{
_particleClassifications.BeginFrame();
if (AcDream.Core.Rendering.RenderingDiagnostics.ProbeWalkRootEnabled)
{
AcDream.Core.Rendering.RenderingDiagnostics.WalkRootPhase = "pre";
WalkLookInPunchCountThisFrame = 0;
}
}
/// <summary>Campaign FW3.2b-2: the shared dispatcher, for
@ -331,7 +322,6 @@ internal sealed partial class RetailPViewPassExecutor :
DisableClipDistances();
_particleClassifications.ReplaceOutdoor(context.ParticleOwnerIds);
ProbeWalkParticleRoute("static-owners", _particleClassifications.Outdoor);
if (_particleClassifications.Outdoor.Count > 0
&& _particles is not null
&& _particleRenderer is not null)
@ -350,8 +340,6 @@ internal sealed partial class RetailPViewPassExecutor :
public void ClearInteriorDepth()
{
if (AcDream.Core.Rendering.RenderingDiagnostics.ProbeWalkRootEnabled)
AcDream.Core.Rendering.RenderingDiagnostics.WalkRootPhase = "post";
_surface.ClearInteriorDepth();
}
@ -376,8 +364,6 @@ internal sealed partial class RetailPViewPassExecutor :
// hardware clip slot made effects vanish by view direction (zero
// outside slices in view = zero submissions) — invented behavior.
DisableClipDistances();
ProbeWalkParticleRoute(
outdoorCells ? "unattached-outdoor" : "unattached-interior", null);
_particleRenderer.DrawForOwners(
frame.Camera,
frame.CameraWorldPosition,
@ -390,53 +376,6 @@ internal sealed partial class RetailPViewPassExecutor :
: UnattachedEmitterCellScope.InteriorCells);
}
/// <summary>ACDREAM_PROBE_WALK_ROOT companion (throwaway, dies with the
/// cathedral falls investigation): logs each particle submission route
/// with its owner count + the pre/post-depth-clear phase tag.</summary>
private static void ProbeWalkParticleRoute(string route, IReadOnlySet<uint>? owners)
{
if (!AcDream.Core.Rendering.RenderingDiagnostics.ProbeWalkRootEnabled)
return;
string ids = "";
if (owners is not null)
{
var sb = new System.Text.StringBuilder();
int shown = 0;
foreach (uint id in owners)
{
if (shown++ == 6) { sb.Append(",…"); break; }
if (sb.Length > 0) sb.Append(',');
sb.Append(id.ToString("x"));
}
ids = $" n={owners.Count} ids=[{sb}]";
// Phase I cathedral instrumentation: the REAL falls owners
// (outdoor landblock statics 0xCF418000-13 per the DAT-geometry
// report) — print EVERY submission that carries one, with the
// exact watched ids, unconditionally (never rate-limited; these
// are the money lines the six fix rounds never had).
System.Text.StringBuilder? falls = null;
foreach (uint id in owners)
{
if (id >= 0xCF418000u && id <= 0xCF418014u)
{
falls ??= new System.Text.StringBuilder();
if (falls.Length > 0) falls.Append(',');
falls.Append(id.ToString("x"));
}
}
if (falls is not null)
{
Console.WriteLine(
$"[falls] route={route} phase="
+ $"{AcDream.Core.Rendering.RenderingDiagnostics.WalkRootPhase} "
+ $"ids=[{falls}]");
}
}
Console.WriteLine(
$"[walk-part] {route}{ids} phase={AcDream.Core.Rendering.RenderingDiagnostics.WalkRootPhase}");
}
public void FlushLandscapeAlpha() => _alpha.Flush();
public void DrawCellParticles(
@ -457,7 +396,6 @@ internal sealed partial class RetailPViewPassExecutor :
return;
DisableClipDistances();
ProbeWalkParticleRoute("cell-owners", visible);
// Retail never clips cell particles to a portal view: the owner
// cell's walls own occlusion via the depth test at the alpha flush.
_particleRenderer.DrawForOwners(