Feature: Custom target label metadata input & generation in Stage 2 (printtarg -d) #119

Closed
opened 2026-08-28 18:09:10 +01:00 by gronod · 0 comments
Owner

Summary

In Stage 2 (Print Layout), allow users to input target metadata details (printer, ink set, driver paper setting, and actual paper type) to be printed below the color patch targets on the generated TIFF/PostScript pages.

This builds upon upstream ArgyllCMS support for the printtarg -d "<string>" custom label switch detailed in argyllcms#19.


Upstream Reference


Specifications & Requirements

1. Input Fields in Stage 2 (Print Layout)

Add an optional target metadata section in the Stage 2 form with free-text input fields:

  • Printer: (Free text) Name or model of the printer.
  • Ink Set: (Free text) Inks used (e.g., UltraChrome PRO10, OEM Claria, ConeColor Pro).
  • Driver Paper Type Setting: (Free text) Media type selected in the printer driver preferences (e.g., Premium Luster Photo Paper).
  • Actual Paper Type Used: (Free text) Physical paper substrate loaded (e.g., Ilford Galerie Smooth Pearl 310gsm).

2. String Construction & Formatting

  • Prefix: Starts with "ICCery - ".
  • Delimiter: Components separated with " - ".
  • Included Components:
    1. Prefix: ICCery
    2. Run Name (Target Basename from Stage 1 targen)
    3. Printer
    4. Ink Set
    5. Driver Paper Setting
    6. Actual Paper Type
    7. Generation Timestamp (Local standard date/time format, e.g. 28/08/2026 18:08)
  • Blank Field Handling: Any blank/omitted fields must be skipped cleanly without creating redundant or duplicate " - " separators.
  • Example Assembled Label:
    ICCery - MyProfile_Run1 - Epson SC-P900 - UltraChrome PRO10 - Premium Luster - Ilford Smooth Pearl 310 - 28/08/2026 18:08
    

3. Live Preview & Manual Edit (Non-intrusive)

  • Provide a button/toggle (e.g. “Preview / Edit Target Label”) allowing users to inspect the assembled label and optionally manually override/customize the final string before generating.
  • Must remain non-blocking and completely optional so it does not get in the way of standard one-click target generation.

4. Presets & State Handling

  • These metadata fields represent run-specific physical printing parameters and must not be saved as part of standard profiling presets.

5. Backend Execution (src-tauri)

  • Extend PrinttargConfig in src-tauri/src/commands.rs to accept an optional custom_label: Option<String>.
  • In build_printtarg_args(), append -d "<custom_label>" to the printtarg command invocation when a custom string is specified.

Acceptance Criteria

  • Stage 2 UI contains free-text fields for Printer, Ink Set, Driver Paper Setting, and Actual Paper Type.
  • Label string is dynamically concatenated with "ICCery - ", Step 1 run name, entered fields, and local standard timestamp.
  • Blank fields are omitted cleanly without double separators.
  • Users can optionally preview and manually edit the generated label string without interrupting the workflow.
  • The custom label is passed to printtarg via -d in the backend Tauri command.
  • Profiling preset saving/loading does not include these run-specific label fields.
### Summary In **Stage 2 (Print Layout)**, allow users to input target metadata details (printer, ink set, driver paper setting, and actual paper type) to be printed below the color patch targets on the generated TIFF/PostScript pages. This builds upon upstream ArgyllCMS support for the `printtarg -d "<string>"` custom label switch detailed in [argyllcms#19](https://git.i3omb.com/gronod/argyllcms/issues/19). --- ### Upstream Reference - **ArgyllCMS Issue:** [#19 - Feature: Add -d switch to printtarg for custom target label string](https://git.i3omb.com/gronod/argyllcms/issues/19) --- ### Specifications & Requirements #### 1. Input Fields in Stage 2 (Print Layout) Add an optional target metadata section in the Stage 2 form with free-text input fields: * **Printer:** (Free text) Name or model of the printer. * **Ink Set:** (Free text) Inks used (e.g., *UltraChrome PRO10*, *OEM Claria*, *ConeColor Pro*). * **Driver Paper Type Setting:** (Free text) Media type selected in the printer driver preferences (e.g., *Premium Luster Photo Paper*). * **Actual Paper Type Used:** (Free text) Physical paper substrate loaded (e.g., *Ilford Galerie Smooth Pearl 310gsm*). #### 2. String Construction & Formatting * **Prefix:** Starts with `"ICCery - "`. * **Delimiter:** Components separated with `" - "`. * **Included Components:** 1. Prefix: `ICCery` 2. Run Name (Target Basename from Stage 1 `targen`) 3. Printer 4. Ink Set 5. Driver Paper Setting 6. Actual Paper Type 7. Generation Timestamp (Local standard date/time format, e.g. `28/08/2026 18:08`) * **Blank Field Handling:** Any blank/omitted fields must be skipped cleanly without creating redundant or duplicate `" - "` separators. * **Example Assembled Label:** ```text ICCery - MyProfile_Run1 - Epson SC-P900 - UltraChrome PRO10 - Premium Luster - Ilford Smooth Pearl 310 - 28/08/2026 18:08 ``` #### 3. Live Preview & Manual Edit (Non-intrusive) * Provide a button/toggle (e.g. *“Preview / Edit Target Label”*) allowing users to inspect the assembled label and optionally manually override/customize the final string before generating. * Must remain non-blocking and completely optional so it does not get in the way of standard one-click target generation. #### 4. Presets & State Handling * These metadata fields represent run-specific physical printing parameters and **must not** be saved as part of standard profiling presets. #### 5. Backend Execution (`src-tauri`) * Extend `PrinttargConfig` in `src-tauri/src/commands.rs` to accept an optional `custom_label: Option<String>`. * In `build_printtarg_args()`, append `-d "<custom_label>"` to the `printtarg` command invocation when a custom string is specified. --- ### Acceptance Criteria - [ ] Stage 2 UI contains free-text fields for Printer, Ink Set, Driver Paper Setting, and Actual Paper Type. - [ ] Label string is dynamically concatenated with `"ICCery - "`, Step 1 run name, entered fields, and local standard timestamp. - [ ] Blank fields are omitted cleanly without double separators. - [ ] Users can optionally preview and manually edit the generated label string without interrupting the workflow. - [ ] The custom label is passed to `printtarg` via `-d` in the backend Tauri command. - [ ] Profiling preset saving/loading does not include these run-specific label fields.
gronod added the Kind/Feature
Reviewed
Confirmed
1
labels 2026-08-28 18:09:10 +01:00
gronod added this to the Milestone 11: Enterprise Colour Workflow (v0.6.0) milestone 2026-08-28 19:05:54 +01:00
Sign in to join this conversation.