From 6caedf25f92d59531fa6e9efcf51a1e833757c02 Mon Sep 17 00:00:00 2001 From: Erik Date: Sun, 30 Aug 2026 10:24:51 +0200 Subject: [PATCH] fix(render) Campaign FW1: keep the conformance DAT adapter behind the seam guard RuntimeDatAccessArchitectureTests correctly flagged WalkWorldDatAdapter taking raw DatCollection in production. The adapter is the conformance harness world builder, so it moves into the test assembly; the FW3 production adapter will consume the content-owner seam. Hermetic suite back to 6,687/0; adapter + conformance 10/10. Co-Authored-By: Claude Fable 5 --- .../Rendering/Walk/WalkWorldDatAdapter.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) rename {src/AcDream.App => tests/AcDream.App.Tests}/Rendering/Walk/WalkWorldDatAdapter.cs (94%) diff --git a/src/AcDream.App/Rendering/Walk/WalkWorldDatAdapter.cs b/tests/AcDream.App.Tests/Rendering/Walk/WalkWorldDatAdapter.cs similarity index 94% rename from src/AcDream.App/Rendering/Walk/WalkWorldDatAdapter.cs rename to tests/AcDream.App.Tests/Rendering/Walk/WalkWorldDatAdapter.cs index 5e9fdcd7..db7d6bd8 100644 --- a/src/AcDream.App/Rendering/Walk/WalkWorldDatAdapter.cs +++ b/tests/AcDream.App.Tests/Rendering/Walk/WalkWorldDatAdapter.cs @@ -4,12 +4,18 @@ using DatReaderWriter.DBObjs; using DatReaderWriter.Types; using Environment = DatReaderWriter.DBObjs.Environment; -namespace AcDream.App.Rendering.Walk; +namespace AcDream.App.Tests.Rendering.Walk; + +using AcDream.App.Rendering.Walk; /// -/// Campaign FW1 — builds the walk's world model from real DAT data. The -/// library parses everything the walk needs (survey 2026-08-30: PORT nodes -/// with PortalRef{PolyId, PortalIndex} in retail field order, cell +/// Campaign FW1 — builds the walk's world model from real DAT data for the +/// CONFORMANCE HARNESS (it lives in the test assembly deliberately: raw +/// DatCollection access is fenced to the content-owner seam in +/// production by RuntimeDatAccessArchitectureTests; the FW3 +/// production adapter will consume the seam instead). The library parses +/// everything the walk needs (survey 2026-08-30: PORT nodes with +/// PortalRef{PolyId, PortalIndex} in retail field order, cell /// portal records with the PortalSide flag bit, building portals with stab /// lists); this adapter is the previously missing consumer. ///