docs(assets): PR #211 review fixes — ratified glazing tokens, D-257, manifest skip contract

Review round (Hoshe + Tyre, both REQUEST_CHANGES) fully addressed:
palette.md's glass carve-out re-keyed from retired never-shipped tokens
(precision_glass/smart_facade) to the ratified glass_curtain_wall (wall)
+ industrial_glazing (facade); the toon/PBR treatment promoted from a
docs-only ruling to D-257 (architecture, cross-refs D-235/D-244/D-043/
D-044/D-033) with palette.md §2 now citing it as authority; D-149 +
D-257 added to decision_refs; manifest.json _comment gains the explicit
underscore-prefix loader skip contract; master pipeline table Visual row
Stub -> Active; conventions.md mask pointer Section 3 -> 5; pre-existing
broken D-066 links in the mood-board transcript repaired (leave-cleaner).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 20:36:47 +02:00
co-authored by Claude Fable 5
parent 7d5a774fa5
commit 2ca70d0228
7 changed files with 37 additions and 16 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ Centralized tracking for all production assets across pipelines. Each pipeline h
| Pipeline | Index | Palette | Status |
|----------|-------|---------|--------|
| [Audio](audio/README.md) | [audio/README.md](audio/README.md) | [audio/palette.md](audio/palette.md) | Active — Sprint 7 |
| [Visual](visual/README.md) | [visual/README.md](visual/README.md) | [visual/palette.md](visual/palette.md) | Stub |
| [Visual](visual/README.md) | [visual/README.md](visual/README.md) | [visual/palette.md](visual/palette.md) | Active — catalog + style bible instantiated (T-1050/T-1052) |
| [Video](video/README.md) | [video/README.md](video/README.md) | [video/palette.md](video/palette.md) | Stub |
## Structure
+1 -1
View File
@@ -45,7 +45,7 @@ T-1050).
## 2. Mask sidecars
Convention: `<model>_mask.png`, single-channel (R-only greyscale), sitting
next to the GLB — per the character-asset convention (Section 3,
next to the GLB — per the character-asset convention (Section 5,
`docs/architecture/character-asset-organization.md`). White = tintable
region, black = preserve original texture (`hint_default_black`: no mask
loaded = no tinting; assets without a mask render with their original
+17 -11
View File
@@ -3,7 +3,7 @@ title: "Visual Palette"
description: "Phase-4 visual style bible — camera, entity colours, environmental neutrality, D-235 material register, toon/PBR rendering treatment"
type: design
status: active
decision_refs: [D-019, D-033, D-045, D-148, D-217, D-232, D-235, D-244]
decision_refs: [D-019, D-033, D-045, D-148, D-149, D-217, D-232, D-235, D-244, D-257]
author: "Araminta"
updated: 2026-07-25
---
@@ -42,10 +42,13 @@ sentence is what this document is correcting.
---
## 2. Rendering Treatment — Toon vs. PBR (delegated ruling)
## 2. Rendering Treatment — Toon vs. PBR
**Ruling (Araminta, delegated by team lead this batch — surfaced to Jeroen for
veto in the batch report):**
**Authority: [D-257](../../../governance/decisions/architecture.md#d-257)**
(environment props share the character toon shading treatment; minimal-PBR
carve-out for glazing). This section is the practical guidance derived from
that record — the binding decision and its full rationale live in D-257, not
here.
**Environment props and furniture share the character toon treatment.** One
shader family, one look, across the whole in-world scene — with a single,
@@ -70,10 +73,11 @@ the flat toon response.
vocabulary's bulk. These are flat-lit like characters; PBR specular
highlights on a stucco wall or a wooden table would read as wet/glossy and
contradict the toon language players already learn from characters.
- **Exception — glass and polished/mirror metal:** `precision_glass`/
`glass_curtain_wall` (facade), `smart_facade`, and any deliberately
reflective/polished metal prop (chrome fixture, mirror, glossy display
case) get a **separate minimal-PBR material**: `roughness` in the 0.050.2
- **Exception — glass and polished/mirror metal:** the ratified D-235 glazing
tokens — `glass_curtain_wall` (wall axis) and `industrial_glazing` (facade
axis) — and any deliberately reflective/polished metal prop (chrome
fixture, mirror, glossy display case) get a **separate minimal-PBR
material**: `roughness` in the 0.050.2
range and non-zero `specular`/`metallic` as appropriate, layered so the toon
shadow-band lighting model still governs the base surface response but a
specular highlight and partial reflection are allowed through. This is not
@@ -101,8 +105,8 @@ the flat toon response.
grey panel, which actively misleads the player about sightlines (can I see
through this?) in a game whose core mechanic is occlusion-based perception.
Where "can the player see through/into this" is gameplay-load-bearing
(`glass_curtain_wall`, `precision_glass`, shop windows, interior partitions),
the material needs to look transparent/reflective enough to answer that
(`glass_curtain_wall`, `industrial_glazing`, shop windows, interior
partitions), the material needs to look transparent/reflective enough to answer that
question at a glance. This is a narrow, named carve-out — it does not
reopen "should props be PBR," it closes the one case where toon-only
actively lies to the player.
@@ -284,7 +288,9 @@ authored separately under T-1050).
| D-033 | Entity color = relationship to player. Unchanged, still the primary information-bearing color system. |
| D-045 | Environmental neutrality — strict zero shift. Governs how the D-235 material register (§3) may and may not respond to game state. |
| D-148 | 30° low-angle gameplay `Camera3D`, supersedes D-019 for gameplay. |
| D-149 | 3D characters rendered live in scene, not pre-rendered sprites. Backing precedent for §1's camera reasoning (no more sprites to render "at the angle" during play) and for §2's shared-shader-family argument (characters and environment props come off the same live-3D pipeline). |
| D-217 | Tile condition thresholds (prosperity_score bands) — the weathering-baseline mechanism referenced throughout §3. |
| D-232 | Trait-template catalog — era reframed as maintenance/wear + past-vogue holdover, not a material-tech ladder. Backing rationale for retiring the Era 1/2/3 ladder in §5. |
| D-235 | Building exterior visual grammar + ratified ObjectTag vocabulary (`object_tag_vocabulary.toml`). §3 is this document's rendered-look layer on top of D-235's logical tokens. |
| D-235 | Building exterior visual grammar + ratified ObjectTag vocabulary (`object_tag_vocabulary.toml`). §3 is this document's rendered-look layer on top of D-235's logical tokens; §2's glazing carve-out names its ratified `glass_curtain_wall`/`industrial_glazing` tokens. |
| D-244 | 3D objects in-world; 2D limited to textures + flat artwork. Establishes the toon-shader-family context for §2 and retires the sprite catalog framing this document used to have. |
| D-257 | Environment props share the character toon shading treatment; minimal-PBR carve-out for glazing. The binding authority for §2 — this document states the practical guidance, D-257 is the decision record. |
@@ -90,7 +90,7 @@ Each participant's one-sentence answer to "What is this game's visual identity?"
### 1.3 World Composition — Tile-Based
**Dual-scale grid: 0.5m sim tiles, 1m visual tiles (2x retina factor, [D-066](../../decisions/architecture.md#d-066-dual-scale-grid--05m-simulation-1m-visual-2x-retina-factor)). Visual tiles are 64x64px.**
**Dual-scale grid: 0.5m sim tiles, 1m visual tiles (2x retina factor, [D-066](../../../governance/decisions/architecture.md#d-066-dual-scale-grid--05m-simulation-1m-visual-2x-retina-factor)). Visual tiles are 64x64px.**
- Structural tiles (walls, floors, doors): 64x64px per visual tile (= 2x2 sim tiles), muted, minimal outlines, zone palette + era differentiation
- Object tiles (furniture, equipment, containers): 64x64px per visual tile, medium outline (1px), Rimworld object detail as target. All world geometry is 2x2 sim tile minimum.
@@ -119,7 +119,7 @@ Each participant's one-sentence answer to "What is this game's visual identity?"
### 1.5 Entity System
**24x32 pixel footprint within 64x64px visual tiles. Entities occupy 1x1 sim tiles (0.5m) but render across a 2x2 sim tile sprite footprint per [D-066](../../decisions/architecture.md#d-066-dual-scale-grid--05m-simulation-1m-visual-2x-retina-factor).**
**24x32 pixel footprint within 64x64px visual tiles. Entities occupy 1x1 sim tiles (0.5m) but render across a 2x2 sim tile sprite footprint per [D-066](../../../governance/decisions/architecture.md#d-066-dual-scale-grid--05m-simulation-1m-visual-2x-retina-factor).**
- Entity smaller than visual tile = clear figure-ground relationship
- D-033 color as primary information signal