One current-state page (shipping behaviour, references with sources, gaps, verification, closed lines), linked from CLAUDE.md. Removes the L86/L88 passage/boundary ablation switches and the unused legacy route-grade audit; inventory of every kept switch in the report. Output identical: 24/24 + 18/18 hashes, fast tier, walk/seam audits, UE host build; timing unchanged (-0.2%, CI spans 0). No Source/ changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
11 KiB
Linux131 — current state and dead experiment cleanup
Branch wip/l131-current-state, based on cbbfd46; Core evaluator remains v227. The root CURRENT-STATE.md consolidates the shipping behavior, current references, verification commands, open gaps, and closed proposals.
Removed
- Removed
VOXELFORGE_L86_DISABLE_PASSAGE_COMPOSITION,VOXELFORGE_L88_DISABLE_PASSAGES,VOXELFORGE_L88_DISABLE_BOUNDARY_BANDS, andVOXELFORGE_L88_ALLOW_PASSAGE_ABLATION_WALKABILITY_FAILURE. These only supported archived passage/boundary ablations inLinux86/RunL86Ceiling.py,Linux87/RunL87Timeline.py, andLinux88/RunL88CeilingSplit.py; no currentverify.pygate or live comparison uses them. Passage feature selection, passage composition, and boundary bands now run on the normal path, and passage-route validation cannot be waived by the old ablation flag. - Removed the
VOXELFORGE_AUDIT_LEGACY_ROUTE_GRADEblock fromStandalone/Source/WorldAssemblyPrototype.h. The source contained its only reference; no test, current tool, or report invoked it. - Kept route-candidate grading and all user-visible behavior. This cleanup adds no evaluator version or baseline change.
Switch and hook inventory
Environment switches in compiled Core/Source
| Switch | Effect and consumer | Keep decision |
|---|---|---|
VOXELFORGE_L74_TIGHT_PROOF_CONTROL |
Proof negative control. Linux74/FalsifierL74.py and Linux75/FalsifierL75.py. |
Keep for falsifier reproducibility; not a current fast-tier input. |
VOXELFORGE_L75_TN_BLOCK_REGRESSION |
Fixed TunnelNetwork regression path in Core and mesher. RunTnBlockRegressionL75.py and FalsifierL75.py. |
Keep; the regression tools still consume it. |
VOXELFORGE_L98_PASSAGE_PREP_TRACE |
Emits preparation-stage timing/count data. RunL98Hashes.py and RunL98ReuseCounts.py. |
Keep as a focused profiler for future preparation comparisons. |
VOXELFORGE_L98_PASSAGE_REUSE_PROBE |
Compares the prepared projection with direct scalar queries. RunL98ReuseCounts.py. |
Keep for exactness probes. |
VOXELFORGE_L104_FAR_HIT_CACHE |
Selects indexed versus linear far-hit candidate lookup. RunL104ReadinessPairs.py and RunL104ProbeStats.py. |
Keep for reproducible A/B comparisons; cache defaults on. |
VOXELFORGE_L104_FAR_HIT_STATS |
Emits far-hit candidate/query counters. RunL104ProbeStats.py. |
Keep for the measurement tool. |
VOXELFORGE_L115_DENSITY_PROFILE |
Enables density and floor-query profiling. RunL115DensityProbe.py, RunL119DensityProbe.py, and RunL125DensityProbe.py. |
Keep; these remain the focused floor-probe path. |
VOXELFORGE_L130_PASSAGE_REACH_PROOF_AUDIT |
Checks passage proof/feature influence bounds. L130's reach audit and report. | Keep for reach changes and audit reproduction. |
Archived runners also set VOXELFORGE_L81_PASSAGE_BOUND_PADDING_VOXELS, VOXELFORGE_L86_PASSAGE_RESULT_CACHE, VOXELFORGE_L90_PASSAGE_BRICK_METRES, VOXELFORGE_L90_PASSAGE_CANDIDATE_CENSUS, VOXELFORGE_L90_PASSAGE_REACH_METRES, VOXELFORGE_L91_PASSAGE_SOURCE_FLOOR_VOXELS, VOXELFORGE_L93_PASSAGE_CARVE_REACH_METRES, VOXELFORGE_L98_PASSAGE_REUSE_COUNTS, VOXELFORGE_L114_DENSITY_PROFILE, and VOXELFORGE_L118_TAG_TIMING. None has a compiled-source reader at cbbfd46; they are inert historical runner strings.
Other experiments, diagnostics, and legacy paths retained
- World-changing tunnel ablations: all 14
voxel.TunnelAblate*controls remain (CaveWarp,DetailOps,RoomSDF,TunnelSDF,TunnelCore,PassageCarving,PassageStructuralPosts,NativeFloor,Disturbances,OriginSpine,BoundarySeal,LandingPosts,XYEdgeSeal,PitChimneySDF). The editor commandlet writes their resolved mask into export and result manifests; the archivedPERF-SAMPLED.mdandWORK-NEXT.mdrecord their measurements. No current runner invokes an ablation. Keep for manifest attribution and historical reproduction; removing it needs a metadata migration. Source:VoxelDensityAblation.cpp,VoxelForgeExploreCommandlet.cpp. - Research fields:
voxel.ResearchRedefinedDensityField,voxel.ResearchRedefinedDensityDetailScale,voxel.ResearchParameterizedCave, andvoxel.ResearchParameterizedCaveSetare default-off and used byTools/VoxelForgeTest.ps1steps 2d/2e/2f. The region-eval commandlet consumesSetResearchBrickBinningEnabled,SetResearchBrickRoomReachScale, andSetResearchRegionCacheWindowEnabled; keep these editor-only experiment paths. Source:VoxelForgeRegionEvalExperiment.cpp,VoxelForgeTest.ps1. - Runtime profiling and trace:
voxel.SampleStacksstill startsFVoxelStackSampler(the guardedTools/VoxelForgeTest.ps1 -SampleDensityStackspath consumes it);voxel.ProfileDensity,voxel.ProfileDensityFull,voxel.ProfileTileGeneration,voxel.ProfileCollisionCookStages, andvoxel.PerfAttributionremain opt-in.voxel.StartupTraceFile,voxel.StartupTraceMaxTiles, andvoxel.StartupTraceUntilEndPlayfeed the Unreal startup trace used by the arrival/movement runners. Keep. Build-timeVOXELFORGE_PROFILE_LEGACY_TERMS(L76) andVOXELFORGE_PROFILE_L77/--linux77-profile(stack sampler and route census) remain inStandalone/BuildLinux.shand Core. - Standalone profiles and timelines: retained
--profile-column-overlap,--profile-lod-work,--profile-passage-composer,--instrument-tile-drain,--cold-worker-timeline,--linux77-profile,--tls-probe=N,--tls-probe-touch=..., and--diagnostic-slow-shape-compile-ms=N. The viewer's--profile-attribution,--profile-detail-band, and--profile-far-column-overlapremain. The L77 profiler, tile drain instrumentation, timelines, and TLS probe are measurement hooks; archived reports and runners still provide reproducible consumers. - Standalone audits: all source-advertised hooks remain:
--audit-ore-vein-yield,--audit-resolved-layout-boundaries,--audit-strate-transitions,--audit-resolved-layout-passages,--audit-heightfield-profile,--audit-motif-intervals,--audit-landmark-reachability,--audit-native-caves,--audit-native-lattice,--audit-surface-clearance,--audit-uniform-block-proofs,--audit-base-page-equivalence,--audit-route-parity,--audit-passage-tile-seams,--audit-passage-source-clamp,--audit-passage-carve-reach,--audit-tile-shape-readiness, and the mesher's--audit-raw-skirts.verify.py fastconsumes the current route, passage, block-proof, transition, native-field and negative-control subset; dedicated L37/L75/L125/L130 runners exercise the specialized audits. Keep the whole audit set. - Evaluator A/B controls:
voxel.FastIsFinite,voxel.UseFusedEvaluator,voxel.WormBlockSkip,voxel.TileCacheWindow/ its two minimum-LOD controls,voxel.SpatialIndex,voxel.ChunkRoutingCache,voxel.UseOperatorBlock,voxel.CoreColumnCacheDirectMapped,voxel.CoreMCGradientMemoization,voxel.FloorRound1PassageProjectionCache,voxel.PlayerFitMemo,voxel.UseBlockEarlyOut,voxel.OuterClassifierMode, andvoxel.SealedSolidProofremain. They select optimized or comparison paths; the density block equivalence test explicitly forcesUseFusedEvaluator=0, while most others are production defaults or historical measurement controls.voxel.WormsForceOffis a world-changing development measurement override. Kept; no current L131 gate changes them. - Standalone A/B and geometry controls:
--exact-midpoint-density-memo,--no-exact-midpoint-density-memo,--active-lane-batching,--proof-block-cells=N,--parallel-sign-edge-repair,--serial-sign-edge-repair, and--shape-helper-limit=8|12remain. The L94 report documents serial edge repair; no currentverify.pyconsumer was found for the other CLI A/B controls, so they remain pending a separately reviewed removal.voxel.TilePostReachDebug,voxel.TilePostReachScale, andvoxel.TileReachCostDiagnosticsremain for the tile-post-reach test;voxel.TunnelMouthTrimremains a development-only room-mouth geometry control. No L131 gate uses these. FLegacyGeneratorFieldAdapterremains the Core fallback for unsupported generator/recipe combinations, and Unreal's Core switch remains default-off.voxel.StreamingLegacyPendingResultCap=1remains the L120–L123 admission negative control;voxel.StreamingCoarseFirstremains opt-in pending a rendered owner-plan check.bStandaloneResearchRoundTunnelsandbStandaloneResearchEnhancedWallsremain consumed by the standalone viewer/Core adapter.
Checks
- Clang 19 and GCC standalone builds passed with the L131 source stamp
5119cee164406856cbca496d160c0e0a8124ae2529fa7c0ebd51634a7c65a6cb.Standalone/BuildLinux.shapplied the required CPU and address-space limits. - L80 timing: one warm-up per binary and five interleaved pairs in each of four strata × W8/W12 cells, comparing the pre-cleanup L130 binary with L131. Load was 0.81; CPU idle was 99.2%. Across 40 pairs per metric, mean relative change was −0.22% near-ready (95% CI −1.02% to +0.57%) and −0.29% whole-view (−1.04% to +0.46%); the intervals include zero. Raw timing summary.
- Exact hashes: 24/24 owner4 SW/FI/TN/VS × Clang/GCC × W1/W8/W12 tile and whole-view identities; 18/18 canonical cases across owner4 SurfaceWorld and owner2 SurfaceWorld/FloatingIslands. All match the pre-cleanup L130 binary and agree across compiler/worker combinations. For transparency, forcing the owner4 dataset through
--recipe=floating-islandsexited during setup with “could not find a finite SurfaceWorld strate”, before hashing; it is not a valid canonical case. Tile matrix, canonical matrix. - Walkability: 21,425/21,425 passage centerline samples open. Seam audit: 4 pairs / 4,900 shared samples, zero mismatches. Audit log.
- Fast tier: PASS, 259 gated checks plus 5 diagnostics, 80 runs, 371.0 s. The five diagnostic-only comparisons are historical baselines; all required checks pass. Summary.
- Linux
VFHostEditor: PASS, 27/27 actions, 78.81 s with-NoUBA -MaxParallelActions=4, noprlimit. UBT's default log rotation first failed before compilation in the read-only user config directory; the successful rerun set-Log=.../Saved/Linux/l131/ubt.log. Three existing RealtimeMesh deprecation warnings remain. Build log. - Unreal
Source/files changed: none. No Windows compile is requested by this diff; Windows determinism remains unverified. git diff --checkpasses. No commit, push, or stash was made.
Builds, per-run logs, timing records, hash records, and audit output are under Saved/Linux/l131/.