wip(assembler): M2 round 4 -- WorldAssemblerHybridV2: exact contacts, tagged tiles 1.18-1.27x MC

The round-3 'field contact error' measured hit-to-anchor distance; V2 contacts are 0 cm and on the zero
isosurface. Tagged-tile cost 5.7-6.7x -> 1.175-1.270x MC; organic 0.998x. Bound, shelf-thickness and route
audits rerun with negative controls; W1/W8/W16 stable; V1 and MarchingCubesV1 unchanged.

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 10:41:43 +02:00
1 parent 22a6b30494
commit 4661a445be
48 files changed
+106493 -71

No files matched your search

+13 -10
View File
@@ -682,17 +682,20 @@ driven by `EditorBrush*` props.
position → seamless across chunk borders (both sides use identical pure samples). NO per-vertex
`GetDensityAt` (was ~6/vertex, often as costly as the whole grid). `ComputeGradientNormal` is now
unused. Only NORMALS changed vs the old path; geometry is identical.
- **Core hybrid sharp mesher (M2 round 3)** (`CoreMesherRecipe` / `MesherRecipe`): the property is
- **Core hybrid sharp mesher (M2)** (`CoreMesherRecipe` / `MesherRecipe`): the property remains
opt-in and defaults to `MarchingCubesV1`; `bUseVoxelForgeCore` remains separately default-off.
Reuse the existing density grid and route only LOD0 interior cells touched by stable type-2 plan
boxes through feature-aware dual contouring. A cell touching a tile boundary and every LOD1+ cell
stay MC; existing skirts remain enabled. Do not alter density queries, worker task/epoch handling,
thread-local MC grid caches, or LOD0-only collision policy for this recipe. The canonical feature
list and fixed cell order remain deterministic. BuildHost measurements show tagged corner/doorway/
riser/ledge tiles about 5.6–7.4× the production MC meshing time, while an organic cave fixture is
bit-identical and its measured time is unchanged within noise; keep the recipe opt-in and use tags
only where the feature warrants that tile cost. MC-to-MC LOD borders still have five standalone
doorway topology failures, so skirts are a visual repair, not a topology guarantee.
V1 preserves the round-3 feature-aware dual-contouring path for repeatability. V2 reuses the
existing density grid and MC case/triangle topology, then projects eligible LOD0 edge roots onto
exact type-2 plan-box planes with feature-split normals. Only edges whose complete incident-cell
ring is inside the tile can snap; border roots and every LOD1+ cell stay MC, with skirts unchanged.
The recipe version participates in Core content identity. Do not alter density queries, worker
task/epoch handling, thread-local MC grid caches, or LOD0-only collision policy. Keep
`MarchingCubesV1` and the Core-off legacy path unchanged. V1 measured 5.58–7.11× MC on tagged
fixtures; V2 measured at most 1.27× and passed five exact cooked contacts plus the independent
same-LOD border check. Keep both recipes opt-in. The standalone stitched-transition suite still
has five MC doorway topology failures. Production skirts cover these seams in the static audit
view but their strips are visible; the owner should review them at the target camera. Skirts do not
make the mesh topologically watertight.
- **Surface column cache (T1.a)** (density path: the surface stack's `FSurfaceColumnSource` memo;
`ClassifyTile`: `FSurfaceColumnCache` = LRU of `FSurfaceColumnBox`): the heightfield + sky-cap + biome blend are a PURE function of (XY, seed,
strate) — **ZERO Z dependence** (climate/Voronoi are pure-XY; surface params are per-strate constant