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>
182 lines
10 KiB
Markdown
182 lines
10 KiB
Markdown
---
|
||
title: "Araminta - Project Briefing"
|
||
description: "Visual art director for the Phase-4 asset pipeline and Atlas map-art rendering — owns palette.md/conventions.md as the live style authority, co-maintains the D-235 ObjectTag rendered-look layer with Miri, co-designed the D-255 stepped Atlas"
|
||
type: briefing
|
||
status: active
|
||
agent: Araminta
|
||
updated: 2026-07-25
|
||
---
|
||
|
||
# Araminta - Project Briefing
|
||
Last updated: 2026-07-25
|
||
|
||
## Current Project State
|
||
Check active work: `pql ticket list --status in_progress`
|
||
Check your tickets: `pql ticket list --assigned araminta`
|
||
|
||
## Status
|
||
**ACTIVE.** Araminta is visual art direction for the Phase-4 asset pipeline
|
||
(D-244: 3D objects in-world, no per-object sprite layer — the sprite-era
|
||
pipeline is gone) and for Atlas map-art rendering (the client's "map-art
|
||
function" role in D-255's stepped render architecture). Her two style
|
||
documents — `docs/assets/visual/palette.md` (T-1052) and
|
||
`docs/assets/visual/conventions.md` (T-1050) — merged 2026-07-25 and are now
|
||
the **live style authorities**. This briefing points at them; it does not
|
||
restate their content, to avoid a second copy drifting out of sync the way
|
||
the old stub `palette.md` drifted from D-148/D-019 for months.
|
||
|
||
## The two live style documents (read these, not this briefing, for content)
|
||
|
||
- **`docs/assets/visual/palette.md`** — camera (D-148 gameplay vs D-019
|
||
offline-render-only, §1), toon-vs-PBR rendering treatment (D-257, §2), the
|
||
D-235 ObjectTag rendered-look register — hue/grain/weathering per material
|
||
tag (§3), what survives from the pre-cascade docs (§4), and the formal
|
||
supersession statement for `visual-grammar-v01.md` /
|
||
`workshop-outcomes.md` (§5). This is the single live style bible for
|
||
Phase 4+ rendered look — new style guidance lands here, not in a new
|
||
parallel document.
|
||
- **`docs/assets/visual/conventions.md`** — model naming, mask sidecars,
|
||
D-235-keyed texture naming, multi-tile footprint metadata. Mechanics, not
|
||
taste; this is where "how do I name/organize the file" questions go.
|
||
|
||
Both documents are Araminta-authored and Araminta-owned going forward — she
|
||
extends them, not this briefing.
|
||
|
||
## Standing rulings — hers to extend
|
||
|
||
These are rulings Araminta has already made under delegated art-seat
|
||
authority (T-1052/T-1050 activation). Treat them as settled defaults for any
|
||
new asset-class work, extend rather than relitigate:
|
||
|
||
- **Category-first model naming** (`conventions.md` §1) —
|
||
`<category>_<descriptor>.glb` (e.g. `table_baroque.glb`), matching the
|
||
shipped character-clothing convention. The 3dpipeline spike's
|
||
descriptor-first naming was pre-convention scratch work, not precedent.
|
||
- **D-257 toon/PBR ruling with the glazing carve-out** — environment props
|
||
and furniture share the character toon shader family
|
||
(`toon.gdshader`/`toon_masked.gdshader`) by default; `glass_curtain_wall`
|
||
and `industrial_glazing` (the ratified D-235 glazing tokens) plus
|
||
deliberately reflective/polished metal get a narrow minimal-PBR carve-out
|
||
(`roughness` 0.05–0.2, non-zero specular/metallic) so transparency reads
|
||
correctly — load-bearing because the game's core mechanic is
|
||
occlusion-based perception (D-033). Reviewed by Tyre at PR #211.
|
||
|
||
## Decisions relevant to your role
|
||
|
||
Read `decisions/architecture.md` (primary) and `decisions/perception.md`
|
||
(secondary — the still-live camera/color/neutrality bedrock). Key decisions:
|
||
|
||
- **D-033:** Entity color = relationship to player (unknown teal, friendly
|
||
green, POI amber, hostile red) — active, amended by **D-154** (2026-03-17,
|
||
confirmed): the relationship-color palette displays **only within the
|
||
insert/perception-mode overlay**; normal gameplay renders all character
|
||
outlines as a uniform dark gray/black (`#1a1a1a`) that carries zero
|
||
semantic information (an inverted-hull silhouette, D-150). Read both
|
||
records together — D-033 defines the palette and its meaning, D-154
|
||
restricts *where* it's shown. Still the single most important color
|
||
system in the game; applies at any render fidelity, but only inside the
|
||
insert channel. Also the rationale root for D-257's glazing carve-out (a
|
||
player must be able to judge sightlines correctly).
|
||
- **D-045:** Environmental neutrality — strict zero shift. Governs how the
|
||
D-235 material register may and may not respond to game state (condition
|
||
bands shift with `prosperity_score`, never with narrative state).
|
||
- **D-148:** 30° low-angle `Camera3D`, 45° map rotation — the gameplay
|
||
camera, supersedes D-019 for gameplay (D-019 survives only as the offline
|
||
flat-2D-artwork render rig's angle — palette.md §1 corrects a
|
||
long-standing conflation of the two).
|
||
- **D-149:** 3D characters rendered live in scene, not pre-rendered sprites —
|
||
backing precedent for the shared toon-shader argument in D-257.
|
||
- **D-235:** Building exterior visual grammar — the ratified ObjectTag
|
||
vocabulary (wall/roof/facade/street axes, `wiki/economics/object_tag_vocabulary.toml`).
|
||
This is the **logical layer** (what material is this wall); Araminta
|
||
renders the look on top of it (palette.md §3). **Co-maintained with Miri**
|
||
per D-235's own Implementation note.
|
||
- **D-244:** 3D objects in-world; 2D limited to textures + flat artwork.
|
||
Retires the sprite catalog framing this briefing used to carry.
|
||
- **D-255:** Body Map Viewer — the stepped Atlas render architecture (Global
|
||
opener + Region/District/Quarter/Block/Chunk fixed rungs). Araminta is a
|
||
**named co-designer** (named-feature encoding, payload schema, lakes) —
|
||
see below.
|
||
- **D-257:** Environment props share the character toon shading treatment;
|
||
minimal-PBR carve-out for glazing — her own ruling, see Standing rulings
|
||
above.
|
||
|
||
## The D-255 stepped Atlas — active co-designed work
|
||
|
||
Araminta co-designed D-255 (body-map-viewer workshop, 2026-07-23/24)
|
||
alongside Tyre (record author), Dudley (server derivation/wire/cache),
|
||
Stig (client component/measurement), and Troblum (adversarial review). Her
|
||
contribution was the **named-feature encoding, payload schema, and lakes**
|
||
work — the tagged-envelope carrier's field shape for dense classification
|
||
data (PNG-per-field) and sparse feature lists (courses, cliffs — MessagePack-
|
||
native), and the lake morphology-sourcing fix. This is ongoing implementation
|
||
work, not a closed design: watch `docs/workshops/body-map-viewer/` for the
|
||
measurement appendix and follow-on tickets as the tagged-envelope migration
|
||
and the two lake tickets land.
|
||
|
||
Her T-1196 body-map-viewer verification pass (GJ1002b Quarter-vs-District
|
||
Alpine relief capture, PASS) produced one direct visual-grammar finding — see
|
||
T-1198 below.
|
||
|
||
## The character wardrobe pipeline — the proven reference model
|
||
|
||
`docs/architecture/character-asset-organization.md` (Tyre, D-159–D-164 body
|
||
types, D-162 pre-baked clothing) is the **working, shipped, end-to-end**
|
||
pipeline: mask sidecars, `manifest.json` schema, category-keyed naming.
|
||
`conventions.md` explicitly imitates it rather than inventing a parallel
|
||
scheme — the RGBA multi-region tint convention (`conventions.md` §2) is a
|
||
direct reuse of `character-asset-organization.md` §11 (T-1089), not a
|
||
props-specific reinvention. When in doubt about how a new asset class should
|
||
be organized, this is the model to check against first.
|
||
|
||
## Open questions assigned to you
|
||
|
||
- **Q-119:** Is the generic-parent placeholder set (`generic_wall` /
|
||
`generic_roof` / `generic_facade` / `generic_street` + the door/floor/
|
||
furniture equivalents) the first asset-production milestone? Open,
|
||
sequencing-only (not a blocker) — yours to weigh in on per the D-235
|
||
co-maintenance with Miri. T-1049's briefs each note the generic parents as
|
||
milestone-0 *if* this resolves yes.
|
||
|
||
## Current priorities
|
||
|
||
1. **T-1049 (in progress, this batch)** — refine T-961 into per-asset-class
|
||
stories, each gated on a one-page brief (scope / visual reference /
|
||
naming / generation path / acceptance, citing palette.md §3 +
|
||
conventions.md). Station walls, rural walls, doors, floors,
|
||
furniture/props get real briefs; street furniture/signage-screens/rural
|
||
structures (lamp posts, TVs, billboards, barns) get a formal Q-067-style
|
||
deferral note, not briefs — they're Phase-6-adjacent set-dressing, not
|
||
blocking the walkable-exterior deliverable.
|
||
2. **D-257 glazing shader implementation — unassigned.** The ruling is
|
||
recorded (palette.md §2.1–2.2, D-257); nobody has yet built the minimal-PBR
|
||
material variant for `glass_curtain_wall`/`industrial_glazing`. This is
|
||
implementation work waiting for an owner, not a design gap.
|
||
3. **T-1198 (backlog) — elevation-white vs ice-white grammar split.** Her own
|
||
T-1196 observation: on a temperate standard-atmosphere island world at
|
||
Quarter zoom, the elevation ramp's peak-white reads nearly identical to
|
||
the legend's glaciation-tint white — a non-glaciated alpine ridge can be
|
||
misread as icy. Not a bug (lightness=elevation is always-on; ice tint is
|
||
a separate D-217/D-239 overlay) but needs a deliberate hue/value split so
|
||
the Atlas never visually lies about glaciation. Home: palette.md §3 +
|
||
the Atlas legend treatment — hers to design.
|
||
4. **Q-119** — weigh in when sequencing allows; not urgent, but don't let it
|
||
go fully cold since T-1049's briefs are already conditioning on its answer.
|
||
|
||
## Development workflow
|
||
|
||
Image/3D generation costs money — always get Team Leader permission before
|
||
running `/image-gen` or `/glb-gen` for real (non-spike) production assets.
|
||
|
||
## Key documents
|
||
|
||
- `docs/assets/visual/palette.md` — the live rendered-look style bible (T-1052)
|
||
- `docs/assets/visual/conventions.md` — the live naming/mask/manifest mechanics doc (T-1050)
|
||
- `docs/assets/briefs/` + `docs/assets/_templates/asset-brief.md` — the per-class production briefs and their template (T-1049): how every asset class is gated before generation
|
||
- `docs/assets/briefs/deferred.md` — the formal deferral register (T-1051 classes + cars/Q-067) with revisit triggers
|
||
- `docs/architecture/character-asset-organization.md` — the proven pipeline reference model
|
||
- `decisions/architecture.md` — D-148, D-149, D-150, D-217, D-228, D-232, D-235, D-244, D-255, D-257
|
||
- `decisions/perception.md` — D-019 (superseded for gameplay), D-033, D-045
|
||
- `decisions/scope.md` — D-154 (D-033's insert-only display amendment)
|
||
- `docs/workshops/body-map-viewer/` — D-255 design record, measurement appendix, her co-design contribution
|