--- title: "Models — Visual Assets" description: "3D object/furniture/prop asset catalog — status table for the Trellis glb-gen pipeline" type: design status: active --- # Models — Visual Assets 3D objects and furniture/props rendered directly in-world as `.glb` meshes (D-244 — no per-object sprite layer). Produced via the Trellis image→3D pipeline (`/glb-gen`), promoted per D-241 into `client/assets/models/`. ## Generation Approach - **Concept image:** `/image-gen` produces a concept PNG (square, plain dark background, single object centered, 3/4 front view — see `.claude/skills/glb-gen/SKILL.md` "Input Requirements"). - **Image → 3D:** Trellis (`tower-of-joy:11510`) converts the concept image to a raw `.glb` (`/glb-gen`). - **Post-process:** Blender normalizes scale, centers the mesh, generates the recolor mask sidecar, and sets up materials for toon rendering (`.claude/skills/glb-gen/scripts/postprocess_glb.py`). - **Promotion:** the finished `.glb` (+ mask, if tintable) lands in `client/assets/models/{furniture,props}/` and is registered in `client/assets/models/manifest.json` — that registration + placement act **is** the promotion (D-241); it does not stay a "promoted" spike artifact. Naming, mask-sidecar, and multi-tile footprint conventions: [conventions.md](conventions.md). ## Assets | ID | Filename | Status | Category | Footprint | Notes | Sprint/Ticket | |----|----------|--------|----------|-----------|-------|---------------| No models have entered production yet — this table is intentionally empty at initial creation (T-1050). Rows are added as assets are promoted into `client/assets/models/manifest.json`; keep this table's `Status` column in sync with the manifest's `status` field (shared vocab: planned / in-progress / placeholder / final, `docs/assets/README.md`). ## Cross-References - [conventions.md](conventions.md) — naming, mask sidecars, footprint metadata - `client/assets/models/manifest.json` — the machine-readable per-asset registry - `.claude/skills/glb-gen/SKILL.md` — production pipeline - [D-244](../../../governance/decisions/architecture.md#d-244-asset-rendering--3d-objects-in-world-2d-limited-to-textures--flat-artwork), [D-241](../../../governance/decisions/process.md#d-241-spike-binary-artifacts-are-local-only--gitignored-never-tracked)