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:
1 parent
22a6b30494
commit
4661a445be
48 files changed
+106493
-71
No files matched your search
@@ -904,10 +904,11 @@ namespace VoxelForgeCore
|
||||
const FVoxelTileKey nativeKey=ToNative(key);
|
||||
const FIntVector origin=nativeKey.OriginVoxels();
|
||||
if(options.mesherRecipe!=MesherRecipe::marchingCubesV1
|
||||
&&options.mesherRecipe!=MesherRecipe::worldAssemblerHybridV1)
|
||||
&&options.mesherRecipe!=MesherRecipe::worldAssemblerHybridV1
|
||||
&&options.mesherRecipe!=MesherRecipe::worldAssemblerHybridV2)
|
||||
{error="tile mesher recipe version is unsupported";return std::nullopt;}
|
||||
TArray<FVoxelHybridSharpFeatureBox> sharpFeatures;
|
||||
if(options.mesherRecipe==MesherRecipe::worldAssemblerHybridV1&&level==0&&impl_->worldAssembly)
|
||||
if(options.mesherRecipe!=MesherRecipe::marchingCubesV1&&level==0&&impl_->worldAssembly)
|
||||
{
|
||||
constexpr std::int64_t SubvoxelsPerVoxel=WorldAssemblySubvoxelsPerVoxel;
|
||||
const std::array<std::int64_t,3> tileMin={
|
||||
@@ -946,7 +947,10 @@ namespace VoxelForgeCore
|
||||
// Les pages analytiques omettent le plan natif ; utiliser la base uniquement pour
|
||||
// les tuiles balisees afin d'echantillonner le champ correspondant aux tags.
|
||||
tileShapeContext=impl_->shape.get();
|
||||
mesher.SetHybridSharpFeatures(MoveTemp(sharpFeatures));
|
||||
if(options.mesherRecipe==MesherRecipe::worldAssemblerHybridV2)
|
||||
mesher.SetHybridSharpFeatureSnap(MoveTemp(sharpFeatures));
|
||||
else
|
||||
mesher.SetHybridSharpFeatures(MoveTemp(sharpFeatures));
|
||||
}
|
||||
}
|
||||
const FStandaloneShapeWorld& tileShape=*tileShapeContext;
|
||||
|
||||
Reference in new issue
Block a user