Files
settled-reach/docs/assets/briefs/station-walls.md
T
jpmschweitzerandClaude Fable 5 660f4a703f docs(assets): PR #213 review fixes — DoorSpec fields, spike inventory, axis honesty, D-154
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>
2026-07-25 23:10:09 +02:00

4.9 KiB
Raw Blame History

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
D-235
D-244
D-257
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.050.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 naming
  • docs/assets/visual/palette.md §2, §3.1 — toon/PBR treatment, wall material register
  • docs/assets/visual/models.md, docs/assets/visual/textures.md — target catalogs
  • client/assets/models/manifest.json
  • renderer/models/wall_structural.tscn — existing unrendered prior art (this class)