feat: initial commit

This commit is contained in:
nikola
2026-05-19 14:53:37 +02:00
commit a8c5df7c5e
25 changed files with 1719 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
# 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