DIALOGUE_MAX_WIDTH: correct to 640px (20 × TILE_SIZE) per Tyre architecture review. D-076 updated in decisions/perception.md with amendment note. Initial 1920px was D-061 "max-width" but readability wins at 640px. D-067 recognition chime: wire sfx_monologue_chime to fog entity recognition onset. AudioManager.CHIME_RECOGNITION constant added. main.gd tracks seen entity IDs in _known_recognition_ids; fires chime on first appearance in pending_recognitions, expires when entity leaves the queue. UISounds bus (not WorldSFX) per D-038 "monologue chime is a UI sound." Tests added to test_audio_bus_routing.gd (Layer 2b). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Decisions
Confirmed decisions, open questions, and rejected alternatives for The Settled Reach.
Decisions are split by domain. Each agent's briefing indicates which files to read. When in doubt about where a decision belongs: if it constrains how we build, it's architecture. If it defines what we build, it's scope. If it defines what the player experiences, it's content or perception. If it defines how the team works, it's process.
Cross-domain decisions live in one file with cross-reference notes in related files. Split threshold: when any file exceeds ~350 lines, review whether it should split.
Domain Files
| File | Domain | Decisions |
|---|---|---|
| architecture.md | Technical foundation | D-008, D-009, D-010, D-012, D-020, D-026, D-030, D-031, D-041, D-042, D-054, D-055, D-066, D-068, D-073 |
| perception.md | Player observation | D-011, D-015, D-016, D-017, D-018, D-019, D-033, D-035, D-043, D-044, D-045, D-046, D-047, D-048, D-049, D-052, D-056, D-057, D-058, D-059, D-060, D-061, D-067, D-069, D-070, D-071, D-072 |
| content.md | NPC, dialogue, templates | D-023, D-024, D-025, D-028, D-029, D-032, D-034, D-035, D-036, D-037, D-050, D-062, D-063, D-064, D-074 |
| scope.md | Game concept, prototype | D-001, D-003, D-005, D-006, D-007, D-013, D-014, D-027, D-038, D-039, D-051, D-053, D-065 |
| process.md | Team, workflow | D-004, D-021, D-022, D-040 |
| questions.md | Open questions | Q-001 through Q-026 |
| rejected.md | Rejected alternatives | R-001 through R-010 |
Querying Decisions
The SQLite database contains a decisions table synced from these files. Common queries:
# All active architecture decisions
db/connectors/sqlite-query "SELECT id, title FROM decisions WHERE domain='architecture' AND status='active'"
# Decisions without implementing tickets
make decisions-orphan
# Decision coverage by domain
make decisions-coverage
Adding a Decision
- Edit the appropriate domain file
- Follow the existing format (
### D-NNN: Titleheading) - Commit — the pre-commit hook runs
decisions-syncautomatically - Update relevant agent briefings if needed
Maintained by Qatux.