docs: add contributor workflow reference
This commit is contained in:
parent
d93c8d97b3
commit
5744f06b7d
1 changed files with 56 additions and 0 deletions
56
docs/development.md
Normal file
56
docs/development.md
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
# Development Notes
|
||||||
|
|
||||||
|
## Local Commands
|
||||||
|
|
||||||
|
Recommended:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv sync --frozen
|
||||||
|
uv run scanslicer
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternative:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python -m scanslicer
|
||||||
|
```
|
||||||
|
|
||||||
|
## Packaging and Entry Points
|
||||||
|
|
||||||
|
- Python package metadata: `pyproject.toml`
|
||||||
|
- Console script: `scanslicer = scanslicer.entry:main`
|
||||||
|
- Module entry: `python -m scanslicer`
|
||||||
|
|
||||||
|
## High-Level Code Layout
|
||||||
|
|
||||||
|
- `scanslicer/entry.py`: startup arguments + backend selection
|
||||||
|
- `scanslicer/main.py`: main window and application bootstrap
|
||||||
|
- `scanslicer/controller*.py`: user action logic
|
||||||
|
- `scanslicer/ui_builders*.py`: widget construction
|
||||||
|
- `scanslicer/canvas*.py`: preview rendering and interactive editing
|
||||||
|
- `scanslicer/autoslicer*.py`: detection, auto-tune, and feedback engine
|
||||||
|
- `scanslicer/params.py`: parameter schema and persistence
|
||||||
|
- `scanslicer/slices.py`: box geometry utilities
|
||||||
|
|
||||||
|
## Concurrency Model
|
||||||
|
|
||||||
|
- Background work is executed via `QThreadPool`.
|
||||||
|
- Thread pool is configured to a single worker thread to avoid overlapping detection/autotune tasks.
|
||||||
|
- UI updates are dispatched through Qt signals.
|
||||||
|
|
||||||
|
## Persistence Model Summary
|
||||||
|
|
||||||
|
- Defaults and presets are JSON files.
|
||||||
|
- Auto-tune feedback is a JSON list of historical entries.
|
||||||
|
- Status log is plain text with session reset per app launch.
|
||||||
|
|
||||||
|
All paths are configurable by environment variables (see `docs/runtime-config.md`).
|
||||||
|
|
||||||
|
## Current Testing State
|
||||||
|
|
||||||
|
- No automated test suite is currently present in this repository.
|
||||||
|
- Recommended validation after changes:
|
||||||
|
- startup on Wayland and X11
|
||||||
|
- detection and save flow on representative sample scans
|
||||||
|
- auto-tune profile run and feedback write/read cycle
|
||||||
|
- AppImage and Docker startup sanity checks
|
||||||
Loading…
Add table
Add a link
Reference in a new issue