research(step2d): a simpler field is fast (81 ns/sample) -- but it is not the owner's world; NOT a pass
Editor-only, default off (voxel.ResearchRedefinedDensityField). The redefined field is a seeded, periodic cross-corridor pattern per strate plus the authored passages, landings and a shaft tree, with four value-noise detail bands at every near-surface 25 cm sample and sound 8^3 brick proofs. 259^3 ring, six workers: 308 ms median (467 ms without skips) vs 8.9 s for the live field. Detail, boundary-artefact, determinism (1 vs 6 workers, two runs) and bound-audit checks pass. Why it is not a pass: the slices show a mostly-solid field with a few straight corridors, where the owner's world is mostly open space; rooms, the tunnel network, composer recipes and archetypes are gone. Much of the speed comes from 60% of bricks being proven solid in that simpler world. What it does show: detail at full resolution plus brick skipping costs ~80-130 ns/sample; the cost of the live field is how rooms/tunnels/passages are represented, not the detail or the lattice. The two walkability tests were redirected to the research field in the working tree; that change is NOT committed (saved as scratchpad step2d-test-redirect.patch) so they keep testing the live world. 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
d6e021a80b
commit
78641da0bb
15 files changed
+3077
-6
No files matched your search
@@ -26,6 +26,9 @@ namespace VoxelForgeRegionEval
|
||||
double GeneralPathEntriesPerSample = 0.0;
|
||||
double WallSeconds = 0.0;
|
||||
double WorkerCpuSeconds = 0.0;
|
||||
double BrickClassificationSeconds = 0.0;
|
||||
double DensityEvaluationSeconds = 0.0;
|
||||
double UniformFillSeconds = 0.0;
|
||||
double NanosecondsPerSample = 0.0;
|
||||
bool bWorkerCpuFromOsThreadTimes = false;
|
||||
bool bRegionProgram = false;
|
||||
@@ -34,6 +37,16 @@ namespace VoxelForgeRegionEval
|
||||
uint64 RawFloatHash = 0;
|
||||
uint64 SaturatedSamples = 0;
|
||||
uint64 NonFiniteSamples = 0;
|
||||
uint64 BrickCount = 0;
|
||||
uint64 SkippedBricks = 0;
|
||||
uint64 SkippedSamples = 0;
|
||||
uint64 MacroBrickChecks = 0;
|
||||
uint64 MacroCentreEvaluations = 0;
|
||||
uint64 UnsupportedBrickProofs = 0;
|
||||
uint64 ChunkBoundaryBrickProofs = 0;
|
||||
uint64 PassageBoundBrickProofs = 0;
|
||||
uint64 MixedMacroBrickProofs = 0;
|
||||
double LongestWorkerWallSeconds = 0.0;
|
||||
uint64 SdfCacheBuilds = 0;
|
||||
uint64 ActiveOpListBuilds = 0;
|
||||
uint64 BroadPhaseIndexBuilds = 0;
|
||||
@@ -122,6 +135,17 @@ namespace VoxelForgeRegionEval
|
||||
int32 RequestedWorkerCount = WorkerCount,
|
||||
bool bCollectWholeRunCounters = false);
|
||||
|
||||
/** Full-resolution step 2d field pass with sound world-aligned 8^3 brick proofs. */
|
||||
bool EvaluateRedefined(
|
||||
const UVoxelGenerator& Generator,
|
||||
FIntVector OriginVoxels,
|
||||
int32 Dimension,
|
||||
int32 RequestedWorkerCount,
|
||||
float DetailScale,
|
||||
TArray<float>& OutDensities,
|
||||
FTiming& OutTiming,
|
||||
bool bEnableBrickSkips = true);
|
||||
|
||||
/** Count exact room/tunnel/core/passage candidate visits with instrumentation enabled. */
|
||||
FCandidateVisits CountCandidates(
|
||||
const UVoxelGenerator& Generator,
|
||||
|
||||
Reference in new issue
Block a user