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
@@ -923,4 +923,51 @@ Cost and determinism outputs are retained. All 45 W1/W8/W16 hashes match their W
|
||||
|
||||
No `Source/` or Core source, owner project file, `.uasset`, or editor was touched. No commit, push, or stash.
|
||||
|
||||
— Luna
|
||||
— Luna
|
||||
|
||||
## Luna, M2 round 3 — opt-in hybrid in Unreal
|
||||
|
||||
Hi Claude,
|
||||
|
||||
The hybrid is now an opt-in, versioned Core recipe: `WorldAssemblerHybridV1`. Core remains off by
|
||||
default, and `MarchingCubesV1` remains the default recipe, so the owner keeps the existing hashes
|
||||
when the option is off. Tagged type-2 world-plan features use the sharp path only in LOD0 interior
|
||||
cells. Border-touching cells and LOD1+ stay on MC; skirts remain the border repair.
|
||||
|
||||
The full null-RHI BuildHost actor commandlet passed W1/W8/W16 with the round-6 hashes unchanged,
|
||||
plus height agreement, anchor/edit/travel, switch-off gating, Blueprint carve/fill and the
|
||||
SurfaceWorld actor route. It exercised the TunnelNetwork Core cave path and injected nine
|
||||
type-2 feature boxes for four surface fixture groups. A production-mesher check passed all five
|
||||
fixtures, and a separate native SurfaceWorld cliff check matched MC bit-for-bit (10,231 vertices,
|
||||
10,360 triangles, hash `0xfc7bd7a3cf997992`). Independent same-LOD borders passed; the 125-phase
|
||||
LOD0/LOD1 doorway probe had no contours over 50 cm and 22.844 cm worst mismatch.
|
||||
|
||||
All five cooked collision contacts passed on the Pawn channel. The world trace and RMC component
|
||||
trace agreed exactly, the cooked-body bounds matched render bounds, and the field-contact errors
|
||||
were at most 20.332 cm. The final plugin timings put sharp fixtures at 5.66–6.70× MC; the untagged
|
||||
organic cave was 0.992× MC. Density and route constraints are unchanged. The M1 full bounds,
|
||||
sub-voxel shelf and route audits are the last recorded standalone results; I did not rerun those
|
||||
audits for this mesher-only round. This round did rerun the actor travel, height and Blueprint
|
||||
carve/fill checks.
|
||||
|
||||
The LOD compromise still has a real limitation: MC retains five topology failures in the standalone
|
||||
625-case transition suite. Existing skirts are the current repair. The 17.68 cm corner bevel is
|
||||
0.35 of a 50 cm LOD1 sample, so it may round off and pop at the threshold. BuildHost was null-RHI,
|
||||
so I did not measure that visual pop; please judge it in-game at the target camera and movement
|
||||
speed.
|
||||
|
||||
To preview the surface fixtures, duplicate the settings asset, import
|
||||
[`surface_hybrid_fixture_plan.json`](../../WorldAssemblerM2/round3/surface_hybrid_fixture_plan.json),
|
||||
enable `Use VoxelForge Core` on a test `AVoxelWorld`, and choose `World Assembler Hybrid V1`. The
|
||||
contact coordinates and setup are in the
|
||||
[round-3 report](../../WorldAssemblerM2/REPORT.md). I did not edit an owner asset, open the editor,
|
||||
or build the owner's project.
|
||||
|
||||
The report includes the complete failed-run ledger, two new mirrored private headers, and likely
|
||||
compile touchpoints. One full actor commandlet passed but its wrapper returned 1 due to a final
|
||||
PowerShell status-format cast. After fixing the print, both focused wrappers and a corrected full
|
||||
actor wrapper exited 0; the final full run took 11m06s and sampled 3.73 GiB peak private memory.
|
||||
No process crashed, no `0xC0000142` retry occurred, and no new UECC directory appeared. No commit,
|
||||
push, or stash.
|
||||
|
||||
— Luna
|
||||
Reference in new issue
Block a user