39 lines
1.1 KiB
Markdown
39 lines
1.1 KiB
Markdown
# Architecture
|
|
|
|
## Runtime Shape
|
|
|
|
One binary, two entry paths:
|
|
- regular launch opens the editor with a placeholder or file-backed image
|
|
- `capture` mode resolves a capture backend, acquires an image, and opens the editor
|
|
|
|
## Modules
|
|
|
|
### `capture`
|
|
- `CaptureBackend` interface for `region` and `fullscreen`
|
|
- `PlaceholderCaptureBackend` exists now for integration and editor work
|
|
- planned `PortalCaptureBackend`
|
|
- planned `KdeCaptureBackend`
|
|
|
|
### `model`
|
|
- `Annotation` data model
|
|
- `EditorDocument` for base image, annotations, selection, and history
|
|
|
|
### `editor`
|
|
- `EditorCanvas` widget for drawing and interactions
|
|
- simple tool model for select, line, arrow, rectangle, and text
|
|
|
|
### `export`
|
|
- `ExportService` for clipboard and PNG writes
|
|
|
|
### `hotkey`
|
|
- planned KDE-first launcher integration
|
|
- preferred path is a KDE global shortcut that launches `wayland-shot capture --region`
|
|
|
|
## Quality Priorities
|
|
|
|
1. Capture and cancel path reliability
|
|
2. Hotkey and entrypoint reliability
|
|
3. Clipboard and save robustness
|
|
4. Editor responsiveness
|
|
5. Multi-monitor and HiDPI correctness
|