Skip to content

v2.3.0 — Analysis: primary-inking paths, ink usage, per-ink separations, N-ink colour

Latest

Choose a tag to compare

@colourbill-ctrl colourbill-ctrl released this 22 Jul 22:38
· 6 commits to main since this release
v2.3.0
c37d414

profiletool 2.3.0 — Analysis tab: primary-inking paths, ink usage, per-ink separations, N-ink colour

Four new single-profile QC analyses land in the Analysis tab, plus a colour fix for n-colour profiles and a robustness merge from iccDEV. All computed client-side by the iccviz WebAssembly engine.

New Analysis sections

  • Primary-Inking Paths through Neutral — three in-gamut paths (Cyan→Red, Magenta→Green, Yellow→Blue), each routed through the neutral axis at its endpoints' midpoint lightness and run through the selected B2A table. The in-gamut counterpart to Ink Usage in Shadows: because every sample is inside the gamut by construction, a step or reversal in a colorant is a CLUT-smoothness defect, not a gamut-mapping artefact. Black-point compensated for the perceptual/saturation intents.

  • Ink Usage Statistics — per-colorant mean coverage and share of ink over the neutral axis: the profile's neutral-build fingerprint, independent of the sample count. (Validated against the GRACoL reference to ~0.5%.) The whole-gamut second table is listed as pending — it needs a gamut-boundary construction not yet built.

  • Per-ink separations in CLUT Image — selecting a B2A (PCS→device) table now shows a grayscale ink-coverage image for each colorant below the lattice (darker = more ink), sharing the section's rendering-intent selector. A hint at the top of the section points you to them.

Fixes

  • N-colour CLUT images now render in colour. A 5/6/7-colour (nCLR) B2A table's CLUT image used to fall back to a single-channel grayscale (no cheap RGB/CMYK preview exists for n-ink). The main image is now colour-managed through the profile's forward A2B, so it shows the real colours those inkings reproduce. CMYK/RGB previews and the per-ink separations are unchanged.

  • iccDEV #1742 voxel-pitch guard merged into the local iccviz engine: voxelEnclosedVolume now rejects a non-finite or sub-minimum voxel pitch locally (a defensive fix for the gamut-volume path).

Under the hood

  • WASM rebuilt against a clean iccDEV master, so every IccProfLib-linked module also picks up upstream fixes since 2.2.0.
  • New UI strings translated across all 12 locales; translation spreadsheets regenerated. (Machine-assisted for the 11 non-English locales — a native review via the translations/ round-trip is welcome.)
  • User guide (§3.4 Analysis) documents the two new sections, the per-ink separations, and the n-colour colour preview.