feat(app): add composition root

This commit is contained in:
syntaxbullet
2026-07-03 09:36:04 +02:00
parent d7406e803a
commit 9422494458
6 changed files with 47 additions and 17 deletions

View File

@@ -4,6 +4,7 @@ Follow these rules for the whole repository. More specific `AGENTS.md` files ove
## Boundaries
- `core/`: pure domain models only. See `core/AGENTS.md`.
- `app/`: composition root for wiring stores, command registries, input, renderer, and view adapters.
- `commands/`: the only write path for application state.
- `editor/`: transient editor/app state types and app store, e.g. viewport/camera and selection.
- `input/`: keyboard, pointer, mouse, touch, pen, and wheel resolution; global consumer first, command fallback second.
@@ -45,6 +46,7 @@ Follow these rules for the whole repository. More specific `AGENTS.md` files ove
- Avoid ad-hoc component-local shortcuts/gestures unless they are purely local UI behavior and cannot affect app/editor/document state.
## Imports
- `app/` may import from all layers; lower layers must not import from `app/`.
- `core/` imports nothing from app layers.
- `commands/` may import `core/` and `editor/`; avoid importing React or renderer backend APIs.
- `editor/` may import `core/` types and command dispatch infrastructure; it must not import React, renderer, storage, or backend APIs.