52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
<div style="display:flex; gap:16px; align-items:center;">
|
|
<img src="app/assets/logo.png" alt="ICRA" width="140"/>
|
|
<div>
|
|
<strong>Interactive Color Range Analyzer</strong> is being reimagined with a <em>PySide6</em> user interface.<br/>
|
|
This branch focuses on building a native desktop shell with modern window controls before porting the colour-analysis features.
|
|
</div>
|
|
</div>
|
|
|
|
## 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](https://github.com/astral-sh/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)
|
|
```bash
|
|
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)
|
|
1. Port hue/saturation/value controls to Qt widgets
|
|
2. Re-implement exclusion drawing using QPainter overlays
|
|
3. 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.
|