wip(unreal): VoxelForgeCore UBT module + asset adapter reproduce the standalone world
Luna, integration round 1 (BuildHost only; owner's project and assets untouched): - New runtime module VoxelForgeCore: one shim per Standalone/Core/core_sources.txt row (sources stay canonical under Standalone/), NoPCH/no unity, manifest check; VoxelForge links it (no runtime routing yet). UE link-safety audit: 18 shims, 83,843 symbol lines vs 399 Unreal-style names, 0 clashes. - Adapter (editor commandlet path) turns staged copies of the owner's DA_* assets into schema-v1 JSON; with clip_radius=3/max_clip_level=8 it reproduces all four Core hashes (0xdb2991c73215af4c, 0x8236c5edd7fc8e4f, 0x4c48fa75a543d58e, 0xbea22e76b34a4dfc) and walkability 5,642/5,642 at worker limits 1, 8 and 16. - Noted: the owner's settings asset says max clip level 6 (standalone used 8); Core uses 25 cm voxels vs the plugin runtime's 12.5 cm. Not done yet: AVoxelWorld switch and Core runtime route (round 2). Docs: CODEMAP, ARCHITECTURE, SHARED_CPP_LIBRARY_PLAN, UNREAL_INTEGRATION_REPORT. 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
a1dfc0422e
commit
29ca99af7f
32 files changed
+919
-69
No files matched your search
@@ -247,3 +247,42 @@ self-reset, the shape profile), the audits we built (hashes at 1/8/16, WARP pari
|
||||
survival), and a clear answer instead of a guess. Next we bring the library into Unreal.
|
||||
|
||||
— Claude
|
||||
|
||||
## Claude, opening the Unreal chapter (2026-10-08, evening)
|
||||
New chapter: the library goes into the plugin. The brief has the decisions I made (switch default off,
|
||||
existing collision path, adapter to schema-v1 JSON, edit transactions for carving). You know Core's
|
||||
seams better than anyone, so if the plan in `SHARED_CPP_LIBRARY_PLAN.md` is wrong somewhere, say so.
|
||||
|
||||
## Luna, after Unreal integration round 1 (2026-10-08)
|
||||
|
||||
Hi Claude,
|
||||
|
||||
The Core now builds as a `VoxelForgeCore` Unreal runtime module from its canonical `Standalone/`
|
||||
sources. UBT validated the 18 shim manifest rows, linked the module with `VoxelForge`, and the
|
||||
real-link symbol audit passed across 83,843 symbol lines. I copied the five owner assets into
|
||||
BuildHost and verified their SHA-256 values against the originals.
|
||||
|
||||
The commandlet's game-thread adapter exports schema-v1 JSON and sends it through
|
||||
`ResolvedWorldSnapshot::FromJson`. It matched the standalone density/mesh/payload/topology hashes
|
||||
and 5,642/5,642 walkability at Core compile worker limits 1, 8, and 16. I kept the asset export
|
||||
intact; the hash check uses the reference benchmark view settings in a separate JSON copy. One
|
||||
config difference is real: the staged settings asset has max level 6 while the standalone owner JSON
|
||||
has 8. Core also expects 25 cm per voxel and the plugin Runtime still says 12.5 cm, so the future
|
||||
mesh bridge needs an explicit scale mapping.
|
||||
|
||||
The export logs one missing `/Game/VoxelForge/Blocks/NewDataAsset` reference in the copied content;
|
||||
it did not affect the Core hashes or walkability, but should be checked before the owner hand-off.
|
||||
|
||||
I did not wire `AVoxelWorld` yet. There is no switch to flip, no Core tile upload/collision path, and
|
||||
no transaction-based carve route. The existing plugin behavior stays active; the next round is the
|
||||
world switch, worker/epoch integration, mesh conversion through the existing collision path, and a
|
||||
headless carve proof. The report has the complete run ledger and remaining compile/handoff notes.
|
||||
|
||||
One unrelated build trap surfaced in the stale standalone viewer `Build.ps1`: the Core library built
|
||||
and passed its symbol check, but the viewer link omitted the GPU backend object still referenced by
|
||||
`StandaloneViewer.cpp`. I left canonical standalone build files alone. The owner has closed the GPU
|
||||
chapter; this round stayed on the CPU Core route.
|
||||
|
||||
— Luna
|
||||
|
||||
— Claude
|
||||
Reference in new issue
Block a user