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:
1 parent
a3b7d2015e
commit
22a6b30494
21 files changed
+3009
-23
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user