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.
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System.Numerics;
|
|
using AcDream.App.Rendering;
|
|
using Xunit;
|
|
|
|
namespace AcDream.App.Tests.Rendering;
|
|
|
|
public class ClipFrameAssemblerTests
|
|
{
|
|
[Fact]
|
|
public void BeginWalkFrame_OutdoorRoot_SeedsOneFullScreenDefaultView()
|
|
{
|
|
using ClipFrame frame = ClipFrame.NoClip();
|
|
|
|
ClipFrameAssembly assembly = ClipFrameAssembler.BeginWalkFrame(frame, outdoorRoot: true);
|
|
|
|
ClipViewSlice slice = Assert.Single(assembly.OutsideViewSlices);
|
|
Assert.Equal(0, slice.Slot);
|
|
Assert.Empty(slice.Planes);
|
|
Assert.Equal(new Vector4(-1f, -1f, 1f, 1f), slice.NdcAabb);
|
|
Assert.True(assembly.OutdoorVisible);
|
|
Assert.True(assembly.HasOutsideView);
|
|
Assert.Equal(1, frame.SlotCount);
|
|
}
|
|
|
|
[Fact]
|
|
public void BeginWalkFrame_InteriorRoot_ResetsReusedOutdoorAssemblyToEmpty()
|
|
{
|
|
using ClipFrame frame = ClipFrame.NoClip();
|
|
ClipFrameAssembly reuse = ClipFrameAssembler.BeginWalkFrame(frame, outdoorRoot: true);
|
|
|
|
ClipFrameAssembly assembly = ClipFrameAssembler.BeginWalkFrame(
|
|
frame,
|
|
outdoorRoot: false,
|
|
reuse);
|
|
|
|
Assert.Same(reuse, assembly);
|
|
Assert.Empty(assembly.OutsideViewSlices);
|
|
Assert.False(assembly.OutdoorVisible);
|
|
Assert.False(assembly.HasOutsideView);
|
|
Assert.Equal(Vector4.Zero, assembly.OutsideViewNdcAabb);
|
|
Assert.Equal(0, assembly.ScissorFallbacks);
|
|
Assert.Equal(1, frame.SlotCount);
|
|
}
|
|
}
|