diff --git a/README.md b/README.md index be096c6..53a0e22 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,27 @@ # ScanSlicer (fork) -ScanSlicer is a desktop Qt application (Python/PySide6) that detects multiple photos in a flatbed scan image, lets you correct each box manually, and exports perspective-corrected crops. It runs on Linux desktops over Wayland or X11. +ScanSlicer is a desktop Qt application (Python/PySide6) that detects multiple +photos in a flatbed scan image, lets you correct each box manually, and exports +perspective-corrected crops. It runs on Linux desktops over Wayland or X11. -This is a **fork of [macrodev8/ScanSlicer](https://github.com/macrodev8/ScanSlicer)**. Upstream credit: the original is inspired by -[PhotoSlicer](https://github.com/francescovannini/photoslicer) by Francesco Vannini. +This is a **fork of [macrodev8/ScanSlicer](https://github.com/macrodev8/ScanSlicer)**, +whose original maintainer is inactive. It is kept in a working state for the +maintainer's own photo scans. + +Upstream credit: the original is inspired by +[PhotoSlicer](https://github.com/francescovannini/photoslicer) by Francesco +Vannini. This repository keeps the GNU GPL v3 license for compatibility with +that upstream work. ## Changes from upstream -- Fixed mirrored slice exports: added an explicit left/right orientation workflow with a **Swap L/R** button and color-coded left/right corners and edges. -- Orientation corrections now persist through "squarize" and "reset rotation" (previously they were silently overwritten). -- Hardened dependencies: switched to `opencv-python-headless`, removed the unused Pillow dependency, and made the AppImage build verify package hashes. +- Fixed mirrored slice exports: added an explicit left/right orientation + workflow with a **Swap L/R** button and color-coded left/right corners and + edges. +- Orientation corrections now persist through "squarize" and "reset rotation" + (previously they were silently overwritten). +- Hardened dependencies: switched to `opencv-python-headless`, removed the + unused Pillow dependency, and made the AppImage build verify package hashes. ## What It Does @@ -29,17 +41,6 @@ Project dependencies (from `pyproject.toml`): `PySide6`, `opencv-python-headless ## Quick Start -### Run the AppImage (recommended) - -Use the provided AppImage file under "Releases", or build and run it yourself: - -```bash -bash packaging/appimage/build-appimage-docker.sh -./appimage/dist/ScanSlicer--x86_64.AppImage -``` - -See [docs/appimage.md](docs/appimage.md) for full details. - ### Run from source (uv) ```bash @@ -57,6 +58,18 @@ uv run scanslicer --backend x11 You can also run the installed package directly with `python -m scanslicer`. +### Run the AppImage (preferred) + +Build the AppImage and run it: + +```bash +bash packaging/appimage/build-appimage-docker.sh +./appimage/dist/ScanSlicer--x86_64.AppImage +``` + +See [docs/appimage.md](docs/appimage.md) for full details, including the local +build path and a Docker Desktop caveat. + ### CLI ```text @@ -77,7 +90,9 @@ Only locked boxes are exported. ## Configuration -ScanSlicer stores its defaults, presets, auto-tune feedback, and a session status log under `~/.config/scanslicer/` (or `$XDG_CONFIG_HOME/scanslicer/`). All paths can be overridden via `SCANSLICER_*_PATH` environment variables. See +ScanSlicer stores its defaults, presets, auto-tune feedback, and a session +status log under `~/.config/scanslicer/` (or `$XDG_CONFIG_HOME/scanslicer/`). +All paths can be overridden via `SCANSLICER_*_PATH` environment variables. See [docs/runtime-config.md](docs/runtime-config.md). ## Docker @@ -88,11 +103,14 @@ A GUI-oriented compose setup is provided for Linux desktop use: docker compose up --build ``` -See `.env.example` and `docker-compose.yml` for host UID/GID and Wayland/XDG settings. +See `.env.example` and `docker-compose.yml` for host UID/GID and Wayland/XDG +settings. ## Documentation -See [docs/README.md](docs/README.md) for an index and recommended reading order (end-user guide, parameters, auto-tune, architecture, runtime config, AppImage, development). +See [docs/README.md](docs/README.md) for an index and recommended reading order +(end-user guide, parameters, auto-tune, architecture, runtime config, +AppImage, development). ## Repository