diff --git a/docs/briefings/araminta.md b/docs/briefings/araminta.md index 488346c66..cbde31eba 100644 --- a/docs/briefings/araminta.md +++ b/docs/briefings/araminta.md @@ -1,84 +1,174 @@ --- title: "Araminta - Project Briefing" -description: "Visual art director responsible for zone visual grammar, tile palettes, entity color system, and placeholder art pipeline — generator-critical visual deliverables for v0.2" +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-03-13 +updated: 2026-07-25 --- # Araminta - Project Briefing -Last updated: 2026-03-13 +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` -## v0.2 Pivot — Key Changes for Your Role -The visual system shifts from designing layouts for three hand-crafted social sites to designing the visual grammar that the generator uses to produce legible zones at scale. +## 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. -**What changes:** -- The three specific social sites (Logistics Hub, The Last Shift bar, maintenance corridors) are no longer hand-crafted deliverables. They become instances of generated zone types. -- D-033 player color split (smuggler `#e8e0d0` / detective `#e0e8ff`) no longer applies — single tycoon character type in v0.2. -- D-034 FRIEND visual treatment as an authoring assignment is gone — the FRIEND pattern is now a generator template; Araminta's role is ensuring the entity color system communicates relationship progression clearly for generated NPCs. -- Spatial layout deliverables shift: instead of three specific floor plans, Araminta produces zone type visual rules that the generator instantiates. +## The two live style documents (read these, not this briefing, for content) -**What survives:** -- D-033 entity color = relationship to player (unknown teal, friendly green, POI amber, hostile red) — unchanged -- Insert/minimap visual language -- Monologue display system -- Phase 1-3 placeholder art pipeline -- Zone palette identities (D-036 three-zone breakdown maps to generator zone types) +- **`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. -**New critical path items (Araminta prerequisites for generator spike):** -- Zone visual grammar — what each zone type looks like visually; tile palette per zone type -- Character creation visual spec — full character customisation (D-126): hair, clothing, colours +Both documents are Araminta-authored and Araminta-owned going forward — she +extends them, not this briefing. -## Decisions Relevant to Your Role -- D-013: Diegetic insert/POI navigation — in-world UI aesthetic -- D-015: Camera locked to character — vision cone presentation -- D-016: Internal monologue — text presentation, typography, positioning -- D-017: Perception mode overlays -- D-018: Three-range sound — visual indicators for medium range -- D-019: Top-down art style -- D-021: Official title "The Settled Reach" -- D-033: Entity color = relationship to player (palette unchanged) -- D-036: Sova Transit District visual zones — maps to generator zone types -- D-114: v0.2 proof-of-life = generator + graphics (graphics = Araminta's domain) -- D-117: Tycoon bookmark — single character type, apartment wakeup, goes to work -- D-119: Generator spike — Phase 5 per D-166 cascade (not imminent) -- D-122: All NPCs generated — visual system must handle generator-created entities -- D-126: Full character customisation (hair, clothing, colours) -- D-128: Culture implicit in starting location — visual language should communicate Van Maanen's Star culture -- D-131: First Settled Reach moment = apartment + insert activation — visual priority -- D-135: Setting delivery via both layers (visual + insert) in parallel +## Standing rulings — hers to extend -## Open Questions Assigned to You -- Q-003: Art direction (LEAD) -- Q-WTF-039: Character creation screen — portrait render or tile-scale preview? -- Q-WTF-040: Do creation choices trace into the generated apartment? +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: -## Current Priorities -Consult `docs/sprints/` for active sprint briefing. +- **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. -**Zone visual grammar is the single most important visual deliverable for the generator spike.** +## Decisions relevant to your role -1. **Zone type visual grammar** — blocked by Miri's zone identity spec. Once Miri delivers zone type definitions, Araminta produces tile palette and visual rules per zone type. Blocked by: Miri zone identity spec. Blocks: Tyre generator zone template parameters. -2. **Character customisation visual spec** — hair, clothing, colours (D-126). What are the customisation dimensions? What does the creation screen communicate? Feeds Q-WTF-039 (portrait vs tile-scale preview). -3. **Apartment visual spec** — generated apartment reflects economic position. What does a small business owner's apartment look like visually? How does the generator know which tiles/props to use? Q-WTF-040 feeds into this. -4. **Entity color system for generated NPCs** — D-033 palette unchanged. Ensure relationship transition visuals (especially the first green→amber shift) work with generated NPC names and labels, not hand-authored ones. -5. **Insert/HUD wireframe for tycoon** — single character type variant (vs previous smuggler/detective dual variants). One `lattice_profile` parameter for v0.2. +Read `decisions/architecture.md` (primary) and `decisions/perception.md` +(secondary — the still-live camera/color/neutrality bedrock). Key decisions: -### Placeholder art pipeline (status) -- Phase 1 (Structural): tile floor plans, entity rectangles, fog rendering — establish zone type rules -- Phase 2 (Information): insert overlay, monologue display, dialogue panel — adapt for tycoon character -- Phase 3 (Atmosphere): zone palettes per generated zone type, character customisation display -- Phase 4 (Polish): sprite replacements, animations — post-generator spike +- **D-033:** Entity color = relationship to player (unknown teal, friendly + green, POI amber, hostile red) — active, unchanged since 2026-02-11. The + single most important color system in the game; applies at any render + fidelity. 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. -Note: Image generation via /asset-gen costs money — always get Team Leader permission before generating. +## The D-255 stepped Atlas — active co-designed work -## Key Documents -- decisions/perception.md — D-011 through D-019, D-033 -- decisions/scope.md — D-114 through D-120 -- decisions/content.md — D-036, D-126 through D-131 -- docs/workshops/wheres-the-fun/workshop-outcomes.md — v0.2 pivot summary, dependency chain +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.3, 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-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 +- `docs/workshops/body-map-viewer/` — D-255 design record, measurement appendix, her co-design contribution