wip(assembler): M2 round 3 -- opt-in hybrid sharp mesher (WorldAssemblerHybridV1) in the Unreal Core route

Default MarchingCubesV1 unchanged (W1/W8/W16 = round-6 hashes). Hybrid DC only in LOD0 interior cells
with tagged features; tile-border cells and LOD1+ stay MC. BuildHost: fixtures repeat exactly, cooked
collision bounds = render bounds, same-LOD borders pass, sampled SurfaceWorld cliff bit-identical to MC.
Open: tagged tiles cost 5.7-6.7x MC; corner-top field contact error 20 cm; 5 MC doorway LOD cases.

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 09:53:04 +02:00
1 parent a3b7d2015e
commit 22a6b30494
21 files changed
+3009 -23

No files matched your search

+11
View File
@@ -682,6 +682,17 @@ 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
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.
- **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