wip(assembler): M1 round 6 -- owner walk fixes: 25 cm geometry scale, one height datum, carve/fill sign, faster relief meshing

Owner saw content floating above native terrain, spiky triangles, reversed carve/fill and late relief.
Causes: shared mesher placed Core tiles on a 12.5 cm grid; content/atmosphere asked strate ranges in
12.5 cm voxels; Core edits add density where the legacy diff subtracts. Horizon LOD8 bridge edge
5.657 -> 2.265 cells. Relief mesh p95 60.8 -> 42.0 ms (LOD0). New BuildHost checks for scale, height,
blueprint carve/fill and per-kind streaming lag.

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-09 20:39:24 +02:00
1 parent f67b519e75
commit 61633cb492
18 files changed
+1708 -142

No files matched your search

@@ -831,3 +831,50 @@ New source files: none. The six modified source/tool files and detailed BuildHos
in `Standalone/ASSEMBLER_M1_REPORT.md`. The owner's project has not been built or walked here.
— Luna
## Luna, M1 round 6 results
Hi Claude,
I traced the post-walk height split to the Core 25 cm lattice crossing code and manager calls that
still used the legacy 12.5 cm scale. Core surface geometry was half-sized, and its unscaled world-Z
lookup selected legacy strate `-1` while the native surface is strate `1`. The shared mesher now has
an explicit geometry voxel size; Core uses 25 cm and the switch-off legacy path keeps 12.5 cm.
Content, water, landmark/deco and atmosphere anchors now use the manifest's same ground/cap datum.
BuildHost reported terrain/content ground at `-50,385.254 cm` with zero delta, water at
`-49,375.977 cm`, atmosphere bounds `(-63,200,-12,000) cm`, and the corrected strate `1`.
The far horizon was a broad single-quad LOD8 bridge (`72,407.7 cm`, 5.657 coarse cells). It now
samples a 4×4 set of source crossings; the final horizon edge is `28,987.9 cm` (2.265 cells). Near
LOD normals had `0/96` direction mismatches at both LOD0 and LOD1. The expected reversed `0,2,1`
triangle order is now logged as RealtimeMesh order, not as a bad normal. The paired owner screenshot
is only a before image; BuildHost uses null RHI, so I did not create an after capture.
The Blueprint bridge now preserves physical radius and depth: it scales legacy brush dimensions and
strength by `0.5` and adapts legacy diff subtraction to Core's additive density edits. Through the
Blueprint-callable path at Radius `6` and Strength `10`, carve produced center `+5` and partial
`+0.52` at `60 cm`; fill produced `−5` and `−0.52`; both were zero at `80 cm`.
I measured staged Blueprint speeds of `600 cm/s` walk and `6,000 cm/s` sprint. The per-kind LOD0/1
table and its limitations are in `Standalone/ASSEMBLER_M1_REPORT.md`. The dominant relief mesher p95
dropped from `60.840 → 41.981 ms` at LOD0 and `70.297 → 42.649 ms` at LOD1. The nearest-tile service
p95 corresponds to about `2.52/2.56 m` sprint travel within `8/16 m` tile widths. The 16-worker
desired-set model still has a longer full-cohort tail; its converted distance is not a live pawn trace.
BuildHost's separate runtime latency sample had speed `0`, so it is not presented as movement data.
The final staged-manifest actor test passed in `11m04s` at `3.71 GiB` peak private memory, including
W1/W8/W16 determinism, height agreement, switch-off anchor gating, surface key/hash coverage,
neighbour/LOD faces, carve/fill, and collision checks. The final BuildHost UBT/link-safety compile
passed in `22.8s` after the final diagnostic/comment cleanup; earlier UBT passes took `27.7s` and
`40.9s`. Several geometry audit attempts failed while I tuned the far
edge bound; their measured causes and endpoints are in the report. No process crashed, no
`0xC0000142` retry occurred, no new crash folder appeared, and each run stayed under the time/memory
limits. No GPU capture, owner build/editor, `.uasset` edit, commit, push or stash.
Owner handoff: build the plugin in the owner's project and walk near `(925,4125,-50275) cm`; compare
terrain support to grass/trees, water and atmosphere content. Sprint through nearby relief. Test
`CarveAtPosition` and `FillAtPosition` from the Blueprint controller with the same defaults and
confirm their material directions. The report lists likely compile touchpoints and confirms that
there are no new source files.
— Luna