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

@@ -4350,6 +4350,7 @@ namespace StandaloneStreamBenchmark
RegionCompileWallSeconds,RegionCompileCpuSeconds,ParallelWorkers);
}
const auto MovingTileStart=Clock::now();
const auto MovingSubmitStart=Clock::now();
const auto MovingUpdate=Streamer.UpdateDesiredWithSet(MovedDesired,Desired.Tiles,1);
std::array<std::uint64_t,9> MovingTilesByLOD{};
std::array<double,9> MovingWorkerSecondsByLOD{};
@@ -4365,6 +4366,8 @@ namespace StandaloneStreamBenchmark
MovingMcInterpolationMsByLOD{},MovingMcDedupMsByLOD{},MovingMcOtherMsByLOD{};
std::vector<FHashedTile> MovingDensityRows,MovingMeshRows,
MovingPayloadRows,MovingTopologyRows;
std::vector<double> MovingEnteringLatencyMs;
MovingEnteringLatencyMs.reserve(static_cast<std::size_t>(std::max(0,MovingUpdate.NewJobs)));
int32 MovingFinished=0;
while(MovingFinished<MovingUpdate.NewJobs)
{
@@ -4374,6 +4377,8 @@ namespace StandaloneStreamBenchmark
for(const FStandaloneCpuTile& Tile:Ready)
{
++MovingFinished;
MovingEnteringLatencyMs.push_back(std::chrono::duration<double,std::milli>(
Clock::now()-MovingSubmitStart).count());
if(Tile.Key.Level>=0&&Tile.Key.Level<static_cast<int32>(MovingTilesByLOD.size()))
{
const std::size_t LOD=static_cast<std::size_t>(Tile.Key.Level);
@@ -4431,6 +4436,18 @@ namespace StandaloneStreamBenchmark
MovingFinished,MovingTileWallSeconds,
std::accumulate(MovingWorkerSecondsByLOD.begin(),MovingWorkerSecondsByLOD.end(),0.0),
RegionCompileWallSeconds,MovingWallSeconds);
std::sort(MovingEnteringLatencyMs.begin(),MovingEnteringLatencyMs.end());
const auto MovingLatencyPercentile=[&](double Percentile)
{
if(MovingEnteringLatencyMs.empty())return 0.0;
const std::size_t Rank=static_cast<std::size_t>(std::ceil(
Percentile*static_cast<double>(MovingEnteringLatencyMs.size())));
return MovingEnteringLatencyMs[std::min(
std::max<std::size_t>(1,Rank),MovingEnteringLatencyMs.size())-1];
};
std::printf("[MovingTileLatency] entering_tiles=%zu p50_ms=%.3f p95_ms=%.3f metric=submit_to_completion_observed\n",
MovingEnteringLatencyMs.size(),MovingLatencyPercentile(0.50),
MovingLatencyPercentile(0.95));
if(bHashDensity)
std::printf("[MovingTileHash] tiles=%d rows=(%zu,%zu,%zu,%zu) density=0x%016llx mesh=0x%016llx payload=0x%016llx topology=0x%016llx status=%s\n",
MovingFinished,MovingDensityRows.size(),MovingMeshRows.size(),