# Intent-Based Architecture Skill Read the architecture document at `docs/self-gating-systems.md` (resolve relative to the project root `/home/jonas/projects/snow_trail_sdl/`) and follow its patterns when: - Adding cross-system communication (use intents, not direct function calls) - Adding new systems to the main loop - Changing how game modes work (editor, dialog, gameplay) - Working with camera, input, or mode-switching logic Key rule: **systems communicate through typed intent data in shared queues** — producers insert intents, consumers process and remove them. No system calls another system's functions directly.