mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-14 19:26:56 -04:00
Preferences › Appearance of Black › On Screen was stored and never read. Display All Blacks Accurately (the default) shows pure CMYK black, black ink alone at 100%, through the working CMYK profile, a dark grey, as the canvas always did. Display All Blacks as Rich Black now shows it on the canvas as RGB black: fills, strokes, type, gradient stops, effect colours and pattern tiles, and in CMYK documents drawn by ink planes a pixel whose inks come out as black ink alone. Rich blacks, black tints and placed images show the same either way; exports and printing are unchanged (Printing / Exporting is a separate option). The renderer gets RenderOptions::rich_black, painted with a new Ink::RichBlack (screen colours with pure black as RGB black) and applied by ink::compose. The canvas sets it from blackOnScreen and keeps it in its cache key, so changing the preference redraws. A headless frame test reads the canvas raster: K100 shows its profile grey by default, RGB black with rich, a rich black unchanged, and grey again with accurate. A render test covers the opaque and ink-plane paths and checks that rich blacks, tints and images don't change. Docs: docs/mcp.md (blackOnScreen), docs/target-app-parity.md, docs/gaps.md, docs/ui-parity.md. Co-Authored-By: Claude Opus 5.5 <[email protected]>