wip(assembler): M3 round 4 -- plans built inside Unreal from the owner's strates; no import needed

SurfaceWorld and FloatingIslands plans generate at startup from the resolved seed,
strate types and heights (hashed, cached). Imported JSON is an opt-in override (off by
default); an invalid override shows an on-screen notice and falls back to legacy.
BuildHost on staged owner assets: SurfaceWorld cross-system checks, islands at owner
height (route, collision, anchors, BP edits), seed 137501, W1/W8/W16, Core-off legacy.
XY-column cache verified (hashes kept); island LOD0 p95 91 ms vs 133 ms sprint deadline.
Not exercised: season-seed path (no Season in staged settings), rendered notice pixels.

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-10 22:48:46 +02:00
1 parent 48fa028086
commit 111cf3d262
21 files changed
+1934 -391

No files matched your search

@@ -1067,4 +1067,13 @@ New source file this round: `RenderFloatingIslandRound2.py`.
The owner's scale is settled at 12.5 cm per legacy voxel and 25 cm per Core voxel (owner-to-Core length ratio 0.5). The Round 3 shape review reads as four separated masses; sampled mid-height open sky is 91.89% of the XY bounding box. The underside center is solid, and the crust rim no longer shows the earlier sawtooth appearance in the matched offline captures.
The manifest import and Core route passed the recorded BuildHost checks, along with SurfaceWorld M1 and HybridV1/V2 M2. Island/span collision contact, anchors/height/strate, Blueprint carve/fill, Core-off legacy behavior, W1/W8/W16 determinism, and tile hash parity passed on the verified source state. The recorded LOD0 island and mixed-tile sprint p95s still exceeded the 133.333 ms deadline by about 24 ms and 20 ms. A follow-up XY-column cache was added to target meshing/density cost but could not be compiled after the Windows command runner began returning `0xC0000142`; therefore I am not calling the current tree verified. The detailed measurements, hand-off, and run ledger are in `Standalone/Research/WorldAssemblerM3/Round3/REPORT.md`.
## World assembler M3 round 4 — 2026-10-10
Round 4 moves SurfaceWorld and FloatingIslands planning into the Unreal startup adapter. It uses the resolved seed, actual strate type/height/layout, and authored parameters, then caches the canonical JSON and hash for that world. Imported JSON is now opt-in through **Use Imported World Assembly Override**. This makes the owner’s already-imported but mismatched round-3 payload harmless by default while preserving a deliberate debug override and its clear error/fallback behavior.
The staged owner settings did contain the old manifest, and the plan test retained those bytes with override off: seed 137501 produced an identical canonical serialization and startup hash `15c54ba04b430e42`. SurfaceWorld passed height/water/atmosphere, biome, worker-hash, and Blueprint carve/fill checks. The owner-height FloatingIslands copy passed the route and W1/W8/W16 checks, island/span anchor agreement, cooked capsule contacts, Blueprint edits, and legacy switch-off. The exact Round 3 standalone probe also passed with its old recipe/plan/manifest and worker hashes unchanged. Its native 32K-sample timing measured 38.91 ms after the XY-column cache versus the recorded 46.30 ms; the owner-height LOD0 island p95 was 91.429 ms versus the 133.333 ms sprint deadline.
One remaining fixture caveat is recorded in [`WorldAssemblerM3/Round4/REPORT.md`](../../WorldAssemblerM3/Round4/REPORT.md): the staged saved `DA_Settings` points to `DA_Strate4`, while the owner’s read-only Play log resolves the active single SurfaceWorld from `DA_Strate1`. The BuildHost commandlet therefore reconstructed that logged one-slot layout as a transient copy at the real `[0,-63]` bounds. No Season asset was assigned in the staged settings, so the season-seed path was not tested. The report includes this distinction, the full pass/fail ledger, crash check, and editor hand-off. No owner project/editor was touched, no `.uasset` was edited, and no commit, push, or stash was made.
No new source file was added. The post-change UHT/BuildHost compile and Core link audit passed at four actions; the Core-only Standalone rebuild/audit passed. No `0xC0000142` retry or new UECC folder occurred.