acdream/tests/AcDream.Core.Tests/Conformance/PvsConformanceTests.cs
Erik 1662da8731 test(p0): threshold-trace golden wiring + PVS scaffold + P1-entry checklist
P0 Tasks 6 (autonomous half) + 7. FindCellList_DoorwayThreshold_MatchesRetailTrace
asserts acdream's pick == each captured retail pick; skips until the capture
fixture lands. PvsConformanceTests scaffolds the render visible-set golden
(skipped; filled in P4). ConformanceDats.FixturesDir resolves fixtures from the
source tree (issue98 pattern). Notes record: existing retail traces are
collision-only (no membership) so the strict P1 gate needs the one live capture;
plus the P1 re-scope finding (Stage-1 membership already on this branch).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 14:29:30 +02:00

24 lines
1.1 KiB
C#

using Xunit;
namespace AcDream.Core.Tests.Conformance;
/// <summary>
/// PVS (portal-visibility) conformance — P0 scaffold. The render visible-set
/// golden. Retail oracle: PView::ConstructView(CEnvCell*) @ 0x005a57b0
/// (pc:433750) produces the ordered cell_draw_list for a given (viewer_cell,
/// eye); see docs/research/2026-06-02-retail-render-pipeline-full-reference.md §3.
///
/// FILLED IN P4, not P0: a retail cell_draw_list trace is a P3/P4-coupled
/// capture (a new cdb script breakpointing PView::DrawCells / cell_draw_list,
/// sibling to find-cell-list-capture.cdb), and the PVS code itself
/// (PortalVisibilityBuilder) is REPLACED by the ConstructView port in P4. The
/// scaffold exists now so the structure + retail anchor are in place; P4 adds
/// the capture + the golden assertion (PVS root id == physics CurrCell.Id;
/// a cell seen through two portals appears once per slice; dungeon
/// outside_view==0).
/// </summary>
public class PvsConformanceTests
{
[Fact(Skip = "P0 scaffold — filled in P4 with a captured retail cell_draw_list trace")]
public void Pvs_CottageInterior_MatchesRetailCellDrawList() { }
}