Files
gronod 8b931e3625
macOS CI / build-and-test (pull_request) Successful in 37m40s
macOS CI / package (pull_request) Skipped
fix(ui): settings numeric fields no longer render default value as inline label (#165)
- TextField("30"/"2.0"/"5.0") passed the default value as the label,
  which macOS draws inline next to the box — the rows read
  "Stale after 30 [30] days" / "Good ΔE ≤ 2.0 [2.0]".
- The three fields are now direct Form children carrying their
  descriptive label, so it renders once in the label column and the box
  fills the control column, matching the Pickers. The stale-days row
  folds "days" into the label ("Stale after (days)").
- New identifier settingsCalStaleDays; docs/21 roster 357→358.
- New testNumericFieldsCarryLabelsNotDuplicatedValues asserts each
  field's value, a single label-column staticText, and no staticText
  echoing the old label literal. testVerificationRowsStayInsideSheet
  updated for label-column geometry (fields end ~3.5 pt inside the
  sheet, same as the PopUpButtons — the 12 pt inset only applied to the
  old 60 pt boxes).

Refs #165
2026-09-14 02:05:06 +01:00
..

ICCery Rewrite Specification

Product: ICCery — printer ICC/ICM profiling frontend for ArgyllCMS
Source analysed: git.i3omb.com/gronod/ICCery v0.8.5 (main, merge #229)
Related: gronod/argyllcms (fork of ArgyllCMS 3.5.0), gronod/ICCery-CPU (TargetPrint)
Current stack (do not reuse): Tauri v2 + Rust host + vanilla JS + Three.js
Licence: ICCery GUI is proprietary EULA; ArgyllCMS binaries are AGPLv3 and must remain subprocess-isolated (stdin/stdout/stderr only — never link)

This folder is a complete functional specification of the existing application so it can be reimplemented in a different stack under the same name, using the same graphical assets (CMY ice-cream-cone wordmark).

How to use these documents

Read in this order if you are implementing:

  1. 01-overview.md — product, wizard, platforms
  2. 02-architecture.md — process isolation, modules, events
  3. 03-ipc-and-process-manager.md — spawn / stdin / kill contract
  4. 04-argyll-binaries.mdevery Argyll CLI invocation
  5. 05-argyll-fork.md-u JSON protocols, instlist, -Y l, Windows pipe fix
  6. Wizard stages: 06070809151617
  7. Print (critical): 1011-print-macos.md121314
  8. 18-gamut-viewer.md
  9. 21-ui-reference.md — every control id
  10. 24-issues-invariants.md — bugs that must not be repeated
  11. 25-rewrite-notes.md — stack-agnostic idiosyncrasies
  12. 26-v2-mac-ticket-plan.mdreviewed Gitea milestone/ticket plan for the macOS SwiftUI rewrite (executable; supersedes the 2026-09-08 draft)

Non-goals of the original (do not reintroduce)

  • Display calibration wizard (dispwin / dispread) — won't-fix (#90)
  • i18n (en/de/fr/ja) — won't-fix (#96); Argyll diagnostics are English-only
  • Linking against Argyll as a library (AGPL contamination)

Source map (legacy Tauri tree)

Area Path
Wizard HTML src/index.html
Frontend modules src/js/*.js
Styles src/styles/main.css
Logo src/assets/ICCery-logo.svg
Rust host src-tauri/src/
Print backends src-tauri/src/print/{mod,macos,windows,unix}.rs
Argyll sidecars src-tauri/argyll/<platform>/ (not in git; npm run fetch-argyll)
Bundled sRGB gamut src/assets/sRGB.gam

Analysed at 2026-09-08 from Gitea (109 ICCery issues, 13 Argyll-fork issues, 3 ICCery-CPU issues) plus a full source read of v0.8.5.