wip(assembler): round S2 (Sol) -- shared per-tile feature queries for every Core family; island placement 30x faster

Island-only worker context replaced by a shared worker-local candidate domain
(WorldAssemblyFeatureTileListV1 / ScopedWorldAssemblyFeatureQueriesV1) serving
SurfaceWorld, FloatingIslands and far-shell queries; a per-domain cost hint keeps the
full scan on small plans. Content placement prepares the same queries and skips proven
air: owner island cell p95 7.07 -> 0.24 ms; populated fixture 572 exact placements,
3.27 s -> 29 ms. Full/candidate hashes equal with dropped-feature controls on both
families; S1 default W1/W8/W16 hashes reproduced; Core-off and M2 fixtures pass.
Default contract for future families in ARCHITECTURE 8.23. Run on gpt-6.1-sol medium.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
Fr0zkaandClaude Opus 5.5 committed 2026-10-18 19:50:45 +02:00
1 parent d6e69420e8
commit 6ddb834b1c
19 files changed
+1849 -132

No files matched your search

+16 -2
View File
@@ -137,6 +137,19 @@ public:
double MaximumDensityResidual = 0.0;
double DensityQueriesPerCell = 0.0;
double SurfaceQueriesPerCell = 0.0;
double FullScanCellP95Milliseconds = 0.0;
double ActiveBatchMilliseconds = 0.0;
double FullScanActiveBatchMilliseconds = 0.0;
double PopulatedBatchMilliseconds = 0.0;
double FullScanPopulatedBatchMilliseconds = 0.0;
double PopulatedMergeMilliseconds = 0.0;
double PopulatedApplyMilliseconds = 0.0;
int32 AppliedInstances = 0;
double PopulatedCellP95Milliseconds = 0.0;
double FullScanPopulatedCellP95Milliseconds = 0.0;
int32 PopulatedPlacements = 0;
int32 PopulatedCells = 0;
int32 ExactPlacementComparisons = 0;
double CellMedianMilliseconds = 0.0;
double CellP95Milliseconds = 0.0;
double UpdateMedianMilliseconds = 0.0;
@@ -338,7 +351,7 @@ private:
const TArray<int32>& EntryBiome, uint32 InSeed,
int32 Spacing, float Step, int32 MaxCrossings, float ColumnDepth,
TArray<FDecoSpawn>& OutSpawns,
FPlacementBuildCounters* OutCounters = nullptr);
FPlacementBuildCounters* OutCounters = nullptr, bool bUseFeatureQueries = true);
// Each step operates on ONE grid (G = NearGrid or FarGrid). LaunchDecoTasks throttles against the
// COMBINED in-flight count (OtherInFlight = the other grid's in-flight cells) so the two grids share
@@ -348,7 +361,8 @@ private:
void ProcessDecoResults(const FIntPoint& PlayerCell);
void MergeCellResult(FDecoGrid& G, const FDecoCellResult& Result); // fold one cell's spawns into its region build
void MarkCellDone(FDecoGrid& G, const FIntPoint& Region, const FIntPoint& Cell, uint32 BuildId); // idempotent per-cell accounting
void ApplyRegion(FDecoGrid& G, const FIntPoint& Region, FDecoRegionBuild& Build);
void ApplyRegion(FDecoGrid& G, const FIntPoint& Region, FDecoRegionBuild& Build,
bool bApplyLandmarkFootprints = true);
void RebuildDesiredCells(FDecoGrid& G, const FIntPoint& PlayerCell);
void ClearDecorationRegion(FDecoGrid& G, const FIntPoint& Region);
void ClearAllDecorations();