Add Dictionary validation in game_state visible_tiles loop to prevent crash on malformed data (Hoshe critical). Skip redundant modulate.a writes (Hoshe suggestion). Add 3 tests: malformed visible_tiles, facing rotation accuracy, v1 backward compatibility. Clarify D-033 Phase 1/Phase 2 comments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
25 lines
1.2 KiB
GDScript
25 lines
1.2 KiB
GDScript
class_name Constants
|
|
|
|
# Shared constants used across rendering, game state, and protocol layers.
|
|
|
|
## Tile size in pixels — all renderers and coordinate conversions use this.
|
|
const TILE_SIZE: int = 32
|
|
|
|
# D-033: Entity relationship color palette
|
|
# Color represents the player's RELATIONSHIP to the entity, not an objective property.
|
|
# Phase 1: default colors mapped by entity kind (Player/Npc/Object/Terrain).
|
|
# Phase 2 (#361): colors derived from RelationshipState via the knowledge graph.
|
|
const ENTITY_COLOR_UNKNOWN: Color = Color("#4a9ebb") # Unknown/Neutral — cool teal
|
|
const ENTITY_COLOR_FRIENDLY: Color = Color("#6bc9a6") # Known/Friendly — soft green
|
|
const ENTITY_COLOR_POI: Color = Color("#e8c547") # Person of Interest — warm amber
|
|
const ENTITY_COLOR_HOSTILE: Color = Color("#d45d5d") # Hostile/Dangerous — muted red
|
|
const ENTITY_COLOR_OBJECT: Color = Color("#8b8ba0") # Static objects — muted grey
|
|
const ENTITY_COLOR_PLAYER: Color = Color("#e0e8ff") # Player character (detective)
|
|
|
|
# D-015: Peripheral vision dimming
|
|
const PERIPHERAL_ALPHA: float = 0.5
|
|
|
|
# Facing direction indicator
|
|
const FACING_INDICATOR_SIZE: float = 6.0
|
|
const FACING_INDICATOR_OFFSET: float = 14.0
|