Files
Fr0zkaandClaude Opus 5.5 63c7e563d0 wip(assembler): round L29 -- strate transitions honoured at the bedrock/ceiling interface
EVoxelStrateTransition from the upper strate shapes the bedrock(N)/ceiling(N+1) interface in the
shared composition layer: Hard flat; Gradient = smooth 2D hash surface (16 m owner width, about 4 m
measured undulation); Interleaved = 3D domain-warped fingered overlap within the width. Each band
keeps >= 2 Core voxels solid; faces return to the seam near passage mouths. Interface audit over
512 m: 0 hole columns for all modes; wider-than-declared and too-thin controls rejected. All passage,
route, proof and validator audits pass; deterministic Clang = GCC. Evaluator 15. Cost +4% SW,
+1.3% FI vs L28. Open: ring-like artifact on the FI floor capture; transition look unverified.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSFYgsdW8ejZSyiMf4qRSX
2026-10-21 09:16:12 +02:00

6.9 KiB
Raw Permalink Blame History

World Assembler L29 — bedrock/ceiling transitions

Core now honors the upper strate's EVoxelStrateTransition at the shared interface. The owner world's upper two-chunk Gradient resolves to 16 m at the 8 m layout chunk size. SurfaceWorld's one-chunk setting remains in the resolved strate record. Core does not blend unrelated generator parameters. WorldAssemblyEvaluatorVersion is 15; recipe versions and resolved-layout schema V3 are unchanged.

Appearance and safety

Mode Result
Hard The original flat, touching boundary. No displacement or overlap.
Gradient Both faces follow one smooth 2D hash surface. On the 16 m interface, the measured peak-to-peak undulation is 3.988 m.
Interleaved A deterministic 3D domain-warped hash field moves both faces inward, producing fingered overlap. Measured peak crossing was 6.487 m in FloatingIslands and 6.952 m in SurfaceWorld, within the declared 16 m.

Each boundary band keeps at least two Core voxels of solid thickness: 0.5 m at the default 25 cm voxel size. The owner bands measured 0.5–1.0 m on the upper side and 6.25 m on the lower side. Interleaved is capped by both the declared width and the bands' combined thickness, so the solid intervals still touch or overlap.

The strict interface audit covers a 512 m square: 4,221 columns per interface, with four passage columns excluded from the hole sweep. Hard, Gradient and Interleaved each report zero hole columns and zero air samples. Both negative controls reject as expected: crossing one micrometre wider than declared, and either band one micrometre thinner than the minimum. All six recipe/mode runs pass.

Transition faces return to the nominal seam near passage mouths: the protected radius is the mouth radius plus 1 m, followed by a 2 m smooth fade. This kept the style-2 FI landing supported; its final capsule/support audit passes.

Passage and parity audits

The final matrix has 4 styles × 2 recipes × 2 compilers (16 runs). Capsule and walkability, open-air, naturalness, no-long-bridge, route bindings, strict-validator controls, L13 route parity, and L9 proof audits pass. Open-air reports zero violations; validator controls reject 10/10; route-parity and proof audits report zero mismatches/violations. The L23/L24/L26 negative controls are detected.

The L28 FloorProfileBlend diagnostic still exceeds its 2-voxel threshold in styles 1 and 3: 2.544 and 3.645 voxels. L28 records the same values on both compilers, so this is inherited and unchanged.

Hashes

The L25 W1/W8/W12 hash matrix is identical across Clang and GCC for both recipes: full-detail, whole-view, all LOD rows and exact-query hashes match. Hash order below is density / mesh / payload / topology.

Recipe Full detail (960 tiles) Whole view (2,370 tiles) Exact-query density / detail / collision
SurfaceWorld ace56c8f205238ad / a9c603a1248de6b8 / ea55f1f4fcc6a894 / 5ea7bc78a1b678ae 0e8c5af01df96b14 / 70099e89b77811ed / dbce0fdcf6764126 / ddaf81a1228f9b4b c949c4df2ce6f9d9 / 114c501e2d830d94 / e6011d3a248d4849
FloatingIslands ed550e0c8b182695 / 0e410a8e80a3e7f7 / 0751926f0c67d8a4 / f01208bc2f7841ec a492eefa4f534975 / 141f00f3e411a0df / 93f50c569526c5cb / d83b53c8e53df81c 7b7c50ac24ccadcc / efcba20c0c70c415 / e604823a249029bf

The 24 m moving crossing processed 314 entering tiles per recipe; Clang/GCC crossing hashes match. SurfaceWorld's away-from-interface probe at z = −400 m also matches L28: all 960 full-detail tiles and the exact-query density/detail/collision hashes are identical. The broader whole-view hash differs because its far-LOD coverage also includes the changed interface.

Cost

Five clean, alternating W12 pairs against Saved/Linux/bin/VoxelForgeCoreHeadless-linux28-clang-r28, hashing off:

Recipe L28 whole-view ready L29 whole-view ready Change
SurfaceWorld 1.581 s 1.644 s +3.97%
FloatingIslands 16.605 s 16.814 s +1.26%

FloatingIslands is within the ~3% target. SurfaceWorld is about one percentage point above it.

Captures

All are 1280×720 JPEGs, each under 21 KB (well below 300 KB):

  • captures/fi-floor-gradient-above.jpg — FI floor from above, inside FI.
  • captures/sw-ceiling-gradient-below.jpg — SW ceiling from below, inside SW.
  • captures/interface-hard-side-cutaway.jpg
  • captures/interface-gradient-side-cutaway.jpg
  • captures/interface-interleaved-side-cutaway.jpg

Changes and run history

Core transition evaluation/validation and the shared composition path changed, along with the headless transition audit, architecture/codemap, and the two Unreal files Source/VoxelForge/Public/VoxelStrateTypes.h and Source/VoxelForge/Private/VoxelForgeCoreAdapter.cpp. Unreal was unavailable here, so those edits were not compiled. No commit, push or stash was made.

Failed or retried runs:

  • An early Clang build used a nonexistent dispatch helper; corrected to the current query method and rebuilt with Clang and GCC.
  • The first Interleaved overlap used the full sum of band thicknesses and opened gaps (1,085 columns / 20,313 air samples). Capping overlap to min(declared width, combined thickness) removed the gaps.
  • An initial hole sweep sampled a half-open band edge and reported 752 boundary-rounding holes. Sampling half a voxel inside each band removed those edge artifacts; final sweeps report zero holes.
  • The first FI style-2 passage audit had 11 unsupported probes after Gradient moved the mouth face. The local mouth taper fixed it; all 16 final passage runs pass.
  • A resolved-layout-only command initially omitted required pipeline flags and exited 2; rerun with the required flags passed. Early cutaway camera/clip settings produced blank framing; the final orientation and clip plane produced the captures above.
  • One cost folder contained a duplicated timing sequence and was discarded. The five-pair clean run above was sequential. A cache experiment did not improve cost and was removed. A cost-extraction sed typo was rerun with Python; benchmark logs were unaffected.

No build or audit exceeded 30 minutes, and no step remained stuck for 15 minutes. All builds and runs used CPUs 0–11, at most 12 workers, normal priority, and the 6 GiB address-space cap.

Orchestrator review (Claude)

  • Merged: transitions honoured safely (0 holes over 4,221 columns per interface, negative controls reject, all passage audits pass, deterministic).
  • The look is not verified by the captures: interface-interleaved-side-cutaway.jpg shows flat faces (black = uncapped solid between faces), with no visible fingers; sw-ceiling-gradient-below.jpg is a flat plane; fi-floor-gradient-above.jpg shows concentric dashed rings on the FI floor, which looks like an artifact (possibly the passage-mouth protected-radius fade, or quantised undulation), not a smooth Gradient.
  • Cumulative SW cost vs L24 is now ~+8% (L28 +3.7% plus L29 +4%). L30 covers the ring artifact, readable transition captures, and cost recovery.