feat(docs): add D-066 dual-scale grid decision and propagate to all docs
0.5m sim tiles for movement/LOS granularity, 1m visual tiles for proportional art and readable spaces (2x retina factor). All world geometry constrained to 2x2 sim tile minimum so cover/LOS maps 1:1 with visuals. Entities occupy 1x1 sim tiles for fine positioning. Updates: D-043, D-044, D-051, D-056, D-059 annotations, workshop outcomes (art direction + control/interaction), sprint 6 briefings, decision index, and CLAUDE.md. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -23,7 +23,7 @@ This sprint emerged from the **Control & Interaction Workshop** (2026-02-13), wh
|
||||
|
||||
Two open questions were resolved during the workshop and ticket creation:
|
||||
|
||||
- **OQ-01: Tile size** — Resolved to 0.5m x 0.5m (ticket #444, done)
|
||||
- **OQ-01: Tile size** — Resolved to 0.5m x 0.5m sim tiles (ticket #444, done). Amended by D-066: dual-scale grid with 1m visual tiles (2x retina factor). All world geometry 2x2 sim tile minimum.
|
||||
- **OQ-24: Inventory capacity** — Resolved to 3x3 grid = 9 slots universal (ticket #445, done)
|
||||
|
||||
All blocking decisions are confirmed. No pre-sprint work required.
|
||||
|
||||
@@ -29,7 +29,7 @@ Use `db/connectors/ticket show <id>` for full details.
|
||||
|
||||
## Open Questions Resolved
|
||||
|
||||
- **OQ-01: Tile size** — Resolved to 0.5m x 0.5m (ticket #444, done)
|
||||
- **OQ-01: Tile size** — Resolved to 0.5m x 0.5m sim tiles (ticket #444, done). Amended by D-066: dual-scale grid with 1m visual tiles (2x retina factor). All world geometry 2x2 sim tile minimum.
|
||||
- **OQ-24: Inventory capacity** — Resolved to 3x3 grid = 9 slots universal (ticket #445, done)
|
||||
|
||||
## Notes
|
||||
|
||||
@@ -54,8 +54,8 @@ Each participant's one-sentence answer to "What is this game's visual identity?"
|
||||
- Entity facing direction becomes readable (see someone's front vs. back)
|
||||
|
||||
**What doesn't change:**
|
||||
- Tile grid stays orthogonal (64x64, square)
|
||||
- Vision cone computed on 2D grid (Rust shadowcasting, D-035)
|
||||
- Tile grid stays orthogonal (64x64px visual tiles = 2x2 sim tiles per D-066, square)
|
||||
- Vision cone computed on 2D sim grid (Rust shadowcasting, D-035)
|
||||
- Light2D pipeline unchanged
|
||||
- Fog of perception unchanged
|
||||
- Environmental neutrality unchanged
|
||||
@@ -67,11 +67,12 @@ Each participant's one-sentence answer to "What is this game's visual identity?"
|
||||
|
||||
### 1.3 World Composition — Tile-Based
|
||||
|
||||
**64x64 tile grid, 1x1 placed objects, base-builder compatible.**
|
||||
**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.**
|
||||
|
||||
- Structural tiles (walls, floors, doors): 64x64, muted, minimal outlines, zone palette + era differentiation
|
||||
- Object tiles (furniture, equipment, containers): 64x64 per 1x1, medium outline (1px), Rimworld object detail as target
|
||||
- Larger objects composed of 1x1 sub-tiles (e.g., 3x1 bar counter, 2x1 desk)
|
||||
- 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.
|
||||
- Larger objects composed of multiple visual tiles (e.g., 3x1 bar counter, 2x1 desk — in visual tile units)
|
||||
- Entities occupy 1x1 sim tiles (0.5m) for fine positioning within the 1m visual grid
|
||||
- Three construction eras as tile palettes (see §1.8)
|
||||
- Stations are literally built this way — prefab modular construction = tile grid IS the construction grid (Miri)
|
||||
|
||||
@@ -95,9 +96,9 @@ Each participant's one-sentence answer to "What is this game's visual identity?"
|
||||
|
||||
### 1.5 Entity System
|
||||
|
||||
**24x32 pixel footprint within 64x64 tiles.**
|
||||
**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).**
|
||||
|
||||
- Entity smaller than tile = clear figure-ground relationship
|
||||
- Entity smaller than visual tile = clear figure-ground relationship
|
||||
- D-033 color as primary information signal
|
||||
- Silhouette as primary identity signal (I-01: "Silhouette IS identity because color is spoken for" — Ozzie)
|
||||
- One identifying silhouette feature per named NPC (Kael's vest, Lera's apron, Sera's Commission uniform)
|
||||
@@ -490,7 +491,7 @@ Cyberpunk neon / Blade Runner rain-noir, Star Trek antiseptic, Star Wars romanti
|
||||
The following workshop outputs are ready for formal recording in `decisions/` domain files. All have unanimous consensus. Proposed numbering starts at D-042 (D-041 is the current highest).
|
||||
|
||||
### Candidate D-042: Art Direction — Visual Style
|
||||
- **Decision:** Clean 2D with bold silhouettes, tile-based world composition (64x64 grid), lighting-driven atmosphere. "Functional warmth." Not pixel art, not painted, not 3D. Godot 4 Light2D pipeline. Sprites are shape templates that the lighting system completes — no baked shadows, no baked lighting, no baked mood.
|
||||
- **Decision:** Clean 2D with bold silhouettes, tile-based world composition (64x64px visual tiles on dual-scale grid per D-066), lighting-driven atmosphere. "Functional warmth." Not pixel art, not painted, not 3D. Godot 4 Light2D pipeline. Sprites are shape templates that the lighting system completes — no baked shadows, no baked lighting, no baked mood.
|
||||
- **Rationale:** Four independent agents converged on the same style. Production constraints (Nano Banana), engine capabilities (Godot 4 Light2D), design requirements (D-033 readability), and thematic goals (restraint as confidence) all point to the same solution.
|
||||
- **Domain:** perception.md (cross-ref: architecture.md for Godot pipeline)
|
||||
- **Raised by:** Araminta (lead), endorsed unanimously
|
||||
@@ -608,7 +609,7 @@ The following workshop outputs are ready for formal recording in `decisions/` do
|
||||
|---|---|---|
|
||||
| Source render | 1024x1024 | Archive master. Maximum detail from SubViewport. |
|
||||
| Working | 256x256 | Outlines applied here (4-8px → 1-2px at runtime). Asset QA resolution. |
|
||||
| Runtime | 64x64 | Final in-game sprite. Must read through silhouette and color, not texture detail. |
|
||||
| Runtime | 64x64 | Final in-game sprite (= 1 visual tile per D-066). Must read through silhouette and color, not texture detail. |
|
||||
|
||||
- **Interpolation:** Bilinear for both downscale passes
|
||||
- **Outline application:** At 256 working resolution. 4px outline at 256 = 1px at 64 runtime. Color: dark blue-grey `#333340`.
|
||||
|
||||
@@ -40,7 +40,7 @@ This workshop produced 13 decisions ready for formalization. Suggested D-NNN IDs
|
||||
- Object hover: ticks rotate 45 degrees to X-shape, muted grey #8b8ba0 (amber #e8c547 if flagged)
|
||||
- Weapon aim: hard transition, ticks extend, center gap widens, lines thicken 1px to 2px, warm white #f0e8d8, NO bloom. Entity in sights tints to D-033 color.
|
||||
- All transitions 150ms linear, z-layer 7, never changes by zone or narrative state (D-045).
|
||||
- Cursor changes on LOS, not just proximity (Stig). Click range: ~2 tiles. Weapon-selected mode suppresses interaction prompts unless Shift held (Ozzie: "combat intent trumps social intent").
|
||||
- Cursor changes on LOS, not just proximity (Stig). Click range: ~2 sim tiles (= 1m per D-066). Weapon-selected mode suppresses interaction prompts unless Shift held (Ozzie: "combat intent trumps social intent").
|
||||
- **Rationale:** Diegetic — cursor is the insert's own interface element. Consistent with D-048 (insert overlay aesthetic). Entity in weapon sights tinting to D-033 creates moral friction (aiming at a friend should feel wrong).
|
||||
- **Raised by:** Araminta (visual spec), Stig (UX rules), Ozzie (weapon suppression)
|
||||
- **Dissent:** None.
|
||||
@@ -60,7 +60,7 @@ This workshop produced 13 decisions ready for formalization. Suggested D-NNN IDs
|
||||
|
||||
### D-059: Fog — shader-based, five layers, knowledge-graph-driven (perception.md)
|
||||
- **Decision:** Fog is a shader-driven system (not particles) with five distinct layers:
|
||||
1. Clear (vision cone): soft gradient edge 3-4 tiles, no hard line (Darkwood approach)
|
||||
1. Clear (vision cone): soft gradient edge 6-8 sim tiles (= 3-4 visual tiles per D-066), no hard line (Darkwood approach)
|
||||
2. Light fog (peripheral): desaturated 40-50%, brightness -30%, animated Perlin noise (8-10s cycle), entity D-033 colors visible but reduced
|
||||
3. Deep fog (explored): near-monochrome, ~10% zone temperature tint (bar=warm, hub=cool, corridor=neutral), more pronounced noise (15-20s cycle)
|
||||
4. Unexplored + maps app: geometric wireframe outlines #333340
|
||||
@@ -173,7 +173,7 @@ These were raised in the workshop and confirmed, but may overlap with or extend
|
||||
|
||||
| Layer | Treatment | Key Values |
|
||||
|-------|-----------|------------|
|
||||
| Clear | Soft gradient edge | 3-4 tiles |
|
||||
| Clear | Soft gradient edge | 6-8 sim tiles (= 3-4 visual tiles, D-066) |
|
||||
| Light fog | Desaturated, Perlin noise | 40-50%, 8-10s cycle |
|
||||
| Deep fog | Near-monochrome, zone temperature | ~10% tint, 15-20s cycle |
|
||||
| Unexplored + maps | Geometric wireframe | #333340 |
|
||||
@@ -186,7 +186,7 @@ These were raised in the workshop and confirmed, but may overlap with or extend
|
||||
| Menu type | Vertical list, insert-styled |
|
||||
| Max options | 2-4, anchored to entity position |
|
||||
| New option highlight | Gradient glow background |
|
||||
| Trigger | LOS + ~2 tiles proximity |
|
||||
| Trigger | LOS + ~2 sim tiles proximity (= 1m, D-066) |
|
||||
| Diegetic test | Labels on z-layer 6, disappear if insert off |
|
||||
|
||||
### World Menu (D-058)
|
||||
@@ -295,7 +295,7 @@ These questions were not resolved in the workshop and should be addressed during
|
||||
|
||||
| # | Question | Owner Suggestion |
|
||||
|---|----------|-----------------|
|
||||
| OQ-01 | Tile size in world units? | Tyre/Dudley |
|
||||
| OQ-01 | ~~Tile size in world units?~~ **Resolved:** 0.5m sim tiles, 1m visual tiles (D-066) | Tyre/Dudley |
|
||||
| OQ-07 | No insert = no interaction prompts? (Diegetic test implication) | Stig/Gestalt |
|
||||
| OQ-08 | False-positive fog shapes: gameplay or atmospheric? | Gestalt/Araminta |
|
||||
| OQ-09 | Zone temperature memory: server-tracked or client-only? | Tyre/Dudley |
|
||||
|
||||
Reference in New Issue
Block a user