--- 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) — `_.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