wip(step2f): coherent field -- flakes, speckle, grid, roof fixed; 3 crumbs + 636 ms left; last edits UNCOMPILED
Stopped by low memory (another app at 14 GB; processes failed with 0xC0000142). r6 (compiled and measured, owner playing during the run), step 2e -> step 2f r6: crumbs < 1 m^3 (max per profile) 2,898 -> 3 FAIL (0,0,0,0,2,1,3,2) flakes (shard share / p95 angle) 40.7% / 84.2 deg -> 2.1% / 33.1 deg pass lattice-scale detail energy 0.832 -> 0.016 pass grid signature (autocorrelation) 0.666 -> 0.349 pass min solid share / roof openings 2.7%, 26,657 -> 79.2%, 0 pass worst profile ring time 642.8 -> 636.3 ms FAIL (6 workers, 259^3) Step 2e measured 642.8 ms here vs 570 ms idle earlier: the game was costing ~12% during this run. Brick proofs + audit, seams + injected seam, 1 vs 6 worker determinism pass. After r6, feature probabilities were lowered to remove the last crumbs: NOT compiled, NOT measured. TraversalSeeds, in-game captures and the LOD-rejection figure for 2e are still to do. Reject screenshots included. 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
0a7492ffab
commit
d6555df5fa
9 files changed
+1665
-65
No files matched your search
@@ -74,10 +74,20 @@ static bool VF_TileFootprintsOverlap(const FVoxelTileKey& A, const FVoxelTileKey
|
||||
#if WITH_EDITOR
|
||||
#include "VoxelStrateComposer.h"
|
||||
#include "VoxelStrateMeasure.h"
|
||||
#include "VoxelRedefinedDensityField.h"
|
||||
#endif
|
||||
|
||||
namespace
|
||||
{
|
||||
bool IsParameterizedResearchFieldActive()
|
||||
{
|
||||
#if WITH_EDITOR
|
||||
return VoxelForgeRedefinedDensityField::IsParameterizedEnabled();
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
int32 GVoxelForgeCollisionGate = 1;
|
||||
FAutoConsoleVariableRef CVarVoxelForgeCollisionGate(
|
||||
TEXT("voxel.CollisionGate"),
|
||||
@@ -2197,7 +2207,8 @@ void AVoxelWorld::BeginPlay()
|
||||
Mesher->bGenerateSkirts = Settings->bGenerateSkirts;
|
||||
Mesher->SkirtCells = Settings->SkirtCells;
|
||||
Mesher->LODOctaveDrop = Settings->LODOctaveDrop; // T2.b — 0 = off
|
||||
Mesher->bUseBlockEarlyOut = GVoxelForgeUseBlockEarlyOut != 0;
|
||||
Mesher->bUseBlockEarlyOut = GVoxelForgeUseBlockEarlyOut != 0
|
||||
&& !IsParameterizedResearchFieldActive();
|
||||
|
||||
UE_LOG(LogTemp, Display,
|
||||
TEXT("[VoxelForgeClassifierConfig] outer_mode=%d sealed_solid_proof=%d nested_block_early_out=%d"),
|
||||
@@ -10368,7 +10379,8 @@ void AVoxelWorld::GenerateTileResult(const FVoxelTileKey& Tile, const FIntVector
|
||||
// même pour les cellules uniformes, et ces tuiles sont rares (fenêtre d'ombre).
|
||||
// (Gate IsoLevel == 0 : les verdicts du classifieur supposent l'iso MC à zéro exactement.)
|
||||
bool bTrivialEmpty = false;
|
||||
if (GVoxelForgeSealedSolidProof != 0
|
||||
if (!IsParameterizedResearchFieldActive()
|
||||
&& GVoxelForgeSealedSolidProof != 0
|
||||
&& !bWantCapture && SharedDensityOverride == nullptr
|
||||
&& Generator && Mesher
|
||||
&& Mesher->IsoLevel == 0.0f)
|
||||
@@ -10411,7 +10423,8 @@ void AVoxelWorld::GenerateTileResult(const FVoxelTileKey& Tile, const FIntVector
|
||||
return;
|
||||
}
|
||||
const int32 OuterClassifierMode = FMath::Clamp(GVoxelForgeOuterClassifierMode, 0, 1);
|
||||
if (!bTrivialEmpty && OuterClassifierMode != 0
|
||||
if (!IsParameterizedResearchFieldActive()
|
||||
&& !bTrivialEmpty && OuterClassifierMode != 0
|
||||
&& !bWantCapture && SharedDensityOverride == nullptr
|
||||
&& Generator && Mesher && Mesher->IsoLevel == 0.0f)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user