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

+49
View File
@@ -1129,6 +1129,55 @@ but it duplicates the field boundary, costs roughly the legacy evaluation per sa
more float/platform constraints; keep it as a temporary compatibility route only if exact behavior
is required before the port. See the round-3 table in the integration report for per-defect evidence.
Round 4 supersedes the SurfaceWorld status above: Core now has the temporary legacy density bridge
described in §8.19. The native evaluator, water presentation, and other archetypes remain open work.
### 8.19 SurfaceWorld bridge and all-strate coverage — integration round 4
**Status (2026-10-08):** the copied owner evaluator is now called inside Core for samples whose
resolved strate type is SurfaceWorld. The bridge covers Core density entry points used by the
marching-cubes path: analytic, lattice, unclamped, and packed-run sampling. SurfaceWorld boxes fail
closed as Mixed in the primitive-only box classifier so it cannot skip the biome heightfield. Core
edit brushes are applied after the owner density result. The reader also retains SlabParams,
MazeParams, VerticalShaftParams, and FloatingIslandParams in the standalone snapshot.
The owner/Core comparator found identical density hashes at LOD0–LOD3 in the matched-camera
SurfaceWorld matrix and on a 686,000-sample full-resolution surface patch. At LOD0 the measured
symmetric sampled surface distance was 0.0767 m mean / 1.0117 m max; at LOD2 it was 0.1737 m mean /
5.264 m max with 63 unmatched sampled vertices. The viewer captures still show a visible mesh or
presentation difference. Core does not emit the legacy water plane, biome material palette,
decorations, or atmosphere from this density bridge.
The bridge is deterministic across the tested BuildHost W1/W8/W16 worker counts. It is intentionally
not a platform-independent arithmetic port: it inherits the copied evaluator's float behavior. Its
cost is substantial. A matched CPU viewer run with 1,294 tiles through LOD8 took 23.085 s wall and
180.562 worker-seconds in Core, versus 23.914 s and 188.705 worker-seconds in the owner route. The
Step29 Core baseline without this route took 0.785 s, but omitted the surface. Use the bridge as a
fidelity fallback while a native heightfield with fixed-order noise and per-column biome/height
caching is developed.
The probe table in the [integration report](Standalone/UNREAL_INTEGRATION_REPORT.md) covers all
eight generator types, five passage types, four passage styles, and three transitions. Current route
choices for the next implementation pass:
| Field | Recommended Core route | Reason and current gap |
|---|---|---|
| TunnelNetwork | Keep the native primitive representation; add missing density operators as measured. | Existing rooms, tunnels, and passage chains work, but the 16-tile probe still changed 2.17% of signs and had a 1.01 m mean sampled surface distance. |
| FlatPlain and CrystalChamber | Native slab operator using the already copied slab parameters. | Floor, ceiling, columns, and crystal ceiling are a distinct low-cost structure; generic cave primitives do not express them. |
| Maze | Native deterministic cell graph and corridor field using FMazeGenerationParams. | The legacy topology is seed-stable and compact; current generic caves changed 13.34% of signs and had a 5.92 m maximum sampled surface distance. |
| SurfaceWorld | Native Core heightfield long term; retain the exact legacy density bridge temporarily. | The bridge gives exact tested density hashes but runs near owner-field cost and does not add render-side water or biome materials. |
| VerticalShafts | Native deterministic shaft/ledge field; use legacy fallback only as a short compatibility step. | Generic cave shapes produced no matching surface in the probe and failed the passage-centerline audit. |
| FloatingIslands | Native island SDF with deterministic placement and smooth unions. | The current probe changed 95.75% of signs; an island layout is sparse and does not map well to room/tunnel primitives. |
| Underwater | Reuse native TunnelNetwork geometry and add an explicit water render payload. | The density field can reuse cave geometry; water material/plane is separate from signed density and remains absent. |
| Passage types and styles | Keep the generated control-point chains, but preserve each type's radius/floor contract and assert walkability. | The broad chain is already available. Worm and Cascading have solid centerline samples in the current Core audit. |
| Strate transitions | Implement the three boundary functions in the Core layer field. | Gradient, Hard, and Interleaved produced different owner hashes but the same Core hash in the probe. |
The copied evaluator remains a reasonable temporary route when exact density is required quickly;
for low-cost discrete fields such as slabs, mazes, shafts, and islands, native support keeps the
worker path explicit and avoids charging every sample for a second field implementation. BuildHost
continues to verify the opt-in Unreal route and its 25 cm Core scale; it does not certify the missing
archetypes.
## 9. Multiplayer model (listen-server first, dedicated-friendly)
> **Status: transport is DESIGN ONLY — nothing is networked in-tree yet** (no `Replicated`/`HasAuthority`/RPCs; a