feat(ui): unified dialogue log with overheard NPC conversations (#535)
Refactors dialogue box into a scrolling conversation log. All dialogue (player-NPC and overheard NPC-NPC) flows chronologically, oldest at top. Player response options at the bottom during active conversations. - Entries expire after configurable timeout (equal for all message types) - Walk-away clears options but preserves log entries (fair information) - Per-character name colors from dialogue-theme.yaml (hash-indexed palette) - Overheard lines render at 90% opacity (D-078) - Protocol decode for conversation_events + conversation_ended - GameState fields for conversation_events, conversation_ended, dialogue_response - Mock Mira/Soren NPC-NPC conversation in test snapshot - Also wires #511 debug overlay into main.gd and main.tscn Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# Dialogue Log Theme — The Settled Reach
|
||||
#
|
||||
# Ticket: #535 | Sprint: 14
|
||||
# Colors and timing for the unified dialogue log panel.
|
||||
# Loaded by dialogue_box.gd at runtime.
|
||||
|
||||
# ============================================================
|
||||
# PLAYER COLOR
|
||||
# Fixed color for the player's name in dialogue log entries.
|
||||
# ============================================================
|
||||
player_color: "#e0e8ff"
|
||||
|
||||
# ============================================================
|
||||
# NPC COLOR PALETTE
|
||||
# 8 distinct colors for NPC names. Indexed by hash(npc_name) % 8.
|
||||
# Must be readable on a dark semi-transparent panel background.
|
||||
# ============================================================
|
||||
npc_colors:
|
||||
0: "#4a9ebb" # teal
|
||||
1: "#6bc9a6" # green
|
||||
2: "#e8c547" # amber
|
||||
3: "#d49e5d" # warm orange
|
||||
4: "#b586d4" # lavender
|
||||
5: "#d45d5d" # muted red
|
||||
6: "#5daa7d" # forest
|
||||
7: "#7daccc" # sky blue
|
||||
|
||||
# ============================================================
|
||||
# TEXT COLORS
|
||||
# Arrow separator and speech text color.
|
||||
# ============================================================
|
||||
arrow_color: "#8890a0"
|
||||
speech_color: "#c8d0e0"
|
||||
|
||||
# ============================================================
|
||||
# PASSIVE (OVERHEARD) OPACITY
|
||||
# Base opacity multiplier for non-player-centric lines.
|
||||
# 1.0 = full opacity, 0.0 = invisible.
|
||||
# ============================================================
|
||||
passive_opacity: "0.9"
|
||||
|
||||
# ============================================================
|
||||
# ENTRY TIMING
|
||||
# All entry types share the same lifetime and fade duration.
|
||||
# ============================================================
|
||||
entry_lifetime_seconds: "15.0"
|
||||
entry_fade_seconds: "3.0"
|
||||
Reference in New Issue
Block a user