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>
This commit is contained in:
parent
b35e491f12
commit
1662da8731
5 changed files with 120 additions and 3 deletions
|
|
@ -40,6 +40,27 @@ public static class ConformanceDats
|
|||
return Directory.Exists(def) ? def : null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The conformance fixtures dir in the SOURCE tree (mirrors
|
||||
/// CellarUpTrajectoryReplayTests.FixtureDir — fixtures are read from source,
|
||||
/// not copied to the output dir).
|
||||
/// </summary>
|
||||
public static string FixturesDir =>
|
||||
Path.Combine(SolutionRoot(), "tests", "AcDream.Core.Tests", "Conformance", "Fixtures");
|
||||
|
||||
private static string SolutionRoot()
|
||||
{
|
||||
var dir = AppContext.BaseDirectory;
|
||||
while (!string.IsNullOrEmpty(dir))
|
||||
{
|
||||
if (File.Exists(Path.Combine(dir, "AcDream.slnx")))
|
||||
return dir;
|
||||
dir = Path.GetDirectoryName(dir);
|
||||
}
|
||||
throw new InvalidOperationException(
|
||||
"Could not locate AcDream.slnx from " + AppContext.BaseDirectory);
|
||||
}
|
||||
|
||||
/// <summary>The physics-verbatim cell→world transform (no +2cm render lift).</summary>
|
||||
public static Matrix4x4 WorldTransform(DatEnvCell datCell) =>
|
||||
Matrix4x4.CreateFromQuaternion(datCell.Position.Orientation) *
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue