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

+1 -50
View File
@@ -32,43 +32,6 @@
class FStandaloneShapeWorld
{
public:
struct FNativeIslandTileFeatureContext
{
const VoxelForgeCore::FloatingIslandPlanV1* Plan = nullptr;
const VoxelForgeCore::FloatingIslandTileFeatureListV1* FeatureList = nullptr;
};
class FScopedNativeIslandTileFeatureContext
{
public:
FScopedNativeIslandTileFeatureContext(const VoxelForgeCore::FloatingIslandPlanV1* plan,
const VoxelForgeCore::FloatingIslandTileFeatureListV1* featureList)
{
Context.Plan = plan;
Context.FeatureList = featureList;
Previous = SetNativeIslandTileFeatureContext(plan && featureList ? &Context : nullptr);
}
~FScopedNativeIslandTileFeatureContext()
{ RestoreNativeIslandTileFeatureContext(Previous); }
FScopedNativeIslandTileFeatureContext(const FScopedNativeIslandTileFeatureContext&) = delete;
FScopedNativeIslandTileFeatureContext& operator=(const FScopedNativeIslandTileFeatureContext&) = delete;
private:
FNativeIslandTileFeatureContext Context{};
const FNativeIslandTileFeatureContext* Previous = nullptr;
};
static const FNativeIslandTileFeatureContext* SetNativeIslandTileFeatureContext(
const FNativeIslandTileFeatureContext* context)
{
auto& active = ActiveNativeIslandTileFeatureContext();
const auto* previous = active;
active = context;
return previous;
}
static void RestoreNativeIslandTileFeatureContext(const FNativeIslandTileFeatureContext* context)
{ ActiveNativeIslandTileFeatureContext() = context; }
static const FNativeIslandTileFeatureContext* GetNativeIslandTileFeatureContext()
{ return ActiveNativeIslandTileFeatureContext(); }
double GetCoreVoxelSizeCm() const
{
return Owner == nullptr || Owner->CoreVoxelSizeMicrons == 0
@@ -1140,12 +1103,6 @@ public:
}
private:
static const FNativeIslandTileFeatureContext*& ActiveNativeIslandTileFeatureContext()
{
static thread_local const FNativeIslandTileFeatureContext* Context = nullptr;
return Context;
}
static uint64 PackLatticeKey(int32 X,int32 Y,int32 Z)
{
constexpr uint64 Mask=0x1FFFFFull;
@@ -1961,13 +1918,7 @@ private:
const VoxelForgeCore::FloatingIslandFieldV1 Field(
Plan->manifest.recipe,Plan->manifest.plan);
if(!Field.isValid())return false;
std::int64_t Density=0;
const auto* TileContext=GetNativeIslandTileFeatureContext();
if(TileContext&&TileContext->Plan==&Plan->manifest.plan&&TileContext->FeatureList)
Density=Field.densitySubvoxelsForTile(ToFixed(X),ToFixed(Y),ToFixed(Z),
*TileContext->FeatureList);
else
Density=Field.densitySubvoxels(ToFixed(X),ToFixed(Y),ToFixed(Z));
std::int64_t Density=Field.densitySubvoxels(ToFixed(X),ToFixed(Y),ToFixed(Z));
const std::int64_t Bottom=Plan->manifest.recipe.layoutMinimumZSubvoxels;
const std::int64_t Top=Plan->manifest.recipe.layoutMaximumZSubvoxels;
const std::int64_t Seal=Plan->manifest.recipe.boundarySealSubvoxels;