fix(client): address PR #25 review — 5 critical bugs, 4 warnings, 3 suggestions

Critical fixes:
- hide_dialogue() sent PAUSE instead of UNPAUSE, permanently freezing
  simulation after every dialogue (both reviewers)
- Confrontation monologue hardcoded in GDScript constant, violating
  D-042/D-020 — moved to ui-strings.yaml as dialogue.confrontation_beat
- Walk-away WASD didn't call set_input_as_handled(), letting movement
  event propagate and potentially stepping on the same frame
- is_dialogue_active() returned _is_showing only — interaction list
  could flash during 300ms fade gap. Now includes dialogue_active state
- Removed dead _last_dialogue_id / get_dialogue_id() state (never read)

Warnings addressed:
- Audio registry now scans res://audio/ recursively (subdirs registered)
- add_bus_effect guarded against duplicate calls in tests
- int64 encoder dead code tagged KNOWN-DEFECT, filed as ticket #516
- D-073 zone crossfade stub comment clarifies Sprint 9+ deferral
- listening_focus dip documents caller tick-gate responsibility (D-069/D-071)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-17 17:33:56 +01:00
co-authored by Claude Opus 4.6
parent 4ccb73d364
commit 2ab41a0f04
5 changed files with 37 additions and 27 deletions
+8
View File
@@ -144,6 +144,14 @@ tutorial_prompts:
minimap_hint: "The overlay shows the area around you."
knowledge_hint: "Open your notes to review what you know."
# ============================================================
# DIALOGUE
# Text displayed during dialogue interactions.
# D-063: Confrontation beat monologue — character's internal hesitation.
# ============================================================
dialogue:
confrontation_beat: "This changes things. No taking it back."
# ============================================================
# MENU AND SYSTEM TEXT
# Non-diegetic. Standard game UI. Clean, no flavor text.