refactor(rendering): delete superseded visibility probes
Delete the callerless portal-BFS research graph and spent renderer probe families while retaining the production RetailFrameWalk path, terrain diagnostics, membership invariant, and walk transcript. Mutation evidence (all restored): 1. Restored PortalVisibilityBuilder type -> AppAssembly_ContainsNoSupersededPortalGraphTypes first failed Assert.Empty with AcDream.App.Rendering.PortalVisibilityBuilder. 2. Restored ACDREAM_PROBE_FACILITY_STAIRS -> ProductionSource_ContainsNoDeletedRendererProbe_AndRetainsWalkTranscriptProof first failed Assert.Empty on RenderingDiagnostics.cs. 3. Added a second RetailFrameWalk field -> WalkFrameOwners_AreUnique first failed Assert.Single with _frameWalk and _mutatedSecondFrameWalk. 4. Added OrderBy to OrderedStream -> OrderedWalkStream_HasNoCrossStreamReorder first failed Assert.DoesNotContain on OrderBy(. 5. Added IDatReaderWriter parameter -> FrameTimeWalkOwners_HaveNoRawDatDependency first failed Assert.Empty on RetailFrameWalk.MutatedRawDatParameter.
This commit is contained in:
parent
b77989c323
commit
bf53e2ad6e
82 changed files with 451 additions and 10108 deletions
|
|
@ -198,7 +198,6 @@ public sealed class WorldSceneRendererTests
|
|||
"passes:disable-clip",
|
||||
"particles:global",
|
||||
"flat:weather",
|
||||
"diagnostics:signature:OutdoorRoot",
|
||||
"diagnostics:draw",
|
||||
"alpha:end",
|
||||
"visibility:complete",
|
||||
|
|
@ -238,10 +237,8 @@ public sealed class WorldSceneRendererTests
|
|||
"passes:begin",
|
||||
"pview:draw",
|
||||
"visibility:mark",
|
||||
"diagnostics:pview",
|
||||
"passes:disable-clip",
|
||||
"particles:none",
|
||||
"diagnostics:signature:RetailPViewInside",
|
||||
"particles:skipped",
|
||||
"diagnostics:draw",
|
||||
"alpha:end",
|
||||
"visibility:complete",
|
||||
|
|
@ -307,7 +304,7 @@ public sealed class WorldSceneRendererTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
public void OutdoorPView_UsesPViewOwnersForPostWorldParticlesWithoutFlatWeather()
|
||||
public void OutdoorPView_SkipsPostWorldParticleReplayAndFlatWeather()
|
||||
{
|
||||
var root = new LoadedCell
|
||||
{
|
||||
|
|
@ -319,7 +316,7 @@ public sealed class WorldSceneRendererTests
|
|||
WorldRenderFrameOutcome result = rig.Renderer.Render(default);
|
||||
|
||||
Assert.True(result.NormalWorldDrawn);
|
||||
Assert.Contains("particles:pviewScoped", rig.Calls);
|
||||
Assert.Contains("particles:skipped", rig.Calls);
|
||||
Assert.DoesNotContain("flat:weather", rig.Calls);
|
||||
}
|
||||
|
||||
|
|
@ -498,7 +495,6 @@ public sealed class WorldSceneRendererTests
|
|||
Type[] borrowedTypes =
|
||||
[
|
||||
typeof(RetailPViewFrameResult),
|
||||
typeof(PortalVisibilityFrame),
|
||||
typeof(ClipFrameAssembly),
|
||||
];
|
||||
|
||||
|
|
@ -690,9 +686,7 @@ public sealed class WorldSceneRendererTests
|
|||
new WbFrustum());
|
||||
_clipFrame = ClipFrame.NoClip();
|
||||
|
||||
var glDiagnostics = new WorldRenderDiagnostics(
|
||||
new DefaultGlStateReader(),
|
||||
new NullDiagnosticLog());
|
||||
var glDiagnostics = new WorldRenderDiagnostics(new NullDiagnosticLog());
|
||||
var terrainDiagnostics = new TerrainDrawDiagnosticsController(
|
||||
enabled: false,
|
||||
glDiagnostics,
|
||||
|
|
@ -710,7 +704,6 @@ public sealed class WorldSceneRendererTests
|
|||
particleRenderer: null,
|
||||
portalDepthMask: null,
|
||||
alpha,
|
||||
glDiagnostics,
|
||||
terrainDiagnostics);
|
||||
|
||||
const uint landblockId = 0xF4180000u;
|
||||
|
|
@ -859,13 +852,6 @@ public sealed class WorldSceneRendererTests
|
|||
}
|
||||
}
|
||||
|
||||
private sealed class DefaultGlStateReader : IRenderGlStateReader
|
||||
{
|
||||
public RenderGlStateSnapshot CaptureState() => default;
|
||||
|
||||
public RenderGlScissorSnapshot CaptureScissor() => default;
|
||||
}
|
||||
|
||||
private sealed class NullDiagnosticLog : IRenderFrameDiagnosticLog
|
||||
{
|
||||
public void WriteLine(string message) { }
|
||||
|
|
@ -1093,20 +1079,13 @@ public sealed class WorldSceneRendererTests
|
|||
uint? playerLandblockId,
|
||||
HashSet<uint> animatedEntityIds) => calls.Add("flat:entities");
|
||||
|
||||
public string DrawPostWorldParticles(
|
||||
public void DrawPostWorldParticles(
|
||||
LoadedCell? clipRoot,
|
||||
ClipFrameAssembly? clipAssembly,
|
||||
in WorldCameraFrame camera,
|
||||
string currentSignature)
|
||||
in WorldCameraFrame camera)
|
||||
{
|
||||
string kind = clipRoot switch
|
||||
{
|
||||
null => "global",
|
||||
{ IsOutdoorNode: true } => currentSignature,
|
||||
_ => currentSignature,
|
||||
};
|
||||
string kind = clipRoot is null ? "global" : "skipped";
|
||||
calls.Add($"particles:{kind}");
|
||||
return kind;
|
||||
}
|
||||
|
||||
public void DrawFlatWeather(
|
||||
|
|
@ -1135,37 +1114,6 @@ public sealed class WorldSceneRendererTests
|
|||
{
|
||||
public CameraCellResolution CameraCellResolution => CameraCellResolution.None;
|
||||
|
||||
public void EmitPViewInput(
|
||||
IReadOnlySet<uint> visibleCells,
|
||||
int outsideViewCount,
|
||||
Matrix4x4 viewProjection,
|
||||
LoadedCell clipRoot,
|
||||
Vector3 cameraPosition,
|
||||
Vector3 playerPosition) => calls.Add("diagnostics:pview");
|
||||
|
||||
public void EmitRenderSignature(
|
||||
string branch,
|
||||
LoadedCell? clipRoot,
|
||||
LoadedCell? viewerRoot,
|
||||
LoadedCell? playerRoot,
|
||||
uint viewerCellId,
|
||||
uint playerCellId,
|
||||
bool playerIndoorGate,
|
||||
bool cameraInsideCell,
|
||||
bool renderSky,
|
||||
bool drawSkyThisFrame,
|
||||
bool terrainDrawn,
|
||||
TerrainClipMode terrainClipMode,
|
||||
bool skyDrawn,
|
||||
bool depthClear,
|
||||
bool outdoorSceneryDrawn,
|
||||
int liveDynamicDrawnCount,
|
||||
string sceneParticles,
|
||||
RetailPViewFrameResult? pviewResult,
|
||||
Vector3 cameraPosition,
|
||||
Vector3 playerPosition) =>
|
||||
calls.Add($"diagnostics:signature:{branch}");
|
||||
|
||||
public WorldSceneDiagnosticOutcome DrawAndPublish(
|
||||
in WorldCameraFrame camera,
|
||||
IReadOnlyList<(uint LandblockId, Vector3 AabbMin, Vector3 AabbMax)> bounds)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue