feat(stage5): install generated ICC/ICM profiles into the OS (#223) #228

Merged
gronod merged 1 commits from feat/223-systemic-profile-installation into development 2026-09-07 18:31:26 +01:00
Owner

Implements #223.

Stacked on #224 (feat/224-printer-calibration-curves). Merge #224 first, then this PR (or merge this one to take both).

What

  • Stage 5 Install Profile to System after a successful profcheck
  • Copies the working-directory artefact (never moves it) into:
    • Windows %WINDIR%\System32\spool\drivers\color (.icm)
    • macOS ~/Library/ColorSync/Profiles (or /Library/ColorSync/Profiles when System is selected)
    • Linux ~/.local/share/icc (or /usr/share/color/icc) with colormgr import-profile when present
  • Collision policy: Overwrite / Rename (timestamp) / Cancel
  • Actionable elevation errors
  • Settings: default User vs System location, ask-before-overwrite, open Colour Management panel
  • Success toast notes when #224 printcal curves were applied

Tests

  • src-tauri/src/profile_install.rs path resolution, collision, copy round-trip
  • node src/js/profile_install.test.js
  • Full npm test green

Do not merge until reviewed.

Implements #223. **Stacked on #224** (`feat/224-printer-calibration-curves`). Merge #224 first, then this PR (or merge this one to take both). ## What - Stage 5 **Install Profile to System** after a successful `profcheck` - Copies the working-directory artefact (never moves it) into: - Windows `%WINDIR%\System32\spool\drivers\color` (`.icm`) - macOS `~/Library/ColorSync/Profiles` (or `/Library/ColorSync/Profiles` when System is selected) - Linux `~/.local/share/icc` (or `/usr/share/color/icc`) with `colormgr import-profile` when present - Collision policy: Overwrite / Rename (timestamp) / Cancel - Actionable elevation errors - Settings: default User vs System location, ask-before-overwrite, open Colour Management panel - Success toast notes when #224 printcal curves were applied ## Tests - `src-tauri/src/profile_install.rs` path resolution, collision, copy round-trip - `node src/js/profile_install.test.js` - Full `npm test` green Do not merge until reviewed.
gronod added 2 commits 2026-09-07 18:03:38 +01:00
Add an optional Stage 0 calibration dashboard so CMYK / RIP workflows can
linearize and set ink limits before a full profile. CAL_ artefacts keep
the 5-stage wizard unchanged when calibration is skipped.

printtarg receives -K only for profiling layouts; colprof embeds curves
with applycal. Existing .cal files require Overwrite / Rename / Cancel.
Bump version to v0.8.5.
feat(stage5): install generated ICC/ICM profiles into the OS (#223)
Build Windows Packages / Build Windows (push) Successful in 7m45s
Build Linux Packages / Build Linux (push) Successful in 9m59s
Build macOS Packages / Build macOS (Intel) (push) Successful in 11m12s
Build macOS Packages / Build macOS (Apple Silicon) (push) Successful in 11m18s
980b44bccb
Add Install Profile to System after a successful profcheck run. Copies the
working-directory artefact into the platform colour store (Windows ICM,
macOS ColorSync, Linux colord) without moving it. Collisions require
Overwrite / Rename / Cancel; permission errors mention elevation. When
printcal curves were applied (#224) the success toast records that.
gronod merged commit 95a19132fb into development 2026-09-07 18:31:26 +01:00
gronod deleted branch feat/223-systemic-profile-installation 2026-09-07 18:31:26 +01:00
Sign in to join this conversation.