pipelines/RESEARCHED_STACK.md
The web-research fan-out's synthesis (five cited briefs in tech_research/; every version claim
live-verified, VERIFIED-vs-INFERRED tagged in each brief). This is the ground truth Phase D
writes the Translation Docs against, and it answers the mission's three acceptance chains as far
as research reaches. The residual set is triaged at the bottom: JOSH-RULES / BENCHMARK-DAY /
ENGINEERING-SPIKE.
1. Download: Copernicus GLO-30 DEM (primary; NASADEM fallback, ALOS cross-check) per region
bounding box via ONE OpenTopography REST endpoint → GeoTIFF. Free, commercial-clean,
worldwide (USGS 3DEP is US-only — irrelevant to our 69 regions). Landcover: ESA WorldCover
10m (11 classes).
2. Preprocess/ALTER (the scriptable leg): GDAL/rasterio — reproject, resample to the
region's meters-per-vertex (the ONE scale-compression parameter, per-region design decision),
carve/composite our fantasy sites into the real terrain, emit 16-bit heightmaps sized to UE's
8,129-vertex-per-actor cap (World Partition tiles beyond it). 30m source detail does NOT
upscale — fine detail is synthesized, not resampled.
3. Detail synthesis: Gaea (Indie $99) is the real value in the middle — erosion/river detail
a 30m DEM can't carry. Open: Gaea CLI-automation tier + 3.0 status; UE 5.8's NEW native Mesh
Terrain system is the emerging alternative in this slot. Cesium = reference/preview only
(tile→editable-Landscape baking is explicitly unsupported); it is NOT an authoring leg.
4. Import: UE Python landscape_import_heightmap_from_render_target + weightmaps — with ONE
caveat: stock Python has NO direct Landscape-import path at full fidelity; a small C++ shim
wrapping ALandscape::Import() is the documented workaround (budget as real engineering).
5. Populate: ESA WorldCover classes → landscape material-layer weightmaps → **PCG Biome
Core** (official, engine-bundled) reads layer weights and spawns biomes; encounters/props
spawn from our registries via PCG's first-class DataTable ingestion.
6. Assets/art/architecture: split-by-task local gen — TRELLIS.2 (MIT) geometry;
the PBR texture leg needs a commercially-clean route (TRELLIS's bake path runs through
NVIDIA non-commercial components; Hunyuan3D-2.1 is production-grade but 1M-MAU-capped and
EU/UK/KR-excluded — Josh rules the territory question); Hi3DGen (MIT) geometry fallback;
NPCs stay MetaHuman-first; real cultural architecture is never raw-generated (§17.1);
retopo/LOD/UV = headless Blender scripting + human QC (no mature open AI solution).
"The NVIDIA open-world generator" does not exist as a product: NVIDIA's shipped local piece
is TRELLIS-based OBJECT generation; the world-gen-shaped products are non-NVIDIA (Overworld,
demoed GTC 2026 — evaluate when public).
UE 5.8 CONFIRMED current and terminal for UE5 (shipped 2026-06-17; UE6 EA ~late 2027). The
deterministic spine is real: embedded Python 3.11.8, headless commandlets, RunUAT BuildCookRun,
Horde CI — a no-clicks pipeline exists end to end. The full step-by-step chain (artifact → format
→ API per step) is tech_research/UE_BUILD_AUTOMATION.md §9; the load-bearing points:
USTRUCT per registry (Blueprint-only structs are brokenper Epic bug UE-152346), then fully CSV/JSON-scriptable, zero GUI. Our CSVs land natively.
Load Data Table → attribute sets is the directmechanism for registry rows becoming populated zones. Epic's first-party MCP plugin
(Experimental, names Claude directly) includes a PCG toolset — the assistive seam.
work, with UE-native Python/Remote-Control for bulk/repeatable steps and Epic's first-party
MCP as it matures. 5.8 support UNVERIFIED from public sources (the Discord quote named the
Steam/EOS kit, not NeoStack — adjudicated 2026-07-15); Josh's own hands-on stands as the
operative datapoint and the first-use install spike settles it. The bundled gen = a
Meshy+Tripo cloud passthrough + ElevenLabs voice (complements local gen).
THE RULED PRINCIPLE: Claude Code drives NeoStack with every action (code, Blueprints, PCG,
LLM-placed generation) matched to OUR SCHEMA — the v3 graph + region pages + registries are
the input contract, never freehand. Fallback: chongdashu/unreal-mcp (OSS).
auto-rig/texture round-trips Epic's CLOUD per character; hundreds-of-NPCs throughput is
undocumented (spike it).
documented CLI — our §13 scene rows drive it.
save reference) — the ws.* subsystem is an ORIGINAL engineering build (designed in the brief,
needs a validation spike). Likewise boss phase→beat maps → real fight AI = original build.
no longer UE-only. The EULA's generative-AI clause restricts Epic content as TRAINING data,
not AI-driven authoring — get the legal read before locking architecture.
Answered at the design level in GAP_MAP (staging curation → per-source triage → the hard
canon/substrate separation → real retrieval filters, now enforced); the remaining build items are
Phase E execution: OCR install, the local-7B/3B relevance triage for the 438 journal dumps, the
per-chunk use_class carry, dedupe. No research unknowns remain on this chain.
defaults to unrestricted (MIT-class) components so no tool's terms touch the game anywhere;
territory-restricted tools are never load-bearing in the shipped-asset path. NeoStack owned;
the schema-bound Claude-Code-drives-NeoStack principle ruled.
region_id format (Q6/Q7 — recommendations standing); the book-processing gate definition
(Q8); the per-region scale-compression ratios (design).
(LOCAL_3D_ASSET_GEN.md §5); Hunyuan-vs-TRELLIS texture quality on our test set.
ws.* save-subsystem validation spike; the MetaHuman batch-throughput test; NeoStack-on-5.8
verify; the Epic-MCP tool-roster verify; the EULA legal read; Gaea CLI-tier confirm.
each item pre-triaged into the three classes above by the Phase-D pass as it writes each
Translation Doc.
With this, the Ch 2-5 vertical slice starts as VALIDATION of a specified chain — the spikes and
the benchmark are the only discovery left in it.
Rulings (ADVERSARIAL_ADJUDICATION.md, primary-source-fetched): **Lyra 2.0 weights are NVIDIA
non-commercial research-only** (code Apache) — previz-only, never a shipped path (the bridges
brief's contrary read is overruled). Cosmos 3 = Nano 16B / Super 64B, ~32GB BF16 —
borderline 5090-local; outputs remain video/action-class (previz/reference lane). ACE SDK:
the code license does NOT cover bundled model weights (and MIT-vs-Apache is itself unsettled) —
the weights-license read is a pre-adoption spike. **The one real hole in the
unrestricted-by-default ruling: the automated textured-PBR leg is an EMPTY SET today** —
TRELLIS.2's bake is non-commercial (nvdiffrast), Hunyuan territory-capped, CHORD research-only;
clean routes are manual-only until the PyTorch3D renderer-swap engineering or a clean release
closes it (Josh's trade to rule). Unmodelled cost axes to price before the slice is called
validated: 69-region GDAL/import throughput; MetaHuman per-character CLOUD round-trips at
hundreds-of-NPCs scale. Care addition: the real-capture reconstruction path gains a
capture-RIGHTS/CONSENT gate (photogrammetry of real sacred sites needs permissioned sources,
not just real ones).
The seven-slot decisions (ALTERNATIVES_MATRIX.md, protocol-shape): terrain = DEM backbone +
Gaea detail leg (classic Landscape target; Mesh Terrain watched); world models = Family-A out /
Marble+HY-World gated previz / design-around-UE6 as the standing forward bet; assets = the
ruled split + the expanded 5090 benchmark (Tripo rigging the one sanctioned paid gap-filler);
editor = the THREE-SEAM ROUTING RULE (NeoStack = judgment · native Python/Remote-Control =
bulk/CI · Epic MCP = PCG; unreal-mcp the fallback); runtime = HYBRID (ACE substrate + our
strategy-token/canon-graph guardrails) pending the weights spike; voice = Kokoro bulk +
ElevenLabs heroes behind the clone gate; OCR = ocrmypdf+tesseract NOW + a VLM-OCR
(PaddleOCR-VL/DeepSeek-OCR class) on the 5090 for the hard remainder.
Missing lanes opened (research to schedule): LOCALIZATION first (the ship-everywhere ruling's
biggest unfunded mandate — design string tables in from the start), animation/motion-gen (132
creatures, non-humanoid rigs), water/ocean (the drowned chapters), weather/sky, crowds,
foliage source-assets, Chaos/destruction.
The music/SFX halves of the audio family are now researched to the same bar as the seven earlier
slots (voice was already ruled: Kokoro bulk + ElevenLabs heroes behind the clone gate — the brief
re-verified, no overturn). The standing recommendations, license classes bolded per the ruling:
SUPERSEDED 2026-07-29 (the AIVA sweep, ledger 28ai): AIVA is CLOSED-AS-SKIP (Josh, 2026-07-27 — the enterprise-contact path is dead; nobody emails anyone). Bulk music = ACE-Step/YuE local, benchmark-gated; the hero/canonical theme is composer-in-loop; ACE-Step 1.5 ships native stem separation, retiring the only-AIVA-exports-stems premise below. Current stack: docs/pipeline_review/tech_research/PIPE_AUDIO_MUSIC_2026-07-29.md. The text below is preserved as the pre-ruling research record.
copyright-owned-by-you; Free/Standard do NOT) and is the only vendor with native per-instrument
stems export, which is what MetaSounds/Quartz adaptive layering actually consumes. Contract
impact: AIVA has NO self-serve public API — §3.4's orchestration-agent REST assumption needs a
negotiated licensing agreement (pre-adoption settle item).
Apache 2.0) — the first commercially-clean local music models found; both 5090-benchmark-gated
(no independent orchestral-quality evidence yet; stems require a Demucs bridge, pop-tuned).
license); Suno = reverse-indemnification + active UMG/Sony litigation; Meta MusicGen/AudioCraft
weights CC-BY-NC (NON-COMMERCIAL) — none load-bearing, ever.
(ROYALTY-FREE-OWNED); open gen fill MOSS-SoundEffect v2.0 (UNRESTRICTED, Apache);
Stable Audio Open/3.0 is revenue-capped (TERRITORY-OR-USE-CAPPED) → previz-class only;
creature vocalization (132 creatures) is NOT a gen-AI task — Krotos Dehumaniser/Reformer
(ROYALTY-FREE-OWNED, perpetual) in the contract's own sound-designer-in-loop track;
UI = UE MetaSounds procedural (UNRESTRICTED, engine-native).
any T0 registry though adaptive audio requires them — flagged into the contracts-correction
scope, Josh's schema call.
Q4 in STACK_FACTS_QUESTIONS is refreshed to this evidence; the audio Translation Doc + the
§3/§4/§10 contract corrections write to it.