fix(visual): address PR #48 review comments

- sound-indicator-visual: D-069 → D-033/D-048 color reference, reconcile
  medium range S1 (3-8) vs S7 (3-20) contradiction, split dual values in
  quick-reference table
- entity-color-system: D-046 → D-015 for peripheral rendering, tighten
  cognitive delay wording, add accessibility ticket tracking note
- visual-grammar-v01: dialogue max-width corrected from ~70% to 640px
  per D-076
- the-friend-visual-treatment: D-063 citation title corrected
- tell-visual-expression: soften D-024 attribution (axis, not categories)
- environmental-text-standards: specify tile unit for terminal visibility
- monologue-display-spec: header updated to reflect Sprint 14 inclusion
- CHANGELOG: add entries for all 6 Sprint 14 design docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-20 19:04:00 +01:00
co-authored by Claude Opus 4.6
parent 0b5952a107
commit 3c4304f745
8 changed files with 21 additions and 11 deletions
+9
View File
@@ -8,6 +8,15 @@ Format based on [Keep a Changelog](https://keepachangelog.com/).
### Added
- Monologue display system visual spec — typography, positioning, stacking, priority, fade animation, character color differentiation, 80-char line constraint (#315)
- Entity color system spec — D-033 relationship-to-player mapping, transition animations, color blindness assessment (#304)
- Text display hierarchy spec — 4 content pipelines (dialogue, monologue, observation, environmental) with z-layers and positioning (#316)
- Sound indicator visual design — fog-edge pulse for D-018 three-range sound model with direction encoding and range differentiation (#317)
- THE FRIEND visual treatment spec — 3-phase earned visual detail for Kael Davan and Sera Venn (#318)
- Environmental text visual standards — signage, terminal, and news ticker rendering with bilingual Concordat/Krenn treatment (#334)
- Tell visual/behavioral expression spec — 5 tell categories mapped to 6 Tier 2 behaviors (#251)
### Fixed
- Visual grammar dialogue max-width corrected from "~70% screen width" to 640px per D-076
## [v0.1.13] — 2026-02-20
+3 -3
View File
@@ -96,7 +96,7 @@ See `docs/design/the-friend-visual-treatment.md` (#318) for staging details.
**Entity in fog (recognized):** If the character recognizes an entity in fog (their knowledge graph identifies them), the insert overlay (z-layer 6) can show a D-033 color glow + faint silhouette feature at ±0.5 tile approximate position. This is insert data, not visual data — the character knows where they were, not where they are.
**Entity at periphery:** Per D-046 (three-reference lighting model), entities in the peripheral vision zone are rendered at reduced saturation and alpha. The `modulate.a` value is `Constants.PERIPHERAL_ALPHA` when `visibility == "Peripheral"`. This is already implemented in `entity_renderer.gd`. The D-033 color itself does not change — saturation reduction is handled via the visibility dimming, not a color override.
**Entity at periphery:** Per D-015 (forward/peripheral/blind vision sectors), entities in the peripheral vision zone are rendered at reduced saturation and alpha. The `modulate.a` value is `Constants.PERIPHERAL_ALPHA` when `visibility == "Peripheral"`. This is already implemented in `entity_renderer.gd`. The D-033 color itself does not change — saturation reduction is handled via the visibility dimming, not a color override.
**Simultaneous transitions:** Two entities changing relationship state in the same tick each get independent 0.5s tweens. There is no synchronization between entity transitions. This is intentional.
@@ -162,7 +162,7 @@ The current palette does not include a secondary differentiation signal beyond h
**Recommended for v0.1.2+:** Add a shape or pattern secondary signal to entity sprites — border dash pattern or icon badge — that persists independently of hue. E.g., Hostile gets a diamond border, PersonOfInterest gets a cross-hatch border, Unknown gets no border treatment. This would not require changing the D-033 colors (which have been visually designed and approved) but would layer a non-color signal on top.
**Flag:** This is a known gap to be addressed before the game exits early access. Track as accessibility ticket.
**Flag:** This is a known gap to be addressed before the game exits early access. Tracked as future accessibility ticket (not yet created — flag during Sprint 15 planning).
---
@@ -216,5 +216,5 @@ The core lookup table is already partially implemented. The complete client-side
| Static object | `#8b8ba0` | Fixed — no transitions |
| Player (detective) | `#e0e8ff` | Fixed — not subject to relationship |
| Player (smuggler) | `#e8e0d0` | Fixed — not subject to relationship |
| Fog blob (unrecognized) | `#555566` | Transitions to D-033 over 0.3s at end of 0.6s cognitive delay |
| Fog blob (unrecognized) | `#555566` | Transitions to D-033 over 0.3s during 0.6s cognitive delay (D-060) |
| Peripheral entities | Any D-033 color at reduced alpha | No separate color |
+1 -1
View File
@@ -85,7 +85,7 @@ The terminal sprite displays a short ambient identifier: equipment type + design
| Color | `#8899aa` |
| Opacity | 60% |
| Z-layer | 4 (overhead, above terminal sprite) |
| Visibility range | Within LOS, up to ~4 visual tiles |
| Visibility range | Within LOS, up to ~4 visual tiles (~256px at 64px/tile) |
**State 2 — Active (player adjacent, Observe/Interact triggered):**
+1 -1
View File
@@ -1,6 +1,6 @@
# Monologue Display System — Visual Specification
**Version:** v0.1 (Sprint 13)
**Version:** v0.1 (Sprint 13, updated Sprint 14)
**Author:** Araminta (Visual Designer)
**Date:** 2026-02-19
**Ticket:** #315
+4 -3
View File
@@ -15,13 +15,13 @@ Sound indicators are **complementary to audio, not a replacement for it.** They
The v0.1 implementation uses **directional arrows at the viewport edge** as the indicator shape (already implemented in `sound_indicator_renderer.gd`). This spec defines the full intended visual design including the pulse behavior described in the ticket, and notes where the current implementation differs from the spec.
**D-018 scope:** Sound indicators cover the **medium-range tier only** (sounds outside LOS, within ~38 tiles). Close-range sounds (≤3 tiles, within LOS) are handled by positional 2D audio — no indicator needed. Long-range insert alerts (≥8 tiles) are a future sprint feature.
**D-018 scope:** Sound indicators cover the **medium-range tier** (sounds outside LOS, within ~320 tiles). Close-range sounds (≤3 tiles, within LOS) are handled by positional 2D audio — no indicator needed. Within medium range, three sub-tiers (close-medium, standard, far-medium) differentiate visual intensity — see §7 for the full breakdown.
---
## 2. Colors
Per D-018 three-range sound model and D-069 color codes:
Per D-018 three-range sound model and D-033/D-048 color vocabulary:
| Sound category | Hex | Usage |
|----------------|-----|-------|
@@ -218,7 +218,8 @@ Because voices are the most important medium-range sound in the game. NPCs talki
| Voice color | `#e8c547` |
| Danger color | `#d45d5d` |
| Max alpha | 90% |
| Total visible duration | 2.5s (target) / 3.5s (current) |
| Total visible duration (target) | 2.5s |
| Total visible duration (current) | 3.5s |
| Fade duration | 1.0s ease-in |
| Deduplication | Reset timer on same-tile re-trigger |
| Range alpha levels | Close-medium 90% / standard 70% / far-medium 45% |
+1 -1
View File
@@ -25,7 +25,7 @@ The tell system (D-024 axis: Tell System) defines behavioral signals that NPCs e
## 2. Tell Categories and Animation Tier Mapping
D-024 specifies 5 tell categories. Each maps to one or more Tier 2 behavioral expressions (D-047 animation tier system). The mapping is based on what the tell would look like from a top-down view on a character operating in a public space.
D-024 defines the tell system axis on the NPC model. This spec identifies 5 tell categories derived from the axis. Each maps to one or more Tier 2 behavioral expressions (D-047 animation tier system). The mapping is based on what the tell would look like from a top-down view on a character operating in a public space.
| Tell category | Internal state | Primary Tier 2 behavior | Secondary behavior | Notes |
|---------------|---------------|------------------------|-------------------|-------|
+1 -1
View File
@@ -206,4 +206,4 @@ The visual spec obligation is: ensure the staging conditions are met so that THE
| D-044 | Visual hierarchy. Entity always dominant. Silhouette feature as recognition signal. |
| D-047 | Two-tier animation system. Tier 1/Tier 2 boundary, invisible to player. |
| D-052 | Character favorite colors — object-layer identification. Phase 2 earned visual detail. |
| D-063 | Confrontation as cognitive weight. Post-discovery monologue behavior (not visual, but contextually related). |
| D-063 | Confrontation text styling — italic first-person options, 1.5s monologue beat. Post-discovery monologue behavior (not visual, but contextually related). |
+1 -1
View File
@@ -234,7 +234,7 @@ All sizes are in pixels at 1080p (1920×1080) base resolution. Godot 4 handles D
| Text role | Size | Opacity | Color | Z-layer | Notes |
|-----------|------|---------|-------|---------|-------|
| Dialogue — NPC speech | 16px | 100% | `#e8eaf0` | 7 | Max width ~70% screen width. Left-aligned. |
| Dialogue — NPC speech | 16px | 100% | `#e8eaf0` | 7 | Max width 640px (~33% at 1080p, per D-076). Left-aligned. |
| Dialogue — player response | 14px | 90% | `#c0c8d8` | 7 | Below NPC speech. Up to 3 options visible. |
| Monologue (standard) | 13px | 85% | `#d0d4e0` | 7 | Floats above dialogue box. Inner voice — slightly dimmer than dialogue. |
| Monologue (urgent) | 13px | 100% | `#e0e8f8` | 7 | Same size, full opacity, slight bloom pulse. Urgent chime accompanies. |