|
|
||
|---|---|---|
| app | ||
| images | ||
| .gitignore | ||
| README.md | ||
| config.toml | ||
| main.py | ||
| pyproject.toml | ||
README.md
Interactive Color Range Analyzer is being reimagined with a PySide6 user interface.
This branch focuses on building a native desktop shell with modern window controls before porting the colour-analysis features.
This branch focuses on building a native desktop shell with modern window controls before porting the colour-analysis features.
Current prototype
- Custom frameless window with minimise / maximise / close controls that hook into Windows natively
- Dark themed layout and basic image preview powered by Qt
- “Open image” workflow that displays the selected asset scaled to the viewport
⚠️ Legacy Tk features (sliders, exclusions, folder navigation, stats) are not wired up yet. The goal here is to validate the PySide6 shell first.
Requirements
- Python 3.11+
- uv for dependency management
- Windows 10/11 recommended (PySide6 build included; Linux/macOS should work but are untested in this branch)
Setup with uv (PowerShell example)
git clone https://git.lukasmahler.de/lm/ICRA.git
cd ICRA
uv venv
source .venv/Scripts/activate # macOS/Linux: source .venv/bin/activate
uv pip install .
uv run icra
The app launches directly as a PySide6 GUI—no browser or local web server involved. Use the “Open Image…” button to load a file and test resizing/snap behaviour.
Roadmap (branch scope)
- Port hue/saturation/value controls to Qt widgets
- Re-implement exclusion drawing using QPainter overlays
- Integrate existing image-processing logic (
app/logic) with the new UI
Project layout
app/
assets/ # Shared branding
gui/, logic/ # Legacy Tk code kept for reference
qt/ # New PySide6 implementation (main_window, app bootstrap)
config.toml # Historical defaults (unused in the prototype)
main.py # Entry point -> PySide6 launcher
Development notes
- Quick syntax check:
uv run python -m compileall app main.py - Uploaded images are not persisted; the preview uses Qt pixmaps only.
- Contributions welcome—please target this branch with PySide6-specific improvements.