Files
settled-reach/docs/assets
jpmschweitzerandClaude Opus 5.5 26cc8de7f3 refactor(tooling): T-1290 — the character domain, and six payloads the map misfiled
`reach character {logo, strip-glb, qa, qa-analyze}` replaces make_logo.py,
glb_strip_utility_nodes.py, analyze_captures.py and the run-garment-qa bash
driver. The QA configs and method doc move beside the domain (qa_configs/,
GARMENT_QA.md), and `qa` takes a config name (`reach character qa hoodie_modern`)
or a path.

Parity, from baselines taken before anything moved:

- the logo PNG is byte-identical
- a synthetic GLB with three real utility nodes strips to identical bytes
  (the committed bodies strip 0 nodes, so they proved nothing)
- re-analyzing a cached capture set gives a byte-identical report.json and
  summary

run-garment-qa is rewritten, not wrapped (D-263). Its decisions — which config,
which Godot ($GODOT, then ~/bin/godot4, then PATH), and whether xvfb-run is
needed — are capture_plan(), pinned by tooling/test_character.py without
launching Godot. The bash exit codes are kept: 2 for a missing config, 3 for
no Godot.

The T-1271 domain map was wrong about this domain. Six of its ten files import
bpy: convert_outfit, inspect_glb, check_hair_symmetry, check_icosphere,
render_quaternius_test and test_quaternius_raw. They are Blender payloads and
joined the carve-out as blender_* (41 payloads now). The 22 existing payloads'
docstrings still cited tooling/garment-fit/ from before T-1273; fixed.

Archived, with reasons in tooling/archive/README.md:

- setup_clothing_metadata.py wrote coverage data for five garments that no
  longer exist in the 24-garment wardrobe
- wipe-bodies.sh ran raw DELETEs on systems.db

segment_reference_distribution.md moved to docs/assets/visual/.

Behaviour changes:

- The QA analyzer exited 0 whatever it found, though its own README says
  clip-through "is the real defect and it gates". qa and qa-analyze now exit 1
  on clip-through, and the remedy names --min-pixels (Wave 1/2 were accepted
  at 150). The cached peasant set has 33 failures at the default 8 px.
- glb strip re-reported the same nodes as stripped on every re-run and
  rewrote an unchanged file: it left them as orphans and then found them
  again. Only nodes still linked into the graph count now, and a first pass
  writes the same bytes as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 19:55:46 +02:00
..

title, description, type, status
title description type status
Asset Pipeline Index Master index linking all asset pipelines (audio, visual, video) with structure and conventions design active

Asset Pipeline Index

Centralized tracking for all production assets across pipelines. Each pipeline has its own index, palette (style bible), and per-category asset tables.

Pipelines

Pipeline Index Palette Status
Audio audio/README.md audio/palette.md Active — Sprint 7
Visual visual/README.md visual/palette.md Active — catalog + style bible instantiated (T-1050/T-1052)
Video video/README.md video/palette.md Stub

Structure

docs/assets/
  README.md              # This file — master index
  _templates/
    audio.md             # Row template + detailed entry template for audio
    sprite.md            # LEGACY object-sprite row template (D-244 retired sprites; model/texture/artwork rows are inline in each visual/*.md file, T-1050)
    video.md             # Row template + detailed entry template for video
    asset-brief.md       # One-page per-class brief template (scope/visual reference/naming/gen path/acceptance) — T-1049
  briefs/                # Per-asset-class briefs gating T-961's child stories (T-1049) + deferred.md formal deferral note
  audio/
    README.md            # Audio pipeline index — categories, status summary
    palette.md           # Sonic palette, aesthetic guide, generation approach
    ambient.md           # All ambient loops (station, planet, biome, weather)
    sfx.md               # All SFX (footsteps, doors, impacts, events)
    ui.md                # All UI sounds (cursor, chimes, insert-tech)
  visual/                # 3D models + textures + flat artwork (D-244 — no per-object sprites)
    README.md            # Visual pipeline index
    palette.md           # Art direction, "the angle", color relationships
    models.md            # 3D objects/props (.glb via Trellis /glb-gen)
    textures.md          # PBR surface maps (BaseColor/Normal/Roughness) for 3D models
    artwork.md           # Flat 2D art — paintings, flags, billboards, signage (via /sprite-gen)
    icons.md             # UI icons, status indicators (UI layer)
    effects.md           # Shaders, particles, overlays
    conventions.md       # Model naming, mask sidecars, D-235-keyed texture naming, footprint metadata (T-1050)
  video/
    README.md            # Video pipeline index
    palette.md           # Motion/editing style guide
    trailers.md          # Marketing / Steam page trailers
    cutscenes.md         # In-game narrative moments

Conventions

  • One .md per category — asset table with one row per asset, detailed entries below for complex items
  • palette.md per pipeline — the style bible. Aesthetic baseline, theme, generation approach.
  • Status values: planned | in-progress | placeholder | final
  • Templates: _templates/{type}.md — row format + detailed entry format
  • Asset files live in client/assets/{type}/ — these docs track design and production metadata
  • Category splitting: When a category file grows too long, split by domain (e.g., furniture-station.md, furniture-colony.md)

Cross-References

  • Decision files: decisions/ (D-038 audio scope, D-033 entity colors, D-019 camera angle)
  • Art direction workshop: docs/workshops/art-direction-mood-board/
  • Sprint briefings: docs/sprints/sprint-N/{team}.md
  • Per-class asset briefs: briefs/ — station walls, rural walls, doors, floors, furniture/props, each gating a T-961 child story (T-1049); briefs/deferred.md records the formal deferral for lamp posts / TVs / billboards / barns (T-1051) + cars (Q-067).