proto: liminal looks - pool rooms, backrooms grid, staircase to nowhere, terraced hills (L161)
Stamp vocabulary v7 (opt-in fillBox, carveBox, fillSteps; carveArch reused); flat-field liminal stamp fixtures; capsule walk audit with doorway-width gate (1.2 m control fails as expected). Clang/GCC W1/W8/W12 identical; owner canonical hashes unchanged; fast tier 273/273. Terraced wide view not yet legible. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
1 parent
4290672d1c
commit
ff52c9b576
17 files changed
+861
-12
No files matched your search
@@ -105,6 +105,7 @@ namespace
|
||||
std::filesystem::path WorldAssemblyManifestOutputPath;
|
||||
std::filesystem::path ResolvedLayoutOutputPath;
|
||||
std::filesystem::path CoreSnapshotInputPath;
|
||||
std::filesystem::path LiminalStampWalkAuditPath;
|
||||
bool ResolvedLayoutOnly=false;
|
||||
bool AuditResolvedLayoutBoundaries=false;
|
||||
bool AuditResolvedLayoutPassages=false;
|
||||
@@ -1449,6 +1450,7 @@ namespace
|
||||
" --transition-mode=hard|gradient|interleaved --transition-width-chunks=N (fixture override)\n"
|
||||
" --audit-resolved-layout-passages (capsule, support, route-binding and blocked-control audit)\n"
|
||||
" --audit-liminal-road-walk (capsule, support, width and grade audit for the liminal road)\n"
|
||||
" --audit-liminal-stamp-walk=FILE (capsule, support and doorway-width audit for a stamp fixture)\n"
|
||||
" --audit-heightfield-profile (brute-force the profiled field intervals and route)\n"
|
||||
" --audit-motif-intervals (brute-force motif bounds, BVH and shape-free guards)\n"
|
||||
" --audit-landmark-reachability (capsule, support, grade and buried-L43 control)\n"
|
||||
@@ -1497,6 +1499,9 @@ namespace
|
||||
else if(arg=="--audit-resolved-layout-boundaries")options.AuditResolvedLayoutBoundaries=true;
|
||||
else if(arg=="--audit-resolved-layout-passages")options.AuditResolvedLayoutPassages=true;
|
||||
else if(arg=="--audit-liminal-road-walk")options.AuditLiminalRoadWalk=true;
|
||||
else if(arg.starts_with("--audit-liminal-stamp-walk="))
|
||||
options.LiminalStampWalkAuditPath=std::filesystem::path(std::string(
|
||||
arg.substr(std::string_view("--audit-liminal-stamp-walk=").size())));
|
||||
else if(arg=="--native-owner-fi")options.NativeOwnerFloatingIslandsRecipe=true;
|
||||
else if(arg=="--density-dispatch-report")
|
||||
{options.DensityDispatchReport=true;options.StreamHash=true;options.StreamHashTiles=true;}
|
||||
@@ -2035,10 +2040,14 @@ int main(int argc,char** argv)
|
||||
ownerJsonRoot.Get("liminal_road_override").Data);
|
||||
const bool hasLiminalPillarGrid=!std::holds_alternative<std::nullptr_t>(
|
||||
ownerJsonRoot.Get("liminal_pillar_grid_override").Data);
|
||||
const bool hasLiminalStampFixture=!std::holds_alternative<std::nullptr_t>(
|
||||
ownerJsonRoot.Get("liminal_stamp_fixture_override").Data);
|
||||
if((hasMotifFamily&&hasLiminalRoad)||(hasMotifFamily&&hasLiminalPillarGrid)
|
||||
||(hasLiminalRoad&&hasLiminalPillarGrid))
|
||||
||(hasLiminalRoad&&hasLiminalPillarGrid)
|
||||
||(hasLiminalStampFixture&&(hasMotifFamily||hasLiminalRoad||hasLiminalPillarGrid)))
|
||||
{std::fprintf(stderr,"liminal content overrides must be used in separate fixtures\n");return 2;}
|
||||
if(hasCoreLiminalField&&(hasMotifFamily||hasLiminalRoad||hasLiminalPillarGrid))
|
||||
if(hasCoreLiminalField&&(hasMotifFamily||hasLiminalRoad||hasLiminalPillarGrid
|
||||
||hasLiminalStampFixture))
|
||||
{std::fprintf(stderr,"Core.Liminal.Field owns its variant geometry and cannot be combined with prototype content overrides\n");return 2;}
|
||||
if(hasMotifFamily)
|
||||
{
|
||||
@@ -2138,6 +2147,27 @@ int main(int argc,char** argv)
|
||||
"placement=regular_grid route_keepout=PASS band_clearance=PASS status=PASS\n",
|
||||
resolvedLayout.stampVocabularyVersion,resolvedLayout.stamps.size());
|
||||
}
|
||||
if(hasLiminalStampFixture)
|
||||
{
|
||||
std::vector<VoxelForgeCore::ResolvedLayoutStampRequestV1> requests;
|
||||
if(!StandaloneWorldAssemblyPrototype::BuildLiminalStampFixtureRequests(ownerJsonRoot,
|
||||
*ownerWorld,worldAssembly,resolvedLayout,requests,error)
|
||||
||!VoxelForgeCore::ResolveResolvedLayoutStampsV1(
|
||||
resolvedLayout,seed,requests,error))
|
||||
{std::fprintf(stderr,"Liminal stamp fixture resolution failed: %s\n",error.c_str());return 2;}
|
||||
const std::size_t boxFills=static_cast<std::size_t>(std::count_if(
|
||||
resolvedLayout.stamps.begin(),resolvedLayout.stamps.end(),[](const auto& stamp)
|
||||
{return stamp.kind==VoxelForgeCore::ResolvedSdfStampKindV1::fillBox;}));
|
||||
const std::size_t boxCarves=static_cast<std::size_t>(std::count_if(
|
||||
resolvedLayout.stamps.begin(),resolvedLayout.stamps.end(),[](const auto& stamp)
|
||||
{return stamp.kind==VoxelForgeCore::ResolvedSdfStampKindV1::carveBox;}));
|
||||
const std::size_t stairs=static_cast<std::size_t>(std::count_if(
|
||||
resolvedLayout.stamps.begin(),resolvedLayout.stamps.end(),[](const auto& stamp)
|
||||
{return stamp.kind==VoxelForgeCore::ResolvedSdfStampKindV1::fillSteps;}));
|
||||
std::printf("[LiminalStampFixtureResolved] vocabulary=%u records=%zu box_fills=%zu box_carves=%zu steps=%zu placement=bounded_flat_field status=PASS\n",
|
||||
resolvedLayout.stampVocabularyVersion,resolvedLayout.stamps.size(),
|
||||
boxFills,boxCarves,stairs);
|
||||
}
|
||||
if(options.LandmarkChamberDemo)
|
||||
{
|
||||
std::vector<VoxelForgeCore::ResolvedLayoutStampRequestV1> requests;
|
||||
@@ -2639,5 +2669,6 @@ int main(int argc,char** argv)
|
||||
options.MovingCameraSpeedMetersPerSecond,options.MovingCameraDurationSeconds,
|
||||
options.MovingCameraDwellSeconds,options.ColdWorkerTimeline,
|
||||
options.AuditPassageSourceClamp,options.AuditPassageCarveReach,
|
||||
options.AuditPassageTileSeams,options.AuditLiminalRoadWalk);
|
||||
options.AuditPassageTileSeams,options.AuditLiminalRoadWalk,
|
||||
options.LiminalStampWalkAuditPath);
|
||||
}
|
||||
Reference in new issue
Block a user