assets/T99_Translation_AssetGen.md
Status: ACTIVE v1.0 (flipped 2026-07-15 through the proper gate this time — critic verdict PASS-WITH-FIXES with all fixes landed, then the contracts-corrections pass: the §0 flip condition). First authored pass (relabeled DRAFT mid-review 2026-07-15 — an earlier self-label of
"ACTIVE v1.0" predated the fresh-context critic gate every Translation Doc passes before a
DRAFT→ACTIVE flip; the 2026-07-15 critic pass returned PASS-WITH-FIXES, and the flip rides the
corrections pass like its siblings). Authority, per Contracts §0 and identical to every sibling:
subordinate to the CVD on world canon; subordinate to T1_Build_Pipeline_Contracts §2 on FK
mapping, required columns, and state-machine behavior; subordinate to T1_Region_Page_Template
on the page-side inputs it consumes (§6's T8 Section 3/4/5 reads); owns the platform-specific
inference layer where §2 is silent. This is the runtime translation
layer for the pipeline slot T1_Build_Pipeline_Contracts [ACTIVE v1.0].md §2.12 names
"T99\_Translation\_Meshy." Meshy is retired as the generation backend; this doc replaces it. Every
schema commitment §2 makes to consumers — the 7-category taxonomy, mesh_tags, the state machine,
the §2.8 cultural discipline — carries forward unchanged; what changes is the *how*: a local,
mostly-open-weight model stack on the 5090 workstation, split by task rather than routed to one SaaS
vendor. Derivation-only from the sources below; no web research performed writing this doc. Out of
scope: voice (Slot 6), terrain/world-model (Slots 1-2), the editor/runtime/OCR slots (4/5/7) — each
gets its own Translation Doc.
Sources, cited inline as [SRC: shortname §n]:
docs/pipeline_review/tech_research/LOCAL_3D_ASSET_GEN.mddocs/pipeline_review/tech_research/Q3_2026_MODELS_REFRESH.mddocs/pipeline_review/RESEARCHED_STACK.mddocs/pipeline_review/ALTERNATIVES_MATRIX.md (Slot 3 only; Slot 6 voice out of scope) · ADVERSARIAL_ADJUDICATION = docs/pipeline_review/ADVERSARIAL_ADJUDICATION.md
docs/pipeline_review/STACK_FACTS_QUESTIONS.md (Q3 only)_source/01_Tier_1_Foundation/T1_Build_Pipeline_Contracts [ACTIVE v1.0].md §2 (theMeshy Pipeline Contract) — the contract layer this doc translates, not itself edited here.
---
Where §2 says "Meshy" or "the Meshy build agent," read "the local generation backend named per
category in §2 below" and "the local orchestration agent." The read-canon / write-mesh_id_ref
contract is unchanged — generated assets still never flow into Drive canon as content, they live in a
build asset store and T0 registries carry a pointer [SRC: T1_BPC §2.1]. mesh_id_ref re-keys from
"the Meshy-side asset identifier plus build-store file path" [SRC: T1_BPC §2.6] to a local-only
build-asset-store path — no vendor-side identifier exists anymore.
Four constraints are ruled, not open, and every section below inherits them:
never constrains where the game ships or who owns it, so the pipeline *defaults* to
commercially-unrestricted (MIT-class) components — no tool's terms have any claim on the game
anywhere [SRC: RESEARCHED_STACK "JOSH-RULED"; ALTERNATIVES_MATRIX "Fixed constraints"]. A
component carrying a MAU cap, territory exclusion, revenue ceiling, or non-commercial clause is
disqualified from the *shipped* path by construction, independent of quality.
never load-bearing in the shipped path unless terms clear `[SRC: RESEARCHED_STACK "JOSH-RULED";
ALTERNATIVES_MATRIX "Fixed constraints"]`. Instances routed accordingly: Hunyuan3D-2.1 (1M-MAU cap,
EU/UK/South-Korea-excluded) [SRC: LOCAL_3D_ASSET_GEN §1.2]; CHORD (Research-Only Copyleft)
[SRC: Q3_REFRESH §1.2]; the NeoStack Meshy/Tripo passthrough (closed SaaS)
[SRC: Q3_REFRESH §2.3].
object-scale data with no urban/structural grounding and no accuracy guarantee — a hallucinated
guess at a real temple's structure risks getting living cultural heritage wrong in a way
hand-modeled or photogrammetry-referenced work would not `[SRC: LOCAL_3D_ASSET_GEN §3.4;
ALTERNATIVES_MATRIX "Fixed constraints"]`. Quality argument and care argument together; the routing
below (§2, §6) is the recommended operationalization, not a canon ruling in itself.
MetaHuman is fully rigged, blend-shaped, animation-ready [SRC: LOCAL_3D_ASSET_GEN §3.3]. This
supersedes T1_BPC §2.2's NPC text, which had Meshy generating named-NPC meshes directly plus
background-population archetype meshes for UE5's procedural-variation system — both roles now move
to MetaHuman (§2). Epic sunsets the browser MetaHuman Creator on a staged 2026 timeline (UE 4.27-5.1
dropped April 5; UE 5.2-5.4 drops June 5; full shutdown November 5, 90-day retrieval window after) —
route all MetaHuman work through the in-engine creator, native since UE 5.6
[SRC: LOCAL_3D_ASSET_GEN §3.3].
---
T1_BPC §2.2 names seven categories. Ruled local backend per category, per the correction pass's Slot
3 analysis:
| Category (T1_BPC §2.2) | Ruled geometry backend | Texture / finishing note |
|---|---|---|
| Weapons (72 canonical + regional/legendary variants) | TRELLIS.2 (MIT); Hi3DGen (MIT) fallback for blade/mechanical silhouettes | Texture leg → §3. Best fit of any category — object-scale, single-item input these models trained on; hand-finish every asset regardless of source, 72 is small enough to afford it [SRC: LOCAL_3D_ASSET_GEN §3.1]. |
| Creatures (T0_Creature_Roster) | TRELLIS.2 (MIT); Hi3DGen (MIT) fallback | Texture leg → §3. Rigging is unsolved by any in-scope generator — route through Tripo's universal rig via the owned NeoStack Cloud allowance, the one sanctioned paid gap-filler [SRC: LOCAL_3D_ASSET_GEN §3.2; Q3_REFRESH §2.3; ALTERNATIVES_MATRIX Slot 3]. |
Familiars (33 species / 22 player slots / 12 Father-bonded) [SRC: T1_BPC §2.2] | Inherits Creatures tooling, smaller/more stylized scale | Same as Creatures — a Creature-pipeline subset, not separately researched [SRC: LOCAL_3D_ASSET_GEN §3.7]. |
| NPCs (named + background) | MetaHuman-first: in-engine creator (named), MetaHuman Crowd (background, Experimental / UE5.8 cycle) | No texture leg — MetaHuman's own pipeline. Generation reserved for the MetaHuman-non-fitting residual: stylized non-photoreal NPCs, creature-morphology companions; carried gear/props route through Weapons [SRC: LOCAL_3D_ASSET_GEN §3.3]. |
| Vril Sites (pyramids, obelisks, tombs, orbs) | TRELLIS.2 + Hunyuan3D-2.1 (previz-only, constraint 2) | Texture leg → §3. Best-case category alongside Weapons — no real-world-accuracy constraint, hallucination-tendency is a feature [SRC: LOCAL_3D_ASSET_GEN §3.5]. Waterfalls stay excluded — terrain, via Cesium-Gaea-SRTM [SRC: T1_BPC §2.2]. |
| Architectural Features (real per-region per-era) | Reference-built / photogrammetry-grounded / licensed-kit by default | No automated texture leg for shipped assets. Generation only for blockout/massing on real structures (never the shipped asset) or for fantastical structures with no real-world attribution [SRC: LOCAL_3D_ASSET_GEN §3.4] — second case is this doc's synthesis; Vril Sites is the primary fantastical-structure home. |
| Special Asset Class (Vimana, Architect constructs, Cassius Ch76 phases, Boss_Encounter) | Case-by-case: inherits its closest analog (Weapons/props or Creatures) | Texture leg → §3 where geometry-generated. Too undefined for one rule — resolve per-asset at build time [SRC: LOCAL_3D_ASSET_GEN §3.7]. |
The materialized-argument boss class — asset look. ✅ RULED (D-MATARG-LOOK, Josh 2026-07-21):
the Special Asset Class materialized-argument bosses (for example the Polo's-theft construct, the
Tombo-Holes proverb-constructs, the Certification-Shadow) share one visual grammar —
inscription-made-flesh: arguments built from script, ledger, and mark made physical. Over that
shared grammar each boss wears a per-boss regional condemned-register skin, and all of them carry
the shared hollow-core tell. Per-boss looks stay creative freedom within the grammar. The §6 / CVD
§17.1 bound holds: a construct never wears a culture's sacred beings — the condemned-register skin
draws on judgment, ledger, and mark imagery, never a tradition's revered figures. Feeds
mesh_tags prompt composition (§4.1) at Special Asset Class scope; per-boss asset_concept slots
resolve at build time per §2's case-by-case rule.
The NeoStack interim. NeoStack's Studio tab routes 3D generation to Meshy and Tripo — both
closed SaaS, neither NeoStack-owned [SRC: Q3_REFRESH §2.1]. It is the sanctioned interim for every
row above while the local stack stands up and benchmarks (§5), staying previz/reference-tier under
constraint 1 — no overlap with TRELLIS.2/Hunyuan3D-2.1/Hi3DGen in vendor, license, or output path
[SRC: Q3_REFRESH §2.3]. One capability is promoted past interim-only: Tripo's rigging
(humanoid-to-creature range) is the one sanctioned *paid* gap-filler for Creatures/Familiars rigging,
reached via the already-owned NeoStack Cloud allowance rather than a separate subscription
[SRC: LOCAL_3D_ASSET_GEN §3.2; Q3_REFRESH §2.3, §2.6; ALTERNATIVES_MATRIX Slot 3]. License tail,
carried per this doc's own discipline: a shipped creature keeps its rig, so this ruled exception
places a closed-SaaS output in the shipped path whose commercial terms the source corpus never
independently verified (Q3_REFRESH §2.6: NeoStack gen "inherits Meshy's and Tripo's own commercial
terms") — read Tripo's shipped-output license at first use, same class of settle-item as the AIVA
API terms (§5).
---
No automated, commercially-clean, open text/image-to-textured-PBR path exists today. Every
"texture leg → §3" pointer in §2 resolves to an unsolved problem — this is the single most important
operational fact in this document `[SRC: ADVERSARIAL_ADJUDICATION Docket 4(i); RESEARCHED_STACK
"ADJUDICATED + MATRIXED"]`. Why each candidate is disqualified:
nvdiffrast/nvdiffrec, NVIDIA-licensed non-commercial-onlyfor third parties ("may be used or intended for use non-commercially," quoted directly from the
dependency license); GitHub issue #22 against the maintainers remains open, no response. Pixal3D
(SIGGRAPH 2026) looked like an escape — its own LICENSE is clean MIT — but its install chain
requires TRELLIS.2 as a hard prerequisite and pulls in the same nvdiffrast/nvdiffrec dependency;
assume its textured output inherits the same trap until re-verified at benchmark time
[SRC: Q3_REFRESH §1.2 (Pixal3D); LOCAL_3D_ASSET_GEN §1.1 (the TRELLIS.2/nvdiffrast base facts)].
the EU/UK/South Korea [SRC: LOCAL_3D_ASSET_GEN §1.2] — disqualified by constraint 2 regardless of
quality. CHORD (Ubisoft La Forge, shipped Dec 2025, real code+weights) carries the "Ubisoft
Machine Learning License (Research-Only — Copyleft)," explicitly non-commercial
[SRC: Q3_REFRESH §1.2].
proven possible by a community fork (kg-git-dev/trellis-refactored), but that fork is
archived/inactive since November 2025, a course-project artifact with no forward maintenance
[SRC: LOCAL_3D_ASSET_GEN §1.1].
Three paths forward, none automated-and-clean today: (a) the renderer-swap engineering spike —
properly maintain a PyTorch3D-swapped fork rather than the archived proof-of-concept; the recommended
bet, mechanically straightforward, stays inside the local/automated shape
[SRC: LOCAL_3D_ASSET_GEN §1.1; ALTERNATIVES_MATRIX Slot 3]. (b) manual/ArmorLab texturing —
open-source, local, permissive, part of Armory3D [SRC: LOCAL_3D_ASSET_GEN §3.6] — clean by
construction but silently converts an assumed-automated stage into a manual one
[SRC: ADVERSARIAL_ADJUDICATION Docket 4(i)]. (c) the passthrough interim — NeoStack or
Hunyuan3D-2.1 direct, for previz/reference only, never promoted into the shipped path
[SRC: Q3_REFRESH §2.3].
The choice among (a)/(b)/(c), and how much engineering time (a) is worth before falling back to (b),
is Josh's trade to rule, not a default this doc sets `[SRC: RESEARCHED_STACK "ADJUDICATED +
MATRIXED"]`. STACK_FACTS_QUESTIONS.md Q3's landed ruling frames the call: licensing never constrains
shipping, the pipeline defaults to unrestricted components, territory-capped tools land in the
shipped path "only if their terms someday clear" [SRC: STACK_FACTS_QUESTIONS Q3]. §5 is what
resolves it empirically.
---
mesh_tags and mesh_id_ref — unchanged, vendor-agnosticmesh_tags is the orchestration agent's primary prompt-composition input; the backend switch doesn't
change its shape [SRC: T1_BPC §2.5]. Five sub-fields, unchanged: morphology (shape descriptor —
bipedal/quadrupedal/serpentine/chimeric for creatures, blade/polearm/ranged/ritual for weapons, etc.),
region (T0_Region_Index region_id), style (realistic-ethnographic / mythologically-stylized /
weathered-ancient / ceremonial — ties to §6), material (bronze/iron/obsidian/ceremonial-gold/stone/
hardwood/linen/ochre etc.), era (T0_Chapter_Index era field) [SRC: T1_BPC §2.5]. The six required
Meshy-source columns (mesh_id_ref, mesh_tags, generation_status, generation_prompt_hash,
last_generated_timestamp, regeneration_trigger) carry forward unchanged in count and meaning
[SRC: T1_BPC §2.6]; only mesh_id_ref's pointer target re-keys per §1.
Generation sequencing stays two parallel tracks: a canonical-entity track (72 weapon base meshes, 33
familiar species, the nine Component 11 vril-site anchors) generating once at canon scope, and a
region-driven track batching per-region assets when a T8 region page reaches Build-Ready status
[SRC: T1_BPC §2.4] — now doubling as VRAM-contention scheduling (§4.2): batching by region bounds
concurrent local-model load instead of flooding the workstation with full canon scope at once.
The five-state enum locks unchanged: pending, in_progress, complete, rejected,
regeneration_required, as do the five regeneration triggers (canon change, mesh_tags change,
manual request, quality-rejection cascade, schema migration) and hash-based detection via
generation_prompt_hash [SRC: T1_BPC §2.7]. What changes: §2.4's "service account credentials live
in build pipeline configuration" clause no longer applies to the shipped-asset leg at all
[SRC: T1_BPC §2.4] — the local backend authenticates to nothing, it loads weights into workstation
VRAM. (The NeoStack passthrough interim still carries its own credential surface, but that path is
previz-only, never this state machine's shipped-asset leg.)
Three local-inference failure modes now populate the in_progress transition, re-keying "no API
credential; failure modes = OOM/quality-reject/retry":
[SRC: LOCAL_3D_ASSET_GEN §1.1-1.2]. The 5090's 32GB clears both floors but headroom shrinks fast
under concurrent load (a ComfyUI queue, a texture pass, an orchestrating agent sharing the card)
[SRC: LOCAL_3D_ASSET_GEN §1.1]. Not terminal — an automatic requeue at reduced resolution/batch or
resequenced behind other VRAM-holding work, returning to pending unless a bounded retry budget is
exhausted.
rejected: automated or human review marks the outputunacceptable; no auto-regeneration, manual intervention or a refined prompt required.
genuine quality rejection — retried automatically up to a bounded attempt count before falling to
rejected, mirroring the existing quality-rejection cascade.
No released, open AI system automates retopology + UV unwrapping + LODs + collision end-to-end today.
The clearest field statement is a 2025 research paper ("Hunyuan3D Studio") whose own proposed pipeline
— geometry gen, part decomposition, PolyGen retopology, SeamGPT UV seams, PBR synthesis, rigging — has
no released code or weights [SRC: LOCAL_3D_ASSET_GEN §2.1]. Two SIGGRAPH-2026 candidates touch
pieces of it — SimArt does part-decomposition but targets robotics URDF, not UE rigging; SATO does
artist-style retopology+UV natively but its own repo says the code is "being prepared for public
release" — both worth a later bench-day look, neither actionable today [SRC: Q3_REFRESH §1.2, §1.4].
The finishing stage stays Blender-headless-scripted with human QC [SRC: LOCAL_3D_ASSET_GEN §2.2]:
blender.exe --background --python <script> drives retopology (Decimate/remesh), UV unwrapping,
texture baking, export; LOD chains export via Decimate at stepped ratios under UE's auto-detected
_LOD0/_LOD1/... suffix convention; collision hulls generate via Blender's convex-hull tooling.
The Decimate target now reads the steam_deck_minimum column of the T1_BPC §1.7 per-category-by-
spec-class budget table — the ship-viability floor authored by D-POLY-BUDGETS: the skinned
non-Nanite classes (Creatures, Familiars) decimate to that column's LOD0 triangle budget; the static
Nanite classes (Weapons, Vril Sites, Architectural Features) carry no triangle cap and are
memory-governed; collision stays simple convex/capsule/box regardless. Every §1.7 number is
ILLUSTRATIVE-until-5090-benchmark, so the target re-reads §1.7 when a benchmarked value supersedes
the illustrative one [SRC: T1_BPC §1.7].
MeshAnything (MIT, ~1600-face cap) is worth prototyping as an automated pre-pass on props/hero
objects; Quadify (Blender add-on + a UE5 mesh-conditioning plugin) and the Blender MCP server are the
concrete candidates for wiring this into an agent-callable sequence. **Seam ownership (added at the
2026-07-15 critic pass):** THIS doc owns the final FBX→UE import leg — the mesh analog of the Audio
doc's SoundFactory step — via the documented batch path unreal.AssetImportTask +
unreal.AssetToolsHelpers.get_asset_tools().import_asset_tasks([...]) (filename /
destination_path / replace_existing / automated / save), populating mesh_id_ref back onto
the owning registry row on success [SRC: UE_BUILD_AUTOMATION §4.2 asset-import class roster];
UE5_Build continues to treat mesh_id_ref as an opaque FK from its side. UE 5.8 Nanite reduces, not
eliminates, manual-LOD work for static geometry (props, architecture, vril sites) but does not help
UV/collision/retopology on skinned or gameplay-interactive meshes (creatures, NPCs, familiars)
[SRC: LOCAL_3D_ASSET_GEN §2.2].
Numeric target_polycount/LOD-count budgets are an explicit open item, not locked here: T1_BPC §2.11
defers them to the UE5 Pipeline Contract's performance budget (§1.7), which now carries an
ILLUSTRATIVE-until-5090-benchmark per-category-by-spec-class structure — the steam_deck_minimum
floor the §4.3 Decimate target reads — with the benchmarked numbers still deferred to the 5090
benchmark day and Phase 6 region-page surfacing [SRC: T1_BPC §2.11, §1.7]. This doc invents no
numbers ahead of that benchmarked lock —
fixed today is the mechanism (§4.3) and the qualitative shape per category: Weapons — small
hand-held props, simple convex collision, short LOD chain, hand-finished regardless
[SRC: LOCAL_3D_ASSET_GEN §3.1]. Creatures/Familiars — skinned, deforming, gameplay-interactive;
full manual LOD chain plus capsule/convex collision matched to the skeleton, Nanite doesn't apply
[SRC: LOCAL_3D_ASSET_GEN §2.2, §3.2]. NPCs — MetaHuman-native LOD/collision, not this pipeline's
concern in the MetaHuman-first case [SRC: LOCAL_3D_ASSET_GEN §3.3]. **Vril Sites/Architectural
Features** — predominantly static; Nanite-candidate geometry, simpler convex/box collision per
structural component [SRC: LOCAL_3D_ASSET_GEN §2.2]. Special Asset Class — inherits whichever
bucket its closest analog falls into, per §2 [SRC: LOCAL_3D_ASSET_GEN §3.7].
---
§2's routing table and §3's texture-leg options are a desk-research default to start benchmarking
from, not a final answer — licenses and releases can shift before hardware arrives
[SRC: LOCAL_3D_ASSET_GEN §5.1]. This is the concrete gate to run the day the 5090 lands, expanded
once by the Q3 refresh.
Pre-flight (before any GPU time): re-check licenses/releases first, cheap and GPU-free — re-fetch
microsoft/TRELLIS.2 issue #22, Tencent-Hunyuan/Hunyuan3D-2.1 issue #111, and check whether
Hunyuan3D 2.5/3.x, a maintained TRELLIS.2-PyTorch3D fork, or a new clean release has shipped open
weights since 2026-07-15 [SRC: LOCAL_3D_ASSET_GEN §5.2 step 1].
Fixed test set (minimum 2 assets/class): 2 hero weapons (organic-curve + hard-surface/mechanical),
2 creatures (quadruped + non-standard anatomy), 1 vril-site structure, 1 real-world architecture test
— specifically to confirm the never-raw-generate-real-architecture call, not to greenlight it —
and 2 texture-only tests (material-from-photo + text-to-material) `[SRC: LOCAL_3D_ASSET_GEN §5.2
step 2]`.
Model roster: TRELLIS.2, Hunyuan3D-2.1, Hi3DGen at minimum, TripoSG as the no-asterisks license
baseline, SF3D/SPAR3D if sub-second blockout speed matters [SRC: LOCAL_3D_ASSET_GEN §5.2 step 3].
The Q3 refresh adds Pixal3D (instrument, don't just read the NOTICE file, whether output routes
through nvdiffrec at runtime) and Direct3D-S2 (a possible nvdiffrast-free geometry-stage
alternative) [SRC: Q3_REFRESH §1.4]. Keep CHORD off the roster — Research-Only Copyleft
disqualifies it regardless of result, previz/reference tool only. SimArt and SATO are not folded
in — they answer the game-readiness/retopology gap (§4.3), a different sub-problem, with their own
later evaluation [SRC: Q3_REFRESH §1.4].
Metrics: wall-clock generation time on the actual 5090 (not this doc's H100/4090 numbers); peak
VRAM observed; raw topology quality (1-5, plus minutes of manual retopology to game-ready); UV quality
out of the box; PBR channel accuracy against reference; and — decisive — whether the license actually
clears for the specific asset's commercial use, re-running the MAU/revenue math projected forward, not
just at day one [SRC: LOCAL_3D_ASSET_GEN §5.2 step 4].
The decision rule: output is a per-category default (may land on §2's table or not — that's the
point of gating empirically) plus a measured "time to game-ready" number that feeds real production
scheduling [SRC: LOCAL_3D_ASSET_GEN §5.2 step 5]. For the texture leg (§3) specifically: a
maintained PyTorch3D-swap fork clearing at measured quality collapses the recommendation to
"TRELLIS.2 end-to-end"; Microsoft patching nvdiffrast/nvdiffrec, or Tencent opening Hunyuan3D-2.5
under an unrestricted license, does the same from the other direction; a benchmark showing
Blender-headless-plus-ArmorLab is fast enough at 72-weapon/132-creature volume makes the renderer-swap
spike unnecessary and (b) becomes the standing answer `[SRC: ALTERNATIVES_MATRIX Slot 3 "WHAT FLIPS
IT"]`.
---
T1_BPC §2.8 binds all generation involving culturally-substantiated content to CVD §6's cultural
depiction standard. Every hard rule carries forward verbatim in spirit — vendor-agnostic, same
substrate sources, same enforcement point (mesh_tags.style records the selected style for downstream
audit) [SRC: T1_BPC §2.8]: folklore creatures depict per-region tradition substrate, never a generic
fantasy archetype (pulled from T8 region page Section 5 spiritual traditions + Section 3 fauna
folklore-attribution); NPC appearance depicts ethnographic substrate per T8 Section 4 — no
stereotype shortcuts, whether from MetaHuman or (the non-fitting residual in §2) a generative model;
dress/adornment depicts per-region/era/role substrate; sacred architecture depicts per-region/era
form, no compositing across unrelated traditions; weapons depicting non-fictional historical forms
stay accurate per CVD §17 hard lines; style-parameter selection respects substrate
(realistic-ethnographic for historical, mythologically-stylized where tradition supports it); the
pre-build cultural authenticity audit still runs on high-care batches before mesh_id_ref locks to
complete.
The photogrammetry-costume rule strengthens directly out of this correction pass and binds the
Architecture row's reference-built discipline (§2): a real capture of a real place (Josh's own travel
photography, licensed stock, tourist photos, drone footage) is the care-safe input to
photogrammetry/reference-modeling — but running *AI-generated* video or imagery of a real
sacred/cultural site through a reconstruction pipeline produces an asset "wearing photogrammetry's
credibility as a costume," carrying every visual trust signal of a survey and none of the ground
truth. Generated input never substitutes for a genuine capture on real-cultural architecture, full
stop [SRC: ADVERSARIAL_ADJUDICATION Docket 3].
The capture-rights gate is a second addition this pass opens and the underlying research left
unclosed: "real capture" is necessary for the architecture discipline above, not sufficient.
Photogrammetry built from someone else's photos carries image-copyright and site-access/consent
questions independent of factual accuracy — some heritage sites and museums prohibit commercial 3D
capture outright, and crowd-sourced tourist photos are third-party copyrighted material. Before any
reference-photogrammetry input reaches modeling, it needs a per-site capture-rights check —
provenance and permission, not just realness — parallel to the use_class discipline already
governing the book-processing substrate lane `[SRC: ADVERSARIAL_ADJUDICATION Docket 3;
RESEARCHED_STACK "ADJUDICATED + MATRIXED"]`.