doors.md now presents D-231's actual struct shape (initial_state Open/Closed/Locked/Sealed; TemporalWindow lives in the independent credential field) and attaches the Phase-5 runtime bridge to initial_state only. furniture-props.md inventories all five spike GLBs — acceptance is 4 promotable (3 furniture + lion_statue), vw_beetle explicitly excluded to the Q-067 deferral. deferred.md + station-walls gain the axis-completeness note: roof/facade/street textures ride the wall-brief convention as a same-family follow-on, so the register accounts for all four D-235 axes. The briefing's D-257 pointer corrected to palette.md §2.1–2.2, and both the briefing and palette.md (leave-cleaner, gap inherited from PR #211) now carry D-154's amendment to D-033 — relationship colors display only in the insert/perception overlay; normal gameplay is a uniform #1a1a1a outline (D-150). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
4.9 KiB
title, description, type, status, ticket, decision_refs, author, created, updated
| title | description | type | status | ticket | decision_refs | author | created | updated | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Asset Brief — Station Walls | Building-exterior wall models/textures for station (urban/industrial) settlements — D-235 wall axis | design | active |
|
Araminta | 2026-07-25 | 2026-07-25 |
Asset Brief — Station Walls
One page. Gates its child story — the story does not enter in_progress
without this brief attached.
1. Scope
Building-exterior wall surfaces for station/urban/industrial settlement
types — the D-235 WallMaterial axis, specifically the tags a station-type
template's allow filter selects (concrete_wall, steel_frame,
glass_curtain_wall, composite_panel — the "built infrastructure" register,
not the rural/vernacular tags owned by the sibling rural-walls.md brief).
This is prior-art territory: wall_structural.tscn
(renderer/models/wall_structural.tscn) already exists as an unrendered GLB,
plus rendered PNG samples at docs/workshops/art-direction-mood-board/ pipeline-samples/wall_structural_south_{64,256,1024}.png and the promoted
sprite set at client/assets/sprites/wall_structural_{north,south,east,west} _64.png — all pre-D-244, sprite-era output. This brief's job is to re-run
that same wall through the current 3D-model pipeline (D-244), not sprite
renders, and register it as the class's first manifest entry. Out of scope:
rural walls (timber/stone/rammed-earth vernacular), doors, floors — separate
briefs. Also out of scope, but a natural same-family follow-on once this
brief's pattern is proven: the other three D-235 building-exterior axes —
RoofForm, FacadeRhythm, StreetSurface — which ride this brief's own
<object_tag>_<map_type>.png texture convention (conventions.md §3) and
already have palette.md §3.2–§3.4 register rows; see deferred.md's axis-
completeness note.
2. Visual Reference
palette.md §3.1 rows for concrete_wall, steel_frame,
glass_curtain_wall, composite_panel — warm-leaning neutral greys (never
cool-grey), fine aggregate speckle / riveted-joint / seam-grid textures per
tag, D-217 weathering ladder per row. glass_curtain_wall is the §2.1
minimal-PBR carve-out (roughness 0.05–0.2, controlled specular) — every other
tag in this set stays flat toon (roughness=1.0/specular=0.0,
postprocess_glb.py::setup_materials() default). generic_wall (§3.5) is the
flat neutral-grey, no-grain fallback terminal for whichever specific tag
hasn't shipped yet.
3. Naming
Model: <category>_<descriptor>.glb — this class is a building-exterior
surface, so it more commonly ships as a texture, not a standalone prop:
concrete_wall_basecolor.png / _normal.png / _roughness.png
(conventions.md §3), plus generic_wall_basecolor.png as the fallback
placeholder. If a standalone wall-segment model is also produced (as
wall_structural already is, pending re-promotion), it follows §1's
<category>_<descriptor>.glb (e.g. wall_structural_concrete.glb) with a
<model>_mask.png sidecar only if a tintable variant is needed (most station
walls are not tinted — material register drives color, not player-favorite
tint). No footprint_tiles metadata applies to a wall texture; a wall
segment model, if produced, is single-tile.
4. Generation Path
Standard path: /image-gen (toon-shaded concept, 3/4 front view, near-white
base) → /glb-gen (Trellis) → Blender postprocess → promotion into
client/assets/models/props/ (a wall segment is a props-category model
per conventions.md §1's category-is-manifest-authoritative rule) +
manifest.json entry. If shipping as a standalone texture instead
(the more likely first deliverable, since walls are usually a tiled surface
not a discrete mesh), the target file is textures.md, not models.md —
author a flat concept via /image-gen at the material's hue/grain per §2,
no Trellis step needed for a pure 2D PBR map.
5. Acceptance
3 starter assets enter models.md/textures.md + manifest.json (as
applicable) at planned: (1) generic_wall fallback placeholder texture —
flat neutral grey, no grain, per palette.md §3.5 — milestone-0 IF Q-119
resolves yes (not resolved here); (2) concrete_wall texture, the most
common station tag; (3) re-promotion of the existing wall_structural model
through the current (non-sprite) pipeline, closing out the only piece of
partial prior art this class has. Status flips to in-progress/final as
each is actually produced.
Cross-References
docs/assets/visual/conventions.md§1, §3 — model naming, D-235-keyed texture namingdocs/assets/visual/palette.md§2, §3.1 — toon/PBR treatment, wall material registerdocs/assets/visual/models.md,docs/assets/visual/textures.md— target catalogsclient/assets/models/manifest.jsonrenderer/models/wall_structural.tscn— existing unrendered prior art (this class)