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