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:
1 parent
d6e69420e8
commit
6ddb834b1c
19 files changed
+1849
-132
No files matched your search
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user