parity: Unreal and headless resolve the same four-strate plan (L70, v214)

- Export commandlet writes the live Core adapter's world_assembly + resolved layout pair;
  the headless owner path imports that pair (manifest/layout equal, layout_chunk_width_q
  validated). owner_world.json re-exported from the owner's staged assets on the Linux host.
- Adapter SW route: Core clearance/radius floors, 0.5 m support search, outward-facing
  tie-break; passage mouth/mid radius floors match Core (36/24 owner voxels).
- FI in Unreal now uses the legacy (compiled analytic) generator unless a plan is imported:
  the auto native-FI plan failed the passage audit on the owner plan (1843 blocked samples,
  945 open-air violations). Owner decides whether native FI returns.
- In-engine spawn traces per strate (3 each): SW GenerateTile 42.7 worker-s vs 20.1 headless
  for equal tile counts; LOD0 p95 45-169 ms in UE.
- Fast tier green; all three passages pass on the shared plan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-27 06:22:48 +01:00
1 parent 81e2452a3d
commit bd68aee1ca
16 files changed
+939 -62

No files matched your search

+3 -2
View File
@@ -31,6 +31,7 @@ LINUX58 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux58"
LINUX60 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux60"
LINUX67 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux67"
LINUX68 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux68"
LINUX70 = ROOT / "Standalone/Research/WorldAssemblerM3/Linux70"
OWNER = ROOT / "Standalone/data/regression/owner_world_2strate_l61.json"
OWNER_NEW = ROOT / "Standalone/data/owner_world.json"
OWNER_2STRATE_SHA256 = "7b095f9bcc6b90133d5a463f99f0b571133b2c549ce1ecf2d64fe9175e41e183"
@@ -107,8 +108,8 @@ def owner_hash_baseline(recipe: str, style: int) -> tuple[Path, str]:
return (LINUX67 / "hash-baselines" / "owner-hash-surface-world-style1-v212.log",
"L67-v212")
if recipe == "floating-islands" and style == 2:
return (LINUX68 / "hash-baselines" / "owner-hash-floating-islands-style2-v213.log",
"L68-v213")
return (LINUX70 / "hash-baselines" / "owner-hash-floating-islands-style2-v214.log",
"L70-v214")
raise VerificationFailure(f"no pinned owner hash baseline for {recipe} style {style}")