wip(L27, side branch): passages cross open voids inside shared natural rock columns

Unsupported passage runs > 12.5 m become a solid relief-bearing column (ceiling/island to
ground, flared base) with the helix inside, for every recipe; FI anchor uses the same path.
All 4 styles x both recipes: 0/0/0, 0 open-air, naturalness pass; no-long-bridge audit (L26
fails it). Deterministic, Clang = GCC. Look approved; cost +35% SW / +19% FI blocks merge (L28).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CSFYgsdW8ejZSyiMf4qRSX
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-21 04:14:14 +02:00
1 parent 37a223046c
commit 07b3fe2852
14 files changed
+772 -201

No files matched your search

+17 -5
View File
@@ -24,7 +24,7 @@ struct FStandaloneParitySample
int32 StrateIndex = INDEX_NONE;
};
struct FStandalonePassageBridgeRange
struct FStandalonePassageVoidCrossing
{
std::size_t passageIndex=0;
std::size_t firstSegment=0;
@@ -33,12 +33,24 @@ struct FStandalonePassageBridgeRange
double unsupportedLengthMetres=0.0;
std::array<double,4> startPoint{};
std::array<double,4> endPoint{};
bool needsColumn=false;
bool connectedAtStart=false;
bool connectedAtEnd=false;
std::int64_t centerXSubvoxels=0;
std::int64_t centerYSubvoxels=0;
std::int64_t topZSubvoxels=0;
std::int64_t bottomZSubvoxels=0;
std::int64_t minimumRadiusSubvoxels=0;
std::int64_t nominalRadiusSubvoxels=0;
std::int64_t maximumRadiusSubvoxels=0;
double maximumRouteOffsetMetres=0.0;
double maximumBoreRadiusMetres=0.0;
};
struct FStandalonePassageBridgeCache
struct FStandalonePassageVoidCrossingCache
{
std::mutex mutex;
std::unordered_map<std::string,std::vector<FStandalonePassageBridgeRange>> byLayout;
std::unordered_map<std::string,std::vector<FStandalonePassageVoidCrossing>> byLayout;
};
struct FStandaloneOwnerWorld
@@ -66,8 +78,8 @@ struct FStandaloneOwnerWorld
std::uint32_t CoreVoxelSizeMicrons = 250000;
std::uint32_t StrateLayoutChunkSizeMicrometres = 8000000;
std::int64_t StrateLayoutChunkWidthSubvoxels = 8192;
std::shared_ptr<FStandalonePassageBridgeCache> PassageBridgeCache =
std::make_shared<FStandalonePassageBridgeCache>();
std::shared_ptr<FStandalonePassageVoidCrossingCache> PassageVoidCrossingCache =
std::make_shared<FStandalonePassageVoidCrossingCache>();
};
namespace StandaloneOwnerLoader