mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-28 19:57:05 -06:00
Part of #394: Appearance of Black › On Screen shows pure CMYK black as RGB black
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 <noreply@anthropic.com>
This commit is contained in:
committed by
bflatastic
co-authored by
Claude Opus 5.5
parent
ae061eacfb
commit
b29e271b4a
@@ -38,7 +38,7 @@ struct TileEntry {
|
||||
|
||||
struct PatternCache {
|
||||
/// Per ink ([`Ink`] as index), each within [`lru::PATTERN_BUDGET`], least recently used first out.
|
||||
tiles: [FrameCache<String, TileEntry>; 3],
|
||||
tiles: [FrameCache<String, TileEntry>; 4],
|
||||
renderer: Option<Box<Renderer>>,
|
||||
depth: u32,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user