fix(passages): D-floors now exist inside the inter-strate gap; two stale tests corrected
Investigation of the two tests that had been failing for days (Codex; the fix reviewed and its field claims re-run by me). Real bug, introduced byadb34df: gap chunks take the compact bedrock path in GetDensityAt, which applied the passage modifier but never the build-authored native D-floor. So the walkable passage floor vanished exactly at the gap/strate seam, in the passages the player uses to cross strates. Now gap chunks set Result = -Density, then ApplyPassageNativeFloorMC, then VF_ApplyXYEdgeSealMC. The seal runs on the MC value, in the same order as before. Stale tests, not code bugs: - PassageLandsInOpenSpace: sinced97373cproduction passes the cached world/warp seed to VF_SuggestLandingPoint, while the test still queried with the default seed. Both queries are fixed; the test now allows only exact graph-owned support-floor samples (the production bProtectAuthoredTunnelFloor contract), and anything else still fails. 14/14 landing ends, 5,774/5,774 floor and capsule samples. - ClassifyTileSoundness: sinced38d4caClassifyTile covers the cell vertices g=0..CPA, but the test still sampled the mesher's outer normal halo. Both "holes" were halo-only (g = CPA+1). The test now asserts the current contract. TryProveSealedSolidTile already uses the exact core lattice, so it is not affected. Verified: crossing test PASS (max gate 0.129 s); sealed-proof test 22/22; both classifier variants pass (600 tiles each). Re-run by the orchestrator against this build: export OBJ SHA-256 b3e5f4c3..9b377 unchanged; capability 20,830 / 10,909 / walk-only 10,909. Ledger: one DDC startup fatal (crash folder 43101DC8, 04:38) and a set of expected diagnostic failures while locating the gap-branch omission; one malformed ablation argument (not a valid ablation). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TaFdXhTdYMkW1xrV6ApT6Y
This commit is contained in:
1 parent
cf2b2add20
commit
92607751b1
3 files changed
+185
-29
No files matched your search
@@ -2760,8 +2760,14 @@ float UVoxelGenerator::GetDensityAt(float WorldX, float WorldY, float WorldZ) co
|
||||
float Density = 8.0f; // bedrock solidity (positive = solid)
|
||||
StrateManager->ApplyPassageModifier(
|
||||
Density, WorldX, WorldY, WorldZ, 8.0f, 0.0f);
|
||||
VF_ApplyXYEdgeSeal(Density, WorldX, WorldY, WorldRadiusVoxels, EdgeSealThickness, 8.0f);
|
||||
// Gap chunks use the compact bedrock path above instead of the ordinary strate tail.
|
||||
// Native walkable passages still cross those chunks, so compose their build-authored
|
||||
// D-floor here as well; otherwise the floor disappears exactly at the gap/strate seam.
|
||||
Result = -Density;
|
||||
StrateManager->ApplyPassageNativeFloorMC(
|
||||
Result, WorldX, WorldY, WorldZ, 8.0f);
|
||||
VF_ApplyXYEdgeSealMC(
|
||||
Result, WorldX, WorldY, WorldRadiusVoxels, EdgeSealThickness, 8.0f);
|
||||
}
|
||||
else if (StrateManager)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user