Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux131/REPORT.md
T
Fr0zkaandClaude Opus 5.5 81071969fc docs+cleanup: CURRENT-STATE.md and dead L86/L88 ablation switches removed (L131)
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
2026-10-31 02:11:10 +01:00

11 KiB
Raw Blame History

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, and VOXELFORGE_L88_ALLOW_PASSAGE_ABLATION_WALKABILITY_FAILURE. These only supported archived passage/boundary ablations in Linux86/RunL86Ceiling.py, Linux87/RunL87Timeline.py, and Linux88/RunL88CeilingSplit.py; no current verify.py gate 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_GRADE block from Standalone/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 archived PERF-SAMPLED.md and WORK-NEXT.md record 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, and voxel.ResearchParameterizedCaveSet are default-off and used by Tools/VoxelForgeTest.ps1 steps 2d/2e/2f. The region-eval commandlet consumes SetResearchBrickBinningEnabled, SetResearchBrickRoomReachScale, and SetResearchRegionCacheWindowEnabled; keep these editor-only experiment paths. Source: VoxelForgeRegionEvalExperiment.cpp, VoxelForgeTest.ps1.
  • Runtime profiling and trace: voxel.SampleStacks still starts FVoxelStackSampler (the guarded Tools/VoxelForgeTest.ps1 -SampleDensityStacks path consumes it); voxel.ProfileDensity, voxel.ProfileDensityFull, voxel.ProfileTileGeneration, voxel.ProfileCollisionCookStages, and voxel.PerfAttribution remain opt-in. voxel.StartupTraceFile, voxel.StartupTraceMaxTiles, and voxel.StartupTraceUntilEndPlay feed the Unreal startup trace used by the arrival/movement runners. Keep. Build-time VOXELFORGE_PROFILE_LEGACY_TERMS (L76) and VOXELFORGE_PROFILE_L77/--linux77-profile (stack sampler and route census) remain in Standalone/BuildLinux.sh and 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-overlap remain. 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 fast consumes 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, and voxel.SealedSolidProof remain. They select optimized or comparison paths; the density block equivalence test explicitly forces UseFusedEvaluator=0, while most others are production defaults or historical measurement controls. voxel.WormsForceOff is 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|12 remain. The L94 report documents serial edge repair; no current verify.py consumer was found for the other CLI A/B controls, so they remain pending a separately reviewed removal. voxel.TilePostReachDebug, voxel.TilePostReachScale, and voxel.TileReachCostDiagnostics remain for the tile-post-reach test; voxel.TunnelMouthTrim remains a development-only room-mouth geometry control. No L131 gate uses these.
  • FLegacyGeneratorFieldAdapter remains the Core fallback for unsupported generator/recipe combinations, and Unreal's Core switch remains default-off. voxel.StreamingLegacyPendingResultCap=1 remains the L120–L123 admission negative control; voxel.StreamingCoarseFirst remains opt-in pending a rendered owner-plan check. bStandaloneResearchRoundTunnels and bStandaloneResearchEnhancedWalls remain consumed by the standalone viewer/Core adapter.

Checks

  • Clang 19 and GCC standalone builds passed with the L131 source stamp 5119cee164406856cbca496d160c0e0a8124ae2529fa7c0ebd51634a7c65a6cb. Standalone/BuildLinux.sh applied 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-islands exited 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, no prlimit. 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 --check passes. No commit, push, or stash was made.

Builds, per-run logs, timing records, hash records, and audit output are under Saved/Linux/l131/.