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
@@ -1138,3 +1138,59 @@ link-safety passed. No 0xC0000142 retry or new UECC folder occurred. I did not o
|
||||
editor or build his project, edit any .uasset, create a link, commit, push or stash.
|
||||
|
||||
— Luna
|
||||
|
||||
|
||||
## World assembler S2 / M3 Round 6 — 2026-10-18
|
||||
|
||||
The shared engine now owns a family-neutral, worker-local feature-query scope. I removed the
|
||||
island-only context from ShapeWorld; SurfaceWorld finite features, island groups, meshing, far-shell
|
||||
field calls, decoration cells and landmark columns use the same domain/identity/halo contract.
|
||||
S1's root-aware positive-density bounds and ordered connector composition are preserved.
|
||||
|
||||
The measurements matter here: the staged SurfaceWorld has one finite shelf, and the staged island
|
||||
plan has four islands. Forced candidate bookkeeping gave no useful small-plan gain and regressed
|
||||
the island tile timings by 7–13%. I added a shared cost hint, resolved once per domain, so these
|
||||
small plans keep their full evaluator. Richer plans still use candidates. With the actual staged
|
||||
owner template expanded to 256 islands, forced-list p95 was 110.570 -> 7.3619 ms (about 15x), with
|
||||
identical hashes and a detected dropped-feature control. The composed surface stress (64 shelves,
|
||||
one XY height writer and one cap writer) was 0.7084 -> 0.4078 ms, again exact with its control caught.
|
||||
The S1 57x stress number used a different Round 3 template, so I do not compare those as a regression.
|
||||
|
||||
The placement cost came from marching almost the entire strate and using a full plan at every
|
||||
step. Family-declared solid-support bounds now feed a shared column range query, alongside the
|
||||
same feature scopes. We skip only certified air and keep the old march phase, bisection,
|
||||
interpolation and transforms. Owner-palette p95 fell 7.0706 -> 0.2385 ms, with 58.84 density calls
|
||||
per cell versus S1's 7,763.38. Its sampled authored palette still places zero objects; I keep that
|
||||
limitation explicit rather than claiming those timings include spawning trees.
|
||||
|
||||
A separate populated fixture produced 572 placements across 14 cells. All 572 full/candidate
|
||||
transforms match exactly, all canonical anchor checks pass, and the largest density residual is
|
||||
0.035156 Core voxel units. The 64-cell active batch, including merge and real HISM application,
|
||||
was 3271.147 -> 29.105 ms. All 572 instances were applied and then cleared. This is synchronous
|
||||
CPU work under null RHI; it excludes rendering, GPU upload, async tree completion and owner tree
|
||||
Blueprint logic. One run failed the new count assertion because normal region application clears
|
||||
live landmark footprints. I isolated the validation fixture from those footprints; normal content
|
||||
keeps them enabled. The corrected run passes.
|
||||
|
||||
BuildHost SurfaceWorld passed its full actor/streaming/collision/edit checks and W1/W8/W16 with
|
||||
S1's default 25 cm hashes. The final island actor also keeps S1's entire W1/W8/W16 matrix. The final
|
||||
focused surface replay checks LOD0/1/7/8 full-versus-default tile hashes after the cost hint. M2 V1/V2
|
||||
fixture repeats, borders, MC identity and all 125 doorway phases pass. A separate Core-off run
|
||||
proves unchanged legacy density and 12.5 cm scale. All builds/link audits passed. No timeout,
|
||||
0xC0000142 or new UECC folder occurred. The failed HISM fixture run exited normally with test status 1.
|
||||
|
||||
My next structural suggestion is an immutable per-strate family-provider table, carrying declared
|
||||
bounds, cost hints, value certificates and optional support/surface queries. It would avoid repeating
|
||||
concrete family enumeration and rebuilding metadata in each consumer. I have not rebuilt that
|
||||
boundary this round; the report lists the allocation, many-strate, hash and stale-provider evidence
|
||||
needed first. Preserve the existing bounded biome lattice and cave interval machinery meanwhile.
|
||||
|
||||
New source files are `Round6/SharedFeatureListAudit.cpp` and `Round6/BuildSharedFeatureListAudit.ps1`
|
||||
under WorldAssemblerM3. The report lists every modified source, likely compile spots, all failed and
|
||||
replayed runs, timing limitations and the plain-words owner note. CODEMAP section 3 and ARCHITECTURE
|
||||
section 8.23 are updated. No owner project/editor was opened, closed or built. No .uasset was edited,
|
||||
and no link, commit, push or stash was created.
|
||||
|
||||
[Full S2 report](../../WorldAssemblerM3/Round6/REPORT.md).
|
||||
|
||||
— Sol
|
||||
Reference in new issue
Block a user