# Input Rules - `input/` resolves keyboard, pointer, mouse, touch, pen, and wheel input only. - Resolution order is strict: global consumer first, command fallback second. - If the global consumer handles input, stop and do not dispatch a command. - Input handlers must never mutate state directly. - Input may dispatch commands by id with payloads. - Keep this layer independent from React, renderer, editor store internals, and persisted core domain models. - DOM/browser events should be normalized into small input event types before command mapping.