wip(unreal): round 4 -- strate-type coverage matrix; SurfaceWorld via exact legacy bridge

Luna, integration round 4 (owner requirement: Core must know every strate type).
Coverage, Core vs legacy owner field (one probe per type, 686,000 LOD0 samples):
  TunnelNetwork approximate (2.17% signs differ); FlatPlain / CrystalChamber native slab
  fields missing (generic cave, 1.28%); Maze missing (13.3%); VerticalShafts missing (no
  shaft surface); FloatingIslands missing (95.8%); Underwater approximate + no water.
  SurfaceWorld: exact density (0 sign changes, LOD0-3 hashes match) through the copied
  legacy evaluator -- but at legacy cost: full view 23.1 s vs legacy 23.9 s (Core caves
  without surface 0.785 s).
  Passages: SlopedTunnel/VerticalShaft/Spiral pass walkability; Cascading (365/1,495) and
  Worm (109/1,490) FAIL. Transitions approximate (1.2-1.3%).
BuildHost UBT + actor validation pass (SurfaceWorld layout: 2,553 visual keys, 448 LOD
transitions, biome query). Small owner/Core capture pairs in core_strate_coverage/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-08 22:29:15 +02:00
1 parent 75210e56f3
commit d696463c68
40 files changed
+373 -11

No files matched your search

+18 -1
View File
@@ -820,7 +820,7 @@ second density path.
| `VoxelForgeWormBlockSkipTest.cpp` | `VoxelForge.Determinism.WormBlockSkipSoundness` | Soundness and coverage of the worker-local worm N1 block proof (`voxel.WormBlockSkip`). |
| `VoxelForgePlayerFitWindow.h` | — | Shared measurement-window policy for player-fit diagnostics (test/editor side only). |
### 3.13 Core runtime integration (rounds 2–3)
### 3.13 Core runtime integration (rounds 2–4)
The public Core API is linked as the `VoxelForgeCore` runtime module, with canonical implementation
sources still under `Standalone/`. UBT validates the 18-row manifest and its shims; BuildHost linked
the module and passed `CheckCoreSymbols.ps1` against the actual shim objects. See
@@ -850,6 +850,23 @@ is the narrow switch-off baseline; it passes, but does not instantiate an actor
See the report for that limitation, the changed world hashes, classification evidence, and owner-editor
instructions. The Core route is opt-in; the legacy path remains the default.
Round 4 adds a temporary SurfaceWorld density bridge in
[ShapeWorldInternal.h](Standalone/Core/src/ShapeWorldInternal.h). SurfaceWorld samples, including
biome resolution and terrain operations, route through the copied owner evaluator at full resolution;
the Core edit layer is applied afterward. Surface density hashes match the owner field across the
tested LOD0–LOD3 tiles, and the BuildHost actor layout identifies Biome_Surface_Plain at the surface
travel point. The CPU bridge costs approximately the legacy field route: 23.085 s wall / 180.562
worker-seconds for the matched 1,294-tile CPU view.
[OwnerWorldLoader.h](Standalone/Source/OwnerWorldLoader.h) now reads SlabParams, MazeParams,
VerticalShaftParams, and FloatingIslandParams. The shape-world evaluator still lacks their native
terrain fields: FlatPlain, CrystalChamber, Maze, VerticalShafts, FloatingIslands, and water
presentation remain missing or approximate. Passage type/style chains are extracted from manager
control points, but Worm and Cascading currently fail the centerline walkability audit. Gradient,
Hard, and Interleaved transitions produce the same Core probe hash and are not faithfully represented.
See the [round-4 coverage table and small matched captures](Standalone/UNREAL_INTEGRATION_REPORT.md)
and [probe artifacts](Standalone/Research/OwnerShapeWorld/core_strate_coverage/).
## 4. The density pipeline (most-edited hot path)
### 4.1 `GetDensityWithParams` (TunnelNetwork) — VoxelGenerator.cpp:3749