Files
jpmschweitzerandClaude Fable 5 2f87c1a65f data(assets): promote the four spike GLBs — first production environment assets (T-1204)
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>
2026-07-26 12:55:28 +02:00

58 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Visual Asset Pipeline"
description: "Visual pipeline index — 3D models, textures, and flat 2D artwork (D-244)"
type: design
status: 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](../../../governance/decisions/architecture.md#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](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](../../architecture/character-asset-organization.md) |
| Textures | [textures.md](textures.md) | 0 | PBR surface maps (BaseColor / Normal / Roughness) for 3D models |
| Artwork | [artwork.md](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](icons.md) | 13 | UI icons, status indicators (2D, UI layer only) — as-built inventory of `client/assets/icons/` |
| Effects | [effects.md](effects.md) | 0 | Shaders, particles, overlays |
Naming, mask-sidecar, D-235-keyed texture, and multi-tile footprint
conventions: [conventions.md](conventions.md).
## Per-Class Briefs
Each asset class entering production is gated on a one-page brief —
[../briefs/](../briefs/) — covering scope, visual reference, naming,
generation path, and acceptance (template: [../_templates/asset-brief.md](../_templates/asset-brief.md)).
Briefed this batch (T-1049): [station walls](../briefs/station-walls.md),
[rural walls](../briefs/rural-walls.md), [doors](../briefs/doors.md),
[floors](../briefs/floors.md), [furniture/props](../briefs/furniture-props.md).
Formally deferred (not briefed): lamp posts, TVs, billboards, barns, cars —
see [../briefs/deferred.md](../briefs/deferred.md).
## Palette
See [palette.md](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 to `client/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-gen` **2D-artwork generator** → flat PNG → applied as a texture/decal on a flat surface in the 3D world.
## Decision References
- **[D-244](../../../governance/decisions/architecture.md#d-244):** 3D objects in-world; 2D limited to textures + flat artwork.
- D-159D-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.