perf(core): FloatingIslands whole view 16.7 s -> 7.4 s (L51); research R20

Measured first: 45% of FI tiles are all-air, yet FloatingIslandFieldV1 returned unknown for any box near
an island AABB (25,536 unknown boxes, 0 tile skips). Conservative ranges for island bodies, root lobes,
buttresses, connectors, surface detail and smooth-min budgets now let the shared box classifier prove FI
air/solid (216 tile skips; 28.6 M audited samples, 0 violations). The X8 path reuses its FI preflight
samples. LOD7-8 far-shell and column work is skipped outside per-tile island/connector influence bounds
(farHorizonVersion 4 -> 5). FI 16.74 -> 7.36 s (-56%), FI moving entering-tile p50 halved; SW unchanged.
Peer determinism (Clang/GCC W1/W8/W12, random cameras) PASS; fast/medium/full PASS.
Research R20: world-type catalogue and dreamcore/liminal concepts (revised after a deepening pass).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-24 20:36:54 +02:00
1 parent ca85e876ad
commit 75550256ef
9 files changed
+793 -23

No files matched your search

+21 -6
View File
@@ -3121,20 +3121,36 @@ public:
}
bool bHasLegacySurfaceSample=false;
bool bHasNativeIslandSample=false;
std::array<float,8> NativeIslandDensity{};
std::array<bool,8> HasNativeIslandSample{};
for(int32 Lane=0;Lane<Count;++Lane)
{
const float SampleX=static_cast<float>(XStart+Lane*XStep);
const float SampleY=static_cast<float>(Y);
const float SampleZ=static_cast<float>(Z);
bHasLegacySurfaceSample|=UsesLegacySurfaceField(SampleX,SampleY,SampleZ);
float IslandDensity=0.0f;
bHasNativeIslandSample|=NativeFloatingIslandDensityAt(
SampleX,SampleY,SampleZ,IslandDensity);
HasNativeIslandSample[static_cast<std::size_t>(Lane)]=NativeFloatingIslandDensityAt(
SampleX,SampleY,SampleZ,NativeIslandDensity[static_cast<std::size_t>(Lane)]);
bHasNativeIslandSample|=HasNativeIslandSample[static_cast<std::size_t>(Lane)];
}
if(bHasLegacySurfaceSample||bHasNativeIslandSample)
{
for(int32 Lane=0;Lane<Count;++Lane)
OutDensity[Lane]=DensityAtLattice(XStart+Lane*XStep,Y,Z);
{
const std::size_t Index=static_cast<std::size_t>(Lane);
if(HasNativeIslandSample[Index])
{
++ThreadClassificationStats().NativeFloatFieldCalls;
const float SampleX=static_cast<float>(XStart+Lane*XStep);
const float SampleY=static_cast<float>(Y);
const float SampleZ=static_cast<float>(Z);
OutDensity[Lane]=ApplyEditBrushes(ApplyResolvedStrateComposition(
NativeIslandDensity[Index],SampleX,SampleY,SampleZ),
SampleX,SampleY,SampleZ);
}
else
OutDensity[Lane]=DensityAtLattice(XStart+Lane*XStep,Y,Z);
}
return;
}
if(bAnalyticOnly)
@@ -5044,8 +5060,7 @@ public:
// A box crossing recipes cannot use one field interval; unknown composition stays Mixed.
// Une boite qui traverse plusieurs recettes reste Mixed, car l'intervalle d'un seul champ ne suffit pas.
if(bBadPlan||(bSurfaceOverlap&&(bIslandOverlap||bOtherStrateOverlap))
||(bIslandOverlap&&(bIslandOtherStrateOverlap
||(!bSurfaceOverlap&&bOtherStrateOverlap))))
||(bIslandOverlap&&bIslandOtherStrateOverlap))
return Finish(EVoxelTileClass::Mixed,true);
// The native interval path below is the exact field selected first by DensityAtLattice
// for SurfaceWorld and FloatingIslands. Legacy analytic primitives/layer bounds cannot