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:
1 parent
75210e56f3
commit
d696463c68
40 files changed
+373
-11
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user