table_baroque, chair_modernist, desk_scifi (furniture, with mask sidecars) and lion_statue (props, non-tintable) enter client/assets/models/ under the category-first convention, byte- identical to the spike sources (MD5-verified; spikes/ untouched, vw_beetle excluded per the Q-067 deferral). Postprocess verified already-applied by Blender node-graph inspection (mat_primary, roughness=1.0/specular=0.0 shader inputs — the convenience properties read stale defaults, the graph is authoritative), so not re-run. All four registered in manifest.json at 'planned' with footprint_tiles [1,1] (a flagged judgment call — normalized spike geometry erases real-world scale; the brief ruling goes to araminta in review). In-engine proof: clean headless import + ResourceLoader load + instantiate for all four. Discovery documented in conventions.md §2 + glb-gen SKILL.md: Godot externalizes the GLB's embedded texture as a <model>_Image_0.png sidecar referenced by binary UID — it must be committed or loading breaks with an undiscoverable dependency error. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
title, description, type, status
| title | description | type | status |
|---|---|---|---|
| Visual Asset Pipeline | Visual pipeline index — 3D models, textures, and flat 2D artwork (D-244) | design | active |
Visual Asset Pipeline
Status: Active — catalog structure instantiated (T-1050); first models promoted (T-1204); textures/artwork/effects production still pending.
Per D-244: the in-world view renders 3D objects directly. The only flattened 2D content is textures (PBR maps on 3D surfaces) and flat 2D artwork (paintings, flags, billboards, signage) applied as textures/decals on flat surfaces within the 3D world. There is no per-object sprite layer — game objects are not pre-rendered to sprites.
Categories
| Category | File | Count | Description |
|---|---|---|---|
| Models | models.md | 4 | 3D objects/props (.glb) via Trellis (/glb-gen), promoted per [D-241] |
| Characters | — | — | 3D meshes composited at runtime via CharacterVisualDescriptor — see character-asset-organization.md |
| Textures | textures.md | 0 | PBR surface maps (BaseColor / Normal / Roughness) for 3D models |
| Artwork | artwork.md | 0 | Flat 2D art — paintings, flags, billboards, signage, screen content — applied as textures/decals (via the /sprite-gen 2D-artwork generator) |
| Icons | icons.md | 13 | UI icons, status indicators (2D, UI layer only) — as-built inventory of client/assets/icons/ |
| Effects | effects.md | 0 | Shaders, particles, overlays |
Naming, mask-sidecar, D-235-keyed texture, and multi-tile footprint conventions: conventions.md.
Per-Class Briefs
Each asset class entering production is gated on a one-page brief — ../briefs/ — covering scope, visual reference, naming, generation path, and acceptance (template: ../_templates/asset-brief.md). Briefed this batch (T-1049): station walls, rural walls, doors, floors, furniture/props. Formally deferred (not briefed): lamp posts, TVs, billboards, barns, cars — see ../briefs/deferred.md.
Palette
See palette.md for art direction: camera (D-148 gameplay / D-019 offline-render), the toon-vs-PBR rendering treatment for environment props, the D-235 ObjectTag color/material register, and entity colour relationships (D-033).
Pipeline
- 3D objects / props: concept image (
/image-gen) → Trellis image→3D (/glb-gen) →.glb→ promoted toclient/assets/models/. - Characters: Quaternius source meshes, segmented + rigged, composited at runtime from slots (
CharacterVisualDescriptor); see the character-asset doc. - Textures: PBR maps authored/generated for 3D surfaces.
- 2D artwork (paintings / flags / billboards / signage): the
/sprite-gen2D-artwork generator → flat PNG → applied as a texture/decal on a flat surface in the 3D world.
Decision References
- D-244: 3D objects in-world; 2D limited to textures + flat artwork.
- D-159–D-164: character 3D pipeline. D-241: asset promotion.
- D-019: top-down camera, "the angle". D-033: entity colour = relationship to player. D-045: environmental neutrality.