diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..5d79390a2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Copies of the vendored krilla source diff, one per patch (see vendor/krilla/README.craft.md). +vendor/krilla/patches/*.patch linguist-generated=true diff --git a/crates/plate-test/scenes/D01-spot-control.json b/crates/plate-test/scenes/D01-spot-control.json index 578a16ec9..0440f4002 100644 --- a/crates/plate-test/scenes/D01-spot-control.json +++ b/crates/plate-test/scenes/D01-spot-control.json @@ -2,65 +2,14 @@ "id": "D01", "title": "Gold alone, no transparency", "source": "DesignCraft DC01", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], - "objects": [ - { - "type": "rect", - "rect": [ - 36, - 36, - 108, - 144 - ], - "fill": { - "spot": "Gold", - "tint": 100 - } - } - ], + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], + "objects": [{"type": "rect", "rect": [36, 36, 108, 144], "fill": {"spot": "Gold", "tint": 100}}], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ - { - "at": [ - 90, - 108 - ], - "inks": { - "Gold": 100 - }, - "tol": 2, - "note": "spot fill" - }, - { - "at": [ - 300, - 108 - ], - "inks": {}, - "tol": 2, - "note": "paper" - } + {"at": [90, 108], "inks": {"Gold": 100}, "tol": 2, "note": "spot fill"}, + {"at": [300, 108], "inks": {}, "tol": 2, "note": "paper"} ] }, "structure": { @@ -69,9 +18,7 @@ "overprint": false, "smask": false, "blend_modes": [], - "color_spaces": [ - "Separation(Gold, alt DeviceCMYK)" - ], + "color_spaces": ["Separation(Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/D04-spot-opacity.json b/crates/plate-test/scenes/D04-spot-opacity.json index dc3813b80..bcf8a25d5 100644 --- a/crates/plate-test/scenes/D04-spot-opacity.json +++ b/crates/plate-test/scenes/D04-spot-opacity.json @@ -2,111 +2,35 @@ "id": "D04", "title": "Gold at 50% opacity over C100", "source": "DesignCraft DC04", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], + "settings": {"group_cs": "cmyk"}, "objects": [ + {"type": "rect", "rect": [36, 36, 180, 144], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 36, - 36, - 180, - 144 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 144, - 36, - 180, - 144 - ], - "fill": { - "spot": "Gold", - "tint": 100 - }, + "rect": [144, 36, 180, 144], + "fill": {"spot": "Gold", "tint": 100}, "opacity": 0.5 } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ + {"at": [90, 108], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"}, { - "at": [ - 90, - 108 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - }, - { - "at": [ - 180, - 108 - ], - "inks": { - "Cyan": 50, - "Gold": 50 - }, + "at": [180, 108], + "inks": {"Cyan": 50, "Gold": 50}, "tol": 6, "note": "half the spot, half the cyan" }, - { - "at": [ - 290, - 108 - ], - "inks": { - "Gold": 50 - }, - "tol": 6, - "note": "spot 50% over paper" - } + {"at": [290, 108], "inks": {"Gold": 50}, "tol": 6, "note": "spot 50% over paper"} ] }, "structure": { "page_group": "DeviceCMYK", - "group_cs": [ - "none" - ], - "color_spaces": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)" - ], + "group_cs": ["none"], + "color_spaces": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/D06-stroke-fill-overprint.json b/crates/plate-test/scenes/D06-stroke-fill-overprint.json index b181bedd4..aa05c33b3 100644 --- a/crates/plate-test/scenes/D06-stroke-fill-overprint.json +++ b/crates/plate-test/scenes/D06-stroke-fill-overprint.json @@ -2,242 +2,72 @@ "id": "D06", "title": "Overprint stroke and overprint fill, process and spot", "source": "DesignCraft DC06", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], "objects": [ + {"type": "rect", "rect": [20, 20, 150, 100], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 150, - 100 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } + "rect": [40, 40, 110, 60], + "stroke": {"paint": {"spot": "Gold", "tint": 100}, "width": 10}, + "overprint": {"stroke": true} + }, + {"type": "rect", "rect": [190, 20, 150, 100], "fill": {"cmyk": [0, 0, 100, 0]}}, + { + "type": "rect", + "rect": [210, 40, 110, 60], + "stroke": {"paint": {"cmyk": [0, 100, 0, 0]}, "width": 10}, + "overprint": {"stroke": true} + }, + {"type": "rect", "rect": [20, 130, 320, 70], "fill": {"cmyk": [100, 0, 0, 0]}}, + { + "type": "rect", + "rect": [40, 140, 120, 50], + "fill": {"cmyk": [0, 100, 0, 0]}, + "overprint": {"fill": true} }, { "type": "rect", - "rect": [ - 40, - 40, - 110, - 60 - ], - "stroke": { - "paint": { - "spot": "Gold", - "tint": 100 - }, - "width": 10 - }, - "overprint": { - "stroke": true - } - }, - { - "type": "rect", - "rect": [ - 190, - 20, - 150, - 100 - ], - "fill": { - "cmyk": [ - 0, - 0, - 100, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 210, - 40, - 110, - 60 - ], - "stroke": { - "paint": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, - "width": 10 - }, - "overprint": { - "stroke": true - } - }, - { - "type": "rect", - "rect": [ - 20, - 130, - 320, - 70 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 40, - 140, - 120, - 50 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, - "overprint": { - "fill": true - } - }, - { - "type": "rect", - "rect": [ - 200, - 140, - 120, - 50 - ], - "fill": { - "spot": "Gold", - "tint": 100 - }, - "overprint": { - "fill": true - } + "rect": [200, 140, 120, 50], + "fill": {"spot": "Gold", "tint": 100}, + "overprint": {"fill": true} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ { - "at": [ - 40, - 70 - ], - "inks": { - "Gold": 100, - "Cyan": 100 - }, + "at": [40, 70], + "inks": {"Gold": 100, "Cyan": 100}, "tol": 2, "note": "spot stroke over cyan" }, + {"at": [95, 70], "inks": {"Cyan": 100}, "tol": 2, "note": "inside the spot-stroked frame"}, { - "at": [ - 95, - 70 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "inside the spot-stroked frame" - }, - { - "at": [ - 210, - 70 - ], - "inks": { - "Magenta": 100, - "Yellow": 100 - }, + "at": [210, 70], + "inks": {"Magenta": 100, "Yellow": 100}, "tol": 2, "note": "magenta stroke over yellow" }, { - "at": [ - 265, - 70 - ], - "inks": { - "Yellow": 100 - }, + "at": [265, 70], + "inks": {"Yellow": 100}, "tol": 2, "note": "inside the magenta-stroked frame" }, { - "at": [ - 100, - 165 - ], - "inks": { - "Magenta": 100, - "Cyan": 100 - }, + "at": [100, 165], + "inks": {"Magenta": 100, "Cyan": 100}, "tol": 2, "note": "magenta fill over cyan" }, { - "at": [ - 260, - 165 - ], - "inks": { - "Gold": 100, - "Cyan": 100 - }, + "at": [260, 165], + "inks": {"Gold": 100, "Cyan": 100}, "tol": 2, "note": "spot fill over cyan" }, - { - "at": [ - 180, - 165 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [180, 165], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { @@ -246,18 +76,8 @@ "overprint": true, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)" - ], - "ext_g_states": [ - { - "OP": true - }, - { - "op": true - } - ], + "color_spaces": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)"], + "ext_g_states": [{"OP": true}, {"op": true}], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/D08-feather.json b/crates/plate-test/scenes/D08-feather.json index d914b4e9d..8182a48ee 100644 --- a/crates/plate-test/scenes/D08-feather.json +++ b/crates/plate-test/scenes/D08-feather.json @@ -2,58 +2,22 @@ "id": "D08", "title": "Feathered Gold (10 pt soft-mask feather), alone and in a group with cyan", "source": "DesignCraft DC08", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], + "settings": {"group_cs": "cmyk"}, "objects": [ { "type": "rect", - "rect": [ - 36, - 36, - 120, - 144 - ], - "fill": { - "spot": "Gold", - "tint": 100 - }, + "rect": [36, 36, 120, 144], + "fill": {"spot": "Gold", "tint": 100}, "mask": { "kind": "luminosity", - "backdrop": { - "gray": 100 - }, + "backdrop": {"gray": 100}, "content": [ { "type": "image", - "rect": [ - 36, - 36, - 120, - 144 - ], - "image": { - "px": [ - 120, - 144 - ], - "feather": 10 - } + "rect": [36, 36, 120, 144], + "image": {"px": [120, 144], "feather": 10} } ] } @@ -63,145 +27,54 @@ "objects": [ { "type": "rect", - "rect": [ - 204, - 36, - 120, - 144 - ], - "fill": { - "spot": "Gold", - "tint": 100 - }, + "rect": [204, 36, 120, 144], + "fill": {"spot": "Gold", "tint": 100}, "mask": { "kind": "luminosity", - "backdrop": { - "gray": 100 - }, + "backdrop": {"gray": 100}, "content": [ { "type": "image", - "rect": [ - 204, - 36, - 120, - 144 - ], - "image": { - "px": [ - 120, - 144 - ], - "feather": 10 - } + "rect": [204, 36, 120, 144], + "image": {"px": [120, 144], "feather": 10} } ] } }, - { - "type": "rect", - "rect": [ - 300, - 170, - 40, - 36 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - } + {"type": "rect", "rect": [300, 170, 40, 36], "fill": {"cmyk": [100, 0, 0, 0]}} ] } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ + {"at": [96, 108], "inks": {"Gold": 100}, "tol": 2, "note": "feathered spot, center"}, { - "at": [ - 96, - 108 - ], - "inks": { - "Gold": 100 - }, - "tol": 2, - "note": "feathered spot, center" - }, - { - "at": [ - 38, - 108 - ], - "inks": { - "Gold": [ - 3, - 70 - ] - }, + "at": [38, 108], + "inks": {"Gold": [3, 70]}, "tol": 10, "note": "2 pt inside the edge: partial spot, no process ink" }, { - "at": [ - 264, - 108 - ], - "inks": { - "Gold": 100 - }, + "at": [264, 108], + "inks": {"Gold": 100}, "tol": 2, "note": "feathered spot in a group, center" }, { - "at": [ - 206, - 108 - ], - "inks": { - "Gold": [ - 3, - 70 - ] - }, + "at": [206, 108], + "inks": {"Gold": [3, 70]}, "tol": 10, "note": "2 pt inside the edge: partial spot, no process ink" }, - { - "at": [ - 330, - 195 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan" - } + {"at": [330, 195], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan"} ] }, "structure": { "page_group": "DeviceCMYK", "smask": true, - "ext_g_states": [ - { - "SMask": "Luminosity" - } - ], - "color_spaces_include": [ - "Separation(Gold, alt DeviceCMYK)", - "DeviceGray" - ], + "ext_g_states": [{"SMask": "Luminosity"}], + "color_spaces_include": ["Separation(Gold, alt DeviceCMYK)", "DeviceGray"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/D10-k100-text.json b/crates/plate-test/scenes/D10-k100-text.json index af0474bc2..54330b1bd 100644 --- a/crates/plate-test/scenes/D10-k100-text.json +++ b/crates/plate-test/scenes/D10-k100-text.json @@ -2,145 +2,60 @@ "id": "D10", "title": "K100 text (overprint) on a page with transparency, over 50% cyan and over paper", "source": "DesignCraft DC10", - "page": [ - 360, - 216 - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "settings": {"group_cs": "cmyk"}, "objects": [ { "type": "rect", - "rect": [ - 20, - 20, - 180, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - }, + "rect": [20, 20, 180, 176], + "fill": {"cmyk": [100, 0, 0, 0]}, "opacity": 0.5 }, { "type": "text", - "at": [ - 30, - 100 - ], + "at": [30, 100], "size": 60, "text": "HHH", - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - }, - "overprint": { - "fill": true - } + "fill": {"cmyk": [0, 0, 0, 100]}, + "overprint": {"fill": true} }, { "type": "text", - "at": [ - 210, - 100 - ], + "at": [210, 100], "size": 60, "text": "HHH", - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - }, - "overprint": { - "fill": true - } + "fill": {"cmyk": [0, 0, 0, 100]}, + "overprint": {"fill": true} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ { - "at": [ - 100, - 80 - ], + "at": [100, 80], "kind": "text", - "region": [ - 30, - 56.2, - 133.2, - 43.8 - ], - "inks": { - "Black": 100, - "Cyan": 50 - }, + "region": [30, 56.2, 133.2, 43.8], + "inks": {"Black": 100, "Cyan": 50}, "tol": 2, "note": "K text over 50% cyan: overprint keeps the cyan" }, { - "at": [ - 280, - 80 - ], + "at": [280, 80], "kind": "text", - "region": [ - 210, - 56.2, - 133.2, - 43.8 - ], - "inks": { - "Black": 100 - }, + "region": [210, 56.2, 133.2, 43.8], + "inks": {"Black": 100}, "tol": 2, "note": "K text over paper: K only, no rich black" }, - { - "at": [ - 100, - 160 - ], - "inks": { - "Cyan": 50 - }, - "tol": 6, - "note": "cyan at 50% opacity" - } + {"at": [100, 160], "inks": {"Cyan": 50}, "tol": 6, "note": "cyan at 50% opacity"} ] }, "structure": { "page_group": "DeviceCMYK", "overprint": true, - "ext_g_states": [ - { - "op": true - } - ], - "group_cs": [ - "none" - ], - "color_spaces": [ - "DeviceCMYK" - ], + "ext_g_states": [{"op": true}], + "group_cs": ["none"], + "color_spaces": ["DeviceCMYK"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/M1-mask-backdrop.json b/crates/plate-test/scenes/M1-mask-backdrop.json index d28bc48da..d32cebdfe 100644 --- a/crates/plate-test/scenes/M1-mask-backdrop.json +++ b/crates/plate-test/scenes/M1-mask-backdrop.json @@ -2,124 +2,44 @@ "id": "M1", "title": "M100 under a luminosity mask whose content is a black hole, /BC white", "source": "new", - "page": [ - 360, - 216 - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "settings": {"group_cs": "cmyk"}, "objects": [ + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 60, - 40, - 240, - 136 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, + "rect": [60, 40, 240, 136], + "fill": {"cmyk": [0, 100, 0, 0]}, "mask": { "kind": "luminosity", - "backdrop": { - "gray": 0 - }, - "content": [ - { - "type": "rect", - "rect": [ - 140, - 70, - 80, - 76 - ], - "fill": { - "gray": 100 - } - } - ] + "backdrop": {"gray": 0}, + "content": [{"type": "rect", "rect": [140, 70, 80, 76], "fill": {"gray": 100}}] } } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ { - "at": [ - 80, - 60 - ], - "inks": { - "Magenta": 100 - }, + "at": [80, 60], + "inks": {"Magenta": 100}, "tol": 2, "note": "outside the mask content: /BC white shows the object" }, { - "at": [ - 180, - 108 - ], - "inks": { - "Cyan": 100 - }, + "at": [180, 108], + "inks": {"Cyan": 100}, "tol": 2, "note": "inside the black hole: masked out" }, - { - "at": [ - 30, - 30 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [30, 30], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { "page_group": "DeviceCMYK", "smask": true, - "ext_g_states": [ - { - "SMask": "Luminosity", - "BC": true - } - ], - "color_spaces_include": [ - "DeviceCMYK" - ], + "ext_g_states": [{"SMask": "Luminosity", "BC": true}], + "color_spaces_include": ["DeviceCMYK"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/M2-mask-transfer.json b/crates/plate-test/scenes/M2-mask-transfer.json index 0ecc5eacd..6a744cc01 100644 --- a/crates/plate-test/scenes/M2-mask-transfer.json +++ b/crates/plate-test/scenes/M2-mask-transfer.json @@ -2,126 +2,44 @@ "id": "M2", "title": "M100 under a luminosity mask with an inverting /TR: the white mask content becomes a hole", "source": "new", - "page": [ - 360, - 216 - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "settings": {"group_cs": "cmyk"}, "objects": [ + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 60, - 40, - 240, - 136 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, + "rect": [60, 40, 240, 136], + "fill": {"cmyk": [0, 100, 0, 0]}, "mask": { "kind": "luminosity", - "transfer": [ - 1, - 0 - ], - "content": [ - { - "type": "rect", - "rect": [ - 140, - 70, - 80, - 76 - ], - "fill": { - "gray": 0 - } - } - ] + "transfer": [1, 0], + "content": [{"type": "rect", "rect": [140, 70, 80, 76], "fill": {"gray": 0}}] } } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ { - "at": [ - 80, - 60 - ], - "inks": { - "Magenta": 100 - }, + "at": [80, 60], + "inks": {"Magenta": 100}, "tol": 2, "note": "outside the mask content: default black backdrop, inverted to fully visible" }, { - "at": [ - 180, - 108 - ], - "inks": { - "Cyan": 100 - }, + "at": [180, 108], + "inks": {"Cyan": 100}, "tol": 2, "note": "white mask content, inverted: masked out" }, - { - "at": [ - 30, - 30 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [30, 30], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { "page_group": "DeviceCMYK", "smask": true, - "ext_g_states": [ - { - "SMask": "Luminosity", - "BC": false, - "TR": true - } - ], - "color_spaces_include": [ - "DeviceCMYK" - ], + "ext_g_states": [{"SMask": "Luminosity", "BC": false, "TR": true}], + "color_spaces_include": ["DeviceCMYK"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/N1-devicen-fill.json b/crates/plate-test/scenes/N1-devicen-fill.json index df09fb826..78ee01c1b 100644 --- a/crates/plate-test/scenes/N1-devicen-fill.json +++ b/crates/plate-test/scenes/N1-devicen-fill.json @@ -2,79 +2,26 @@ "id": "N1", "title": "DeviceN [Cyan Black] 60/40 fill overprinting Y100", "source": "GWG 19 idea", - "page": [ - 360, - 216 - ], + "page": [360, 216], "objects": [ + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [0, 0, 100, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 0, - 0, - 100, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 60, - 60, - 240, - 96 - ], - "fill": { - "inks": { - "Cyan": 60, - "Black": 40 - } - }, - "overprint": { - "fill": true - } + "rect": [60, 60, 240, 96], + "fill": {"inks": {"Cyan": 60, "Black": 40}}, + "overprint": {"fill": true} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ { - "at": [ - 180, - 108 - ], - "inks": { - "Yellow": 100, - "Cyan": 60, - "Black": 40 - }, + "at": [180, 108], + "inks": {"Yellow": 100, "Cyan": 60, "Black": 40}, "tol": 2, "note": "DeviceN overprint leaves unnamed colorants alone" }, - { - "at": [ - 30, - 30 - ], - "inks": { - "Yellow": 100 - }, - "tol": 2, - "note": "yellow only" - } + {"at": [30, 30], "inks": {"Yellow": 100}, "tol": 2, "note": "yellow only"} ] }, "structure": { @@ -83,15 +30,8 @@ "overprint": true, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK", - "DeviceN(Cyan,Black, alt DeviceCMYK)" - ], - "ext_g_states": [ - { - "op": true - } - ], + "color_spaces": ["DeviceCMYK", "DeviceN(Cyan,Black, alt DeviceCMYK)"], + "ext_g_states": [{"op": true}], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S01-black-overprint.json b/crates/plate-test/scenes/S01-black-overprint.json index f4b7bf3dd..2cfd10d7e 100644 --- a/crates/plate-test/scenes/S01-black-overprint.json +++ b/crates/plate-test/scenes/S01-black-overprint.json @@ -2,128 +2,38 @@ "id": "S01", "title": "[Black] rect and text over C100, overprint on", "source": "research S1, DesignCraft DC06", - "page": [ - 360, - 216 - ], + "page": [360, 216], "objects": [ + {"type": "rect", "rect": [20, 20, 300, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 300, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 40, - 40, - 100, - 60 - ], - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - }, - "overprint": { - "fill": true - } + "rect": [40, 40, 100, 60], + "fill": {"cmyk": [0, 0, 0, 100]}, + "overprint": {"fill": true} }, { "type": "text", - "at": [ - 40, - 160 - ], + "at": [40, 160], "size": 60, "text": "HHH", - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - }, - "overprint": { - "fill": true - } + "fill": {"cmyk": [0, 0, 0, 100]}, + "overprint": {"fill": true} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ + {"at": [90, 70], "inks": {"Cyan": 100, "Black": 100}, "tol": 2, "note": "K rect"}, { - "at": [ - 90, - 70 - ], - "inks": { - "Cyan": 100, - "Black": 100 - }, - "tol": 2, - "note": "K rect" - }, - { - "at": [ - 110, - 140 - ], + "at": [110, 140], "kind": "text", - "region": [ - 40, - 116.2, - 133.2, - 43.8 - ], - "inks": { - "Cyan": 100, - "Black": 100 - }, + "region": [40, 116.2, 133.2, 43.8], + "inks": {"Cyan": 100, "Black": 100}, "tol": 2, "note": "K text" }, - { - "at": [ - 250, - 70 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - }, - { - "at": [ - 340, - 108 - ], - "inks": {}, - "tol": 2, - "note": "paper" - } + {"at": [250, 70], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"}, + {"at": [340, 108], "inks": {}, "tol": 2, "note": "paper"} ] }, "structure": { @@ -132,14 +42,8 @@ "overprint": true, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK" - ], - "ext_g_states": [ - { - "op": true - } - ], + "color_spaces": ["DeviceCMYK"], + "ext_g_states": [{"op": true}], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S02-black-knockout.json b/crates/plate-test/scenes/S02-black-knockout.json index 26bdd1bff..d7e7f5b08 100644 --- a/crates/plate-test/scenes/S02-black-knockout.json +++ b/crates/plate-test/scenes/S02-black-knockout.json @@ -2,120 +2,32 @@ "id": "S02", "title": "[Black] rect and text over C100, overprint off", "source": "research S2", - "page": [ - 360, - 216 - ], + "page": [360, 216], "objects": [ - { - "type": "rect", - "rect": [ - 20, - 20, - 300, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 40, - 40, - 100, - 60 - ], - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - } - }, + {"type": "rect", "rect": [20, 20, 300, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, + {"type": "rect", "rect": [40, 40, 100, 60], "fill": {"cmyk": [0, 0, 0, 100]}}, { "type": "text", - "at": [ - 40, - 160 - ], + "at": [40, 160], "size": 60, "text": "HHH", - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - } + "fill": {"cmyk": [0, 0, 0, 100]} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ + {"at": [90, 70], "inks": {"Black": 100}, "tol": 2, "note": "K rect"}, { - "at": [ - 90, - 70 - ], - "inks": { - "Black": 100 - }, - "tol": 2, - "note": "K rect" - }, - { - "at": [ - 110, - 140 - ], + "at": [110, 140], "kind": "text", - "region": [ - 40, - 116.2, - 133.2, - 43.8 - ], - "inks": { - "Black": 100 - }, + "region": [40, 116.2, 133.2, 43.8], + "inks": {"Black": 100}, "tol": 2, "note": "K text" }, - { - "at": [ - 250, - 70 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - }, - { - "at": [ - 340, - 108 - ], - "inks": {}, - "tol": 2, - "note": "paper" - } + {"at": [250, 70], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"}, + {"at": [340, 108], "inks": {}, "tol": 2, "note": "paper"} ] }, "structure": { @@ -124,9 +36,7 @@ "overprint": false, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK" - ], + "color_spaces": ["DeviceCMYK"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S03-opm.json b/crates/plate-test/scenes/S03-opm.json index 61f3967d1..7aebb2750 100644 --- a/crates/plate-test/scenes/S03-opm.json +++ b/crates/plate-test/scenes/S03-opm.json @@ -2,132 +2,39 @@ "id": "S03", "title": "C50 Y50 under M100 with fill overprint, OPM 1 (left) and OPM 0 (right)", "source": "research S3 (GWG 1.1 idea)", - "page": [ - 360, - 216 - ], + "page": [360, 216], "objects": [ + {"type": "rect", "rect": [20, 20, 150, 176], "fill": {"cmyk": [50, 0, 50, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 150, - 176 - ], - "fill": { - "cmyk": [ - 50, - 0, - 50, - 0 - ] - } + "rect": [40, 60, 110, 96], + "fill": {"cmyk": [0, 100, 0, 0]}, + "overprint": {"fill": true, "mode": 1} }, + {"type": "rect", "rect": [190, 20, 150, 176], "fill": {"cmyk": [50, 0, 50, 0]}}, { "type": "rect", - "rect": [ - 40, - 60, - 110, - 96 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, - "overprint": { - "fill": true, - "mode": 1 - } - }, - { - "type": "rect", - "rect": [ - 190, - 20, - 150, - 176 - ], - "fill": { - "cmyk": [ - 50, - 0, - 50, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 210, - 60, - 110, - 96 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, - "overprint": { - "fill": true, - "mode": 0 - } + "rect": [210, 60, 110, 96], + "fill": {"cmyk": [0, 100, 0, 0]}, + "overprint": {"fill": true, "mode": 0} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ { - "at": [ - 95, - 108 - ], - "inks": { - "Cyan": 50, - "Magenta": 100, - "Yellow": 50 - }, + "at": [95, 108], + "inks": {"Cyan": 50, "Magenta": 100, "Yellow": 50}, "tol": 2, "note": "OPM 1: zero components leave the backdrop" }, { - "at": [ - 265, - 108 - ], - "inks": { - "Magenta": 100 - }, + "at": [265, 108], + "inks": {"Magenta": 100}, "tol": 2, "note": "OPM 0: every DeviceCMYK component paints" }, - { - "at": [ - 30, - 30 - ], - "inks": { - "Cyan": 50, - "Yellow": 50 - }, - "tol": 2, - "note": "backdrop" - } + {"at": [30, 30], "inks": {"Cyan": 50, "Yellow": 50}, "tol": 2, "note": "backdrop"} ] }, "structure": { @@ -136,19 +43,8 @@ "overprint": true, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK" - ], - "ext_g_states": [ - { - "op": true, - "OPM": 1 - }, - { - "op": true, - "OPM": 0 - } - ], + "color_spaces": ["DeviceCMYK"], + "ext_g_states": [{"op": true, "OPM": 1}, {"op": true, "OPM": 0}], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S04-spot-overprint.json b/crates/plate-test/scenes/S04-spot-overprint.json index fed84768d..20cd7fa27 100644 --- a/crates/plate-test/scenes/S04-spot-overprint.json +++ b/crates/plate-test/scenes/S04-spot-overprint.json @@ -2,88 +2,22 @@ "id": "S04", "title": "Gold 50 over C100, overprint on", "source": "research S4 (GWG 2.0 idea)", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], "objects": [ + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 100, - 60, - 160, - 96 - ], - "fill": { - "spot": "Gold", - "tint": 50 - }, - "overprint": { - "fill": true - } + "rect": [100, 60, 160, 96], + "fill": {"spot": "Gold", "tint": 50}, + "overprint": {"fill": true} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ - { - "at": [ - 180, - 108 - ], - "inks": { - "Cyan": 100, - "Gold": 50 - }, - "tol": 2, - "note": "spot over cyan" - }, - { - "at": [ - 40, - 108 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [180, 108], "inks": {"Cyan": 100, "Gold": 50}, "tol": 2, "note": "spot over cyan"}, + {"at": [40, 108], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { @@ -92,15 +26,8 @@ "overprint": true, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)" - ], - "ext_g_states": [ - { - "op": true - } - ], + "color_spaces": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)"], + "ext_g_states": [{"op": true}], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S05-spot-normal.json b/crates/plate-test/scenes/S05-spot-normal.json index 2067efa99..0f7aa15c1 100644 --- a/crates/plate-test/scenes/S05-spot-normal.json +++ b/crates/plate-test/scenes/S05-spot-normal.json @@ -2,84 +2,17 @@ "id": "S05", "title": "Gold 50 over C100, overprint off", "source": "research S5", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], "objects": [ - { - "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 100, - 60, - 160, - 96 - ], - "fill": { - "spot": "Gold", - "tint": 50 - } - } + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, + {"type": "rect", "rect": [100, 60, 160, 96], "fill": {"spot": "Gold", "tint": 50}} ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ - { - "at": [ - 180, - 108 - ], - "inks": { - "Gold": 50 - }, - "tol": 2, - "note": "spot over cyan" - }, - { - "at": [ - 40, - 108 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [180, 108], "inks": {"Gold": 50}, "tol": 2, "note": "spot over cyan"}, + {"at": [40, 108], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { @@ -88,10 +21,7 @@ "overprint": false, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)" - ], + "color_spaces": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S06-k50-opacity.json b/crates/plate-test/scenes/S06-k50-opacity.json index 76ebcbf5f..13909de89 100644 --- a/crates/plate-test/scenes/S06-k50-opacity.json +++ b/crates/plate-test/scenes/S06-k50-opacity.json @@ -2,102 +2,34 @@ "id": "S06", "title": "K100 at 50% opacity over C100", "source": "research S6 (the krilla RGB-group regression)", - "page": [ - 360, - 216 - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "settings": {"group_cs": "cmyk"}, "objects": [ + {"type": "rect", "rect": [20, 20, 200, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 200, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 120, - 20, - 220, - 176 - ], - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - }, + "rect": [120, 20, 220, 176], + "fill": {"cmyk": [0, 0, 0, 100]}, "opacity": 0.5 } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ + {"at": [60, 108], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"}, { - "at": [ - 60, - 108 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - }, - { - "at": [ - 170, - 108 - ], - "inks": { - "Cyan": 50, - "Black": 50 - }, + "at": [170, 108], + "inks": {"Cyan": 50, "Black": 50}, "tol": 6, "note": "CMYK blending: C50 K50, no M or Y" }, - { - "at": [ - 300, - 108 - ], - "inks": { - "Black": 50 - }, - "tol": 6, - "note": "K 50% over paper" - } + {"at": [300, 108], "inks": {"Black": 50}, "tol": 6, "note": "K 50% over paper"} ] }, "structure": { "page_group": "DeviceCMYK", - "group_cs": [ - "none" - ], - "color_spaces": [ - "DeviceCMYK" - ], + "group_cs": ["none"], + "color_spaces": ["DeviceCMYK"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S07-spot-multiply.json b/crates/plate-test/scenes/S07-spot-multiply.json index cebbf10ab..8ca9d9b37 100644 --- a/crates/plate-test/scenes/S07-spot-multiply.json +++ b/crates/plate-test/scenes/S07-spot-multiply.json @@ -2,158 +2,43 @@ "id": "S07", "title": "Gold 100 Multiply over Teal 100 and over C100", "source": "research S7, DesignCraft DC02", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - }, - { - "name": "Teal", - "cmyk": [ - 80, - 0, - 30, - 0 - ] - } - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}, {"name": "Teal", "cmyk": [80, 0, 30, 0]}], + "settings": {"group_cs": "cmyk"}, "objects": [ + {"type": "rect", "rect": [20, 20, 150, 176], "fill": {"spot": "Teal", "tint": 100}}, + {"type": "rect", "rect": [190, 20, 150, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 150, - 176 - ], - "fill": { - "spot": "Teal", - "tint": 100 - } - }, - { - "type": "rect", - "rect": [ - 190, - 20, - 150, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 60, - 60, - 240, - 96 - ], - "fill": { - "spot": "Gold", - "tint": 100 - }, + "rect": [60, 60, 240, 96], + "fill": {"spot": "Gold", "tint": 100}, "blend": "multiply" } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold", - "Teal" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold", "Teal"], "points": [ + {"at": [40, 108], "inks": {"Teal": 100}, "tol": 2, "note": "Teal only"}, { - "at": [ - 40, - 108 - ], - "inks": { - "Teal": 100 - }, - "tol": 2, - "note": "Teal only" - }, - { - "at": [ - 100, - 108 - ], - "inks": { - "Teal": 100, - "Gold": 100 - }, + "at": [100, 108], + "inks": {"Teal": 100, "Gold": 100}, "tol": 6, "note": "both spots kept" }, + {"at": [180, 108], "inks": {"Gold": 100}, "tol": 6, "note": "Gold over paper"}, { - "at": [ - 180, - 108 - ], - "inks": { - "Gold": 100 - }, - "tol": 6, - "note": "Gold over paper" - }, - { - "at": [ - 260, - 108 - ], - "inks": { - "Cyan": 100, - "Gold": 100 - }, + "at": [260, 108], + "inks": {"Cyan": 100, "Gold": 100}, "tol": 6, "note": "cyan kept under the spot" }, - { - "at": [ - 330, - 108 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [330, 108], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { "page_group": "DeviceCMYK", - "blend_modes": [ - "Multiply" - ], - "color_spaces": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)", - "Separation(Teal, alt DeviceCMYK)" - ], + "blend_modes": ["Multiply"], + "color_spaces": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)", "Separation(Teal, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S08-nonseparable-spot.json b/crates/plate-test/scenes/S08-nonseparable-spot.json index 1c559310c..090ccb6a1 100644 --- a/crates/plate-test/scenes/S08-nonseparable-spot.json +++ b/crates/plate-test/scenes/S08-nonseparable-spot.json @@ -2,135 +2,43 @@ "id": "S08", "title": "M100 in Color blend mode over Gold and over C50", "source": "research S8, DesignCraft DC09", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], + "settings": {"group_cs": "cmyk"}, "objects": [ + {"type": "rect", "rect": [36, 36, 180, 144], "fill": {"spot": "Gold", "tint": 100}}, + {"type": "rect", "rect": [216, 36, 124, 144], "fill": {"cmyk": [50, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 36, - 36, - 180, - 144 - ], - "fill": { - "spot": "Gold", - "tint": 100 - } - }, - { - "type": "rect", - "rect": [ - 216, - 36, - 124, - 144 - ], - "fill": { - "cmyk": [ - 50, - 0, - 0, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 144, - 72, - 156, - 72 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, + "rect": [144, 72, 156, 72], + "fill": {"cmyk": [0, 100, 0, 0]}, "blend": "color" } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ + {"at": [60, 108], "inks": {"Gold": 100}, "tol": 2, "note": "spot only"}, { - "at": [ - 60, - 108 - ], - "inks": { - "Gold": 100 - }, - "tol": 2, - "note": "spot only" - }, - { - "at": [ - 180, - 108 - ], + "at": [180, 108], "inks": {}, "tol": 6, "note": "spot plate composites Normal (knocked out); Color over a paper process backdrop gives paper" }, { - "at": [ - 258, - 108 - ], + "at": [258, 108], "inks": {}, "tol": 6, "info": true, "note": "non-separable blend of process inks" }, - { - "at": [ - 320, - 160 - ], - "inks": { - "Cyan": 50 - }, - "tol": 2, - "note": "cyan 50% only" - } + {"at": [320, 160], "inks": {"Cyan": 50}, "tol": 2, "note": "cyan 50% only"} ] }, "structure": { "page_group": "DeviceCMYK", - "blend_modes": [ - "Color" - ], - "color_spaces": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)" - ], + "blend_modes": ["Color"], + "color_spaces": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S09-knockout.json b/crates/plate-test/scenes/S09-knockout.json index 9834e88e7..7c3390d97 100644 --- a/crates/plate-test/scenes/S09-knockout.json +++ b/crates/plate-test/scenes/S09-knockout.json @@ -2,126 +2,48 @@ "id": "S09", "title": "Knockout group of a 50% cyan and a 50% magenta circle over yellow", "source": "research S9, DesignCraft DC05", - "page": [ - 360, - 216 - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "settings": {"group_cs": "cmyk"}, "objects": [ - { - "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 0, - 0, - 100, - 0 - ] - } - }, + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [0, 0, 100, 0]}}, { "type": "group", "knockout": true, "objects": [ { "type": "ellipse", - "rect": [ - 60, - 38, - 140, - 140 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - }, + "rect": [60, 38, 140, 140], + "fill": {"cmyk": [100, 0, 0, 0]}, "opacity": 0.5 }, { "type": "ellipse", - "rect": [ - 160, - 38, - 140, - 140 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, + "rect": [160, 38, 140, 140], + "fill": {"cmyk": [0, 100, 0, 0]}, "opacity": 0.5 } ] } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ + {"at": [30, 108], "inks": {"Yellow": 100}, "tol": 2, "note": "yellow only"}, { - "at": [ - 30, - 108 - ], - "inks": { - "Yellow": 100 - }, - "tol": 2, - "note": "yellow only" - }, - { - "at": [ - 100, - 108 - ], - "inks": { - "Yellow": 50, - "Cyan": 50 - }, + "at": [100, 108], + "inks": {"Yellow": 50, "Cyan": 50}, "tol": 6, "note": "cyan 50% over yellow" }, { - "at": [ - 180, - 108 - ], - "inks": { - "Yellow": 50, - "Magenta": 50 - }, + "at": [180, 108], + "inks": {"Yellow": 50, "Magenta": 50}, "tol": 6, "note": "overlap: only the top circle over the backdrop (without knockout C25 M50 Y25)" }, { - "at": [ - 260, - 108 - ], - "inks": { - "Yellow": 50, - "Magenta": 50 - }, + "at": [260, 108], + "inks": {"Yellow": 50, "Magenta": 50}, "tol": 6, "note": "magenta 50% over yellow" } @@ -130,12 +52,8 @@ "structure": { "page_group": "DeviceCMYK", "knockout": true, - "group_cs": [ - "none" - ], - "color_spaces": [ - "DeviceCMYK" - ], + "group_cs": ["none"], + "color_spaces": ["DeviceCMYK"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S10-isolated-multiply.json b/crates/plate-test/scenes/S10-isolated-multiply.json index aa28b11a8..aeed7f7eb 100644 --- a/crates/plate-test/scenes/S10-isolated-multiply.json +++ b/crates/plate-test/scenes/S10-isolated-multiply.json @@ -2,140 +2,49 @@ "id": "S10", "title": "Isolated group: M100 Multiply over Y100, both over a C100 backdrop", "source": "research S10", - "page": [ - 360, - 216 - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "settings": {"group_cs": "cmyk"}, "objects": [ - { - "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - }, + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "group", "isolated": true, "objects": [ + {"type": "rect", "rect": [60, 50, 120, 116], "fill": {"cmyk": [0, 0, 100, 0]}}, { "type": "rect", - "rect": [ - 60, - 50, - 120, - 116 - ], - "fill": { - "cmyk": [ - 0, - 0, - 100, - 0 - ] - } - }, - { - "type": "rect", - "rect": [ - 120, - 50, - 160, - 116 - ], - "fill": { - "cmyk": [ - 0, - 100, - 0, - 0 - ] - }, + "rect": [120, 50, 160, 116], + "fill": {"cmyk": [0, 100, 0, 0]}, "blend": "multiply" } ] } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ + {"at": [90, 108], "inks": {"Yellow": 100}, "tol": 2, "note": "yellow knocks out cyan"}, { - "at": [ - 90, - 108 - ], - "inks": { - "Yellow": 100 - }, - "tol": 2, - "note": "yellow knocks out cyan" - }, - { - "at": [ - 150, - 108 - ], - "inks": { - "Yellow": 100, - "Magenta": 100 - }, + "at": [150, 108], + "inks": {"Yellow": 100, "Magenta": 100}, "tol": 6, "note": "Multiply with a group member" }, { - "at": [ - 250, - 108 - ], - "inks": { - "Magenta": 100 - }, + "at": [250, 108], + "inks": {"Magenta": 100}, "tol": 6, "note": "Multiply over the group's transparent backdrop: no cyan (non-isolated would give C100 M100)" }, - { - "at": [ - 320, - 108 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [320, 108], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { "page_group": "DeviceCMYK", "isolated": true, - "group_cs": [ - "none" - ], - "blend_modes": [ - "Multiply" - ], - "color_spaces": [ - "DeviceCMYK" - ], + "group_cs": ["none"], + "blend_modes": ["Multiply"], + "color_spaces": ["DeviceCMYK"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S11-shadow-over-spot.json b/crates/plate-test/scenes/S11-shadow-over-spot.json index eccff4251..37463e649 100644 --- a/crates/plate-test/scenes/S11-shadow-over-spot.json +++ b/crates/plate-test/scenes/S11-shadow-over-spot.json @@ -2,267 +2,81 @@ "id": "S11", "title": "K drop shadows (soft mask, Multiply 75%) over Gold and over a CMYK image", "source": "research S11, DesignCraft DC03, DC11", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], + "settings": {"group_cs": "cmyk"}, "objects": [ + {"type": "rect", "rect": [20, 36, 140, 144], "fill": {"spot": "Gold", "tint": 100}}, { "type": "rect", - "rect": [ - 20, - 36, - 140, - 144 - ], - "fill": { - "spot": "Gold", - "tint": 100 - } - }, - { - "type": "rect", - "rect": [ - 30, - 46, - 120, - 120 - ], - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - }, + "rect": [30, 46, 120, 120], + "fill": {"cmyk": [0, 0, 0, 100]}, "opacity": 0.75, "blend": "multiply", "mask": { "kind": "luminosity", - "backdrop": { - "gray": 100 - }, - "content": [ - { - "type": "image", - "rect": [ - 50, - 66, - 80, - 80 - ], - "image": { - "px": [ - 80, - 80 - ], - "feather": 10 - } - } - ] + "backdrop": {"gray": 100}, + "content": [{"type": "image", "rect": [50, 66, 80, 80], "image": {"px": [80, 80], "feather": 10}}] }, "note": "mask content is smaller than the K rect: outside it the backdrop (/BC black) hides the shadow" }, { "type": "image", - "rect": [ - 190, - 36, - 140, - 144 - ], - "image": { - "px": [ - 140, - 144 - ], - "split": [ - { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - }, - { - "cmyk": [ - 0, - 0, - 0, - 50 - ] - } - ] - } + "rect": [190, 36, 140, 144], + "image": {"px": [140, 144], "split": [{"cmyk": [100, 0, 0, 0]}, {"cmyk": [0, 0, 0, 50]}]} }, { "type": "rect", - "rect": [ - 210, - 46, - 120, - 120 - ], - "fill": { - "cmyk": [ - 0, - 0, - 0, - 100 - ] - }, + "rect": [210, 46, 120, 120], + "fill": {"cmyk": [0, 0, 0, 100]}, "opacity": 0.75, "blend": "multiply", "mask": { "kind": "luminosity", - "backdrop": { - "gray": 100 - }, - "content": [ - { - "type": "image", - "rect": [ - 230, - 66, - 80, - 80 - ], - "image": { - "px": [ - 80, - 80 - ], - "feather": 10 - } - } - ] + "backdrop": {"gray": 100}, + "content": [{"type": "image", "rect": [230, 66, 80, 80], "image": {"px": [80, 80], "feather": 10}}] }, "note": "mask content is smaller than the K rect: outside it the backdrop (/BC black) hides the shadow" } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ + {"at": [30, 50], "inks": {"Gold": 100}, "tol": 2, "note": "spot only"}, { - "at": [ - 30, - 50 - ], - "inks": { - "Gold": 100 - }, - "tol": 2, - "note": "spot only" - }, - { - "at": [ - 90, - 106 - ], - "inks": { - "Gold": 100, - "Black": 75 - }, + "at": [90, 106], + "inks": {"Gold": 100, "Black": 75}, "tol": 10, "note": "shadow over spot: spot kept, K follows the mask" }, { - "at": [ - 35, - 52 - ], - "inks": { - "Gold": 100 - }, + "at": [35, 52], + "inks": {"Gold": 100}, "tol": 10, "note": "inside the K rect, outside the mask content: /BC hides the shadow" }, { - "at": [ - 245, - 106 - ], - "inks": { - "Cyan": 100, - "Black": 75 - }, + "at": [245, 106], + "inks": {"Cyan": 100, "Black": 75}, "tol": 10, "note": "shadow over the image's C100 half" }, { - "at": [ - 295, - 106 - ], - "inks": { - "Black": 88 - }, + "at": [295, 106], + "inks": {"Black": 88}, "tol": 10, "note": "shadow (K75 Multiply) over the image's K50 half" }, - { - "at": [ - 205, - 50 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "image C100 half" - }, - { - "at": [ - 320, - 170 - ], - "inks": { - "Black": 50 - }, - "tol": 2, - "note": "image K50 half" - } + {"at": [205, 50], "inks": {"Cyan": 100}, "tol": 2, "note": "image C100 half"}, + {"at": [320, 170], "inks": {"Black": 50}, "tol": 2, "note": "image K50 half"} ] }, "structure": { "page_group": "DeviceCMYK", "smask": true, - "blend_modes": [ - "Multiply" - ], - "ext_g_states": [ - { - "SMask": "Luminosity", - "BC": true - } - ], - "color_spaces_include": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)", - "DeviceGray" - ], + "blend_modes": ["Multiply"], + "ext_g_states": [{"SMask": "Luminosity", "BC": true}], + "color_spaces_include": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)", "DeviceGray"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S12-white-overprint.json b/crates/plate-test/scenes/S12-white-overprint.json index 02935d119..cef5b99b5 100644 --- a/crates/plate-test/scenes/S12-white-overprint.json +++ b/crates/plate-test/scenes/S12-white-overprint.json @@ -2,110 +2,33 @@ "id": "S12", "title": "White (C0 M0 Y0 K0) fill overprint over C100, OPM 1 (left) and OPM 0 (right)", "source": "research S12 (GWG 4.x/12.0 idea)", - "page": [ - 360, - 216 - ], + "page": [360, 216], "objects": [ + {"type": "rect", "rect": [20, 20, 320, 176], "fill": {"cmyk": [100, 0, 0, 0]}}, { "type": "rect", - "rect": [ - 20, - 20, - 320, - 176 - ], - "fill": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } + "rect": [60, 60, 100, 96], + "fill": {"cmyk": [0, 0, 0, 0]}, + "overprint": {"fill": true, "mode": 1} }, { "type": "rect", - "rect": [ - 60, - 60, - 100, - 96 - ], - "fill": { - "cmyk": [ - 0, - 0, - 0, - 0 - ] - }, - "overprint": { - "fill": true, - "mode": 1 - } - }, - { - "type": "rect", - "rect": [ - 200, - 60, - 100, - 96 - ], - "fill": { - "cmyk": [ - 0, - 0, - 0, - 0 - ] - }, - "overprint": { - "fill": true, - "mode": 0 - } + "rect": [200, 60, 100, 96], + "fill": {"cmyk": [0, 0, 0, 0]}, + "overprint": {"fill": true, "mode": 0} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black"], "points": [ { - "at": [ - 110, - 108 - ], - "inks": { - "Cyan": 100 - }, + "at": [110, 108], + "inks": {"Cyan": 100}, "tol": 2, "note": "OPM 1: an all-zero overprinting white leaves the backdrop" }, - { - "at": [ - 250, - 108 - ], - "inks": {}, - "tol": 2, - "note": "OPM 0: white knocks out" - }, - { - "at": [ - 40, - 108 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "cyan only" - } + {"at": [250, 108], "inks": {}, "tol": 2, "note": "OPM 0: white knocks out"}, + {"at": [40, 108], "inks": {"Cyan": 100}, "tol": 2, "note": "cyan only"} ] }, "structure": { @@ -114,19 +37,8 @@ "overprint": true, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceCMYK" - ], - "ext_g_states": [ - { - "op": true, - "OPM": 1 - }, - { - "op": true, - "OPM": 0 - } - ], + "color_spaces": ["DeviceCMYK"], + "ext_g_states": [{"op": true, "OPM": 1}, {"op": true, "OPM": 0}], "device_rgb": false, "output_intents": [] }, diff --git a/crates/plate-test/scenes/S13-registration.json b/crates/plate-test/scenes/S13-registration.json index 35d2254ba..9a66c8501 100644 --- a/crates/plate-test/scenes/S13-registration.json +++ b/crates/plate-test/scenes/S13-registration.json @@ -2,118 +2,34 @@ "id": "S13", "title": "Registration marks print on every plate, spots included", "source": "research S13", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], "objects": [ - { - "type": "rect", - "rect": [ - 40, - 40, - 80, - 80 - ], - "fill": "registration" - }, + {"type": "rect", "rect": [40, 40, 80, 80], "fill": "registration"}, { "type": "ellipse", - "rect": [ - 200, - 40, - 80, - 80 - ], - "stroke": { - "paint": "registration", - "width": 6 - } + "rect": [200, 40, 80, 80], + "stroke": {"paint": "registration", "width": 6} }, - { - "type": "rect", - "rect": [ - 160, - 140, - 60, - 40 - ], - "fill": { - "spot": "Gold", - "tint": 100 - } - } + {"type": "rect", "rect": [160, 140, 60, 40], "fill": {"spot": "Gold", "tint": 100}} ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ { - "at": [ - 80, - 80 - ], - "inks": { - "Cyan": 100, - "Magenta": 100, - "Yellow": 100, - "Black": 100, - "Gold": 100 - }, + "at": [80, 80], + "inks": {"Cyan": 100, "Magenta": 100, "Yellow": 100, "Black": 100, "Gold": 100}, "tol": 2, "note": "registration fill" }, { - "at": [ - 240, - 40 - ], - "inks": { - "Cyan": 100, - "Magenta": 100, - "Yellow": 100, - "Black": 100, - "Gold": 100 - }, + "at": [240, 40], + "inks": {"Cyan": 100, "Magenta": 100, "Yellow": 100, "Black": 100, "Gold": 100}, "tol": 2, "note": "registration stroke (top of the circle)" }, - { - "at": [ - 240, - 80 - ], - "inks": {}, - "tol": 2, - "note": "inside the circle" - }, - { - "at": [ - 190, - 160 - ], - "inks": { - "Gold": 100 - }, - "tol": 2, - "note": "Gold" - } + {"at": [240, 80], "inks": {}, "tol": 2, "note": "inside the circle"}, + {"at": [190, 160], "inks": {"Gold": 100}, "tol": 2, "note": "Gold"} ] }, "structure": { @@ -122,10 +38,7 @@ "overprint": false, "smask": false, "blend_modes": [], - "color_spaces": [ - "Separation(All, alt DeviceCMYK)", - "Separation(Gold, alt DeviceCMYK)" - ], + "color_spaces": ["Separation(All, alt DeviceCMYK)", "Separation(Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S14-duotone-gradients.json b/crates/plate-test/scenes/S14-duotone-gradients.json index 704e622ff..c13d9b6c7 100644 --- a/crates/plate-test/scenes/S14-duotone-gradients.json +++ b/crates/plate-test/scenes/S14-duotone-gradients.json @@ -2,217 +2,63 @@ "id": "S14", "title": "DeviceN [Black Gold] duotone ramp, Gold-to-paper and Gold-to-cyan gradients", "source": "research S14, DesignCraft DC07", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], "objects": [ { "type": "image", - "rect": [ - 20, - 20, - 320, - 80 - ], + "rect": [20, 20, 320, 80], "image": { - "px": [ - 320, - 8 - ], - "ramp": [ - { - "inks": { - "Black": 0, - "Gold": 0 - } - }, - { - "inks": { - "Black": 100, - "Gold": 60 - } - } - ] + "px": [320, 8], + "ramp": [{"inks": {"Black": 0, "Gold": 0}}, {"inks": {"Black": 100, "Gold": 60}}] } }, { "type": "rect", - "rect": [ - 20, - 120, - 150, - 76 - ], + "rect": [20, 120, 150, 76], "fill": { "linear": { - "from": [ - 20, - 0 - ], - "to": [ - 170, - 0 - ], + "from": [20, 0], + "to": [170, 0], "stops": [ - { - "at": 0, - "paint": { - "spot": "Gold", - "tint": 100 - } - }, - { - "at": 1, - "paint": { - "spot": "Gold", - "tint": 0 - } - } + {"at": 0, "paint": {"spot": "Gold", "tint": 100}}, + {"at": 1, "paint": {"spot": "Gold", "tint": 0}} ] } } }, { "type": "rect", - "rect": [ - 190, - 120, - 150, - 76 - ], + "rect": [190, 120, 150, 76], "fill": { "linear": { - "from": [ - 190, - 0 - ], - "to": [ - 340, - 0 - ], + "from": [190, 0], + "to": [340, 0], "stops": [ - { - "at": 0, - "paint": { - "spot": "Gold", - "tint": 100 - } - }, - { - "at": 1, - "paint": { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - } - } + {"at": 0, "paint": {"spot": "Gold", "tint": 100}}, + {"at": 1, "paint": {"cmyk": [100, 0, 0, 0]}} ] } } } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ + {"at": [100, 60], "inks": {"Black": 25, "Gold": 15}, "tol": 10, "note": "duotone at 25%"}, + {"at": [260, 60], "inks": {"Black": 75, "Gold": 45}, "tol": 10, "note": "duotone at 75%"}, + {"at": [57.5, 158], "inks": {"Gold": 75}, "tol": 10, "note": "spot>paper at 25%"}, + {"at": [95, 158], "inks": {"Gold": 50}, "tol": 10, "note": "spot>paper at 50%"}, + {"at": [132.5, 158], "inks": {"Gold": 25}, "tol": 10, "note": "spot>paper at 75%"}, { - "at": [ - 100, - 60 - ], - "inks": { - "Black": 25, - "Gold": 15 - }, - "tol": 10, - "note": "duotone at 25%" - }, - { - "at": [ - 260, - 60 - ], - "inks": { - "Black": 75, - "Gold": 45 - }, - "tol": 10, - "note": "duotone at 75%" - }, - { - "at": [ - 57.5, - 158 - ], - "inks": { - "Gold": 75 - }, - "tol": 10, - "note": "spot>paper at 25%" - }, - { - "at": [ - 95, - 158 - ], - "inks": { - "Gold": 50 - }, - "tol": 10, - "note": "spot>paper at 50%" - }, - { - "at": [ - 132.5, - 158 - ], - "inks": { - "Gold": 25 - }, - "tol": 10, - "note": "spot>paper at 75%" - }, - { - "at": [ - 227.5, - 158 - ], - "inks": { - "Gold": 75, - "Cyan": 25 - }, + "at": [227.5, 158], + "inks": {"Gold": 75, "Cyan": 25}, "tol": 10, "note": "spot>cyan at 25%" }, { - "at": [ - 265, - 158 - ], - "inks": { - "Gold": 50, - "Cyan": 50 - }, + "at": [265, 158], + "inks": {"Gold": 50, "Cyan": 50}, "tol": 10, "note": "spot>cyan at 50%" } @@ -221,10 +67,7 @@ "structure": { "page_group": "none", "smask": false, - "color_spaces_include": [ - "DeviceN(Black,Gold, alt DeviceCMYK)", - "Separation(Gold, alt DeviceCMYK)" - ], + "color_spaces_include": ["DeviceN(Black,Gold, alt DeviceCMYK)", "Separation(Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] }, diff --git a/crates/plate-test/scenes/S15-placed-pdf.json b/crates/plate-test/scenes/S15-placed-pdf.json index c1e3981f0..66f0b4b8f 100644 --- a/crates/plate-test/scenes/S15-placed-pdf.json +++ b/crates/plate-test/scenes/S15-placed-pdf.json @@ -2,137 +2,40 @@ "id": "S15", "title": "S06, S02 and D01 placed as PDF pages at half size", "source": "research S15", - "page": [ - 360, - 216 - ], - "settings": { - "group_cs": "cmyk" - }, + "page": [360, 216], + "settings": {"group_cs": "cmyk"}, "objects": [ - { - "type": "pdf", - "scene": "S06", - "rect": [ - 0, - 0, - 180, - 108 - ] - }, - { - "type": "pdf", - "scene": "S02", - "rect": [ - 180, - 0, - 180, - 108 - ] - }, - { - "type": "pdf", - "scene": "D01", - "rect": [ - 0, - 108, - 180, - 108 - ] - } + {"type": "pdf", "scene": "S06", "rect": [0, 0, 180, 108]}, + {"type": "pdf", "scene": "S02", "rect": [180, 0, 180, 108]}, + {"type": "pdf", "scene": "D01", "rect": [0, 108, 180, 108]} ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ + {"at": [30, 54], "inks": {"Cyan": 100}, "tol": 2, "note": "S06 cyan only"}, { - "at": [ - 30, - 54 - ], - "inks": { - "Cyan": 100 - }, - "tol": 2, - "note": "S06 cyan only" - }, - { - "at": [ - 85, - 54 - ], - "inks": { - "Cyan": 50, - "Black": 50 - }, + "at": [85, 54], + "inks": {"Cyan": 50, "Black": 50}, "tol": 6, "note": "S06 K50% over cyan" }, + {"at": [225, 35], "inks": {"Black": 100}, "tol": 2, "note": "S02 K rect"}, { - "at": [ - 225, - 35 - ], - "inks": { - "Black": 100 - }, - "tol": 2, - "note": "S02 K rect" - }, - { - "at": [ - 235, - 70 - ], + "at": [235, 70], "kind": "text", - "region": [ - 200, - 58, - 67, - 22 - ], - "inks": { - "Black": 100 - }, + "region": [200, 58, 67, 22], + "inks": {"Black": 100}, "tol": 2, "note": "S02 K text" }, - { - "at": [ - 45, - 162 - ], - "inks": { - "Gold": 100 - }, - "tol": 2, - "note": "D01 spot" - }, - { - "at": [ - 270, - 162 - ], - "inks": {}, - "tol": 2, - "note": "paper" - } + {"at": [45, 162], "inks": {"Gold": 100}, "tol": 2, "note": "D01 spot"}, + {"at": [270, 162], "inks": {}, "tol": 2, "note": "paper"} ] }, "structure": { "page_group": "DeviceCMYK", - "group_cs": [ - "none" - ], - "color_spaces_include": [ - "DeviceCMYK", - "Separation(Gold, alt DeviceCMYK)" - ], + "group_cs": ["none"], + "color_spaces_include": ["DeviceCMYK", "Separation(Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] }, diff --git a/crates/plate-test/scenes/S16-gray-overprint.json b/crates/plate-test/scenes/S16-gray-overprint.json index 3a6e015f0..4cbf006a3 100644 --- a/crates/plate-test/scenes/S16-gray-overprint.json +++ b/crates/plate-test/scenes/S16-gray-overprint.json @@ -2,114 +2,30 @@ "id": "S16", "title": "DeviceGray 50% fill overprint over Gold and Teal", "source": "research S16 (GWG 3.0 idea)", - "page": [ - 360, - 216 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - }, - { - "name": "Teal", - "cmyk": [ - 80, - 0, - 30, - 0 - ] - } - ], + "page": [360, 216], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}, {"name": "Teal", "cmyk": [80, 0, 30, 0]}], "objects": [ + {"type": "rect", "rect": [20, 20, 150, 176], "fill": {"spot": "Gold", "tint": 100}}, + {"type": "rect", "rect": [190, 20, 150, 176], "fill": {"spot": "Teal", "tint": 100}}, { "type": "rect", - "rect": [ - 20, - 20, - 150, - 176 - ], - "fill": { - "spot": "Gold", - "tint": 100 - } - }, - { - "type": "rect", - "rect": [ - 190, - 20, - 150, - 176 - ], - "fill": { - "spot": "Teal", - "tint": 100 - } - }, - { - "type": "rect", - "rect": [ - 60, - 60, - 240, - 96 - ], - "fill": { - "gray": 50 - }, - "overprint": { - "fill": true - } + "rect": [60, 60, 240, 96], + "fill": {"gray": 50}, + "overprint": {"fill": true} } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold", - "Teal" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold", "Teal"], "points": [ + {"at": [40, 108], "inks": {"Gold": 100}, "tol": 2, "note": "Gold only"}, { - "at": [ - 40, - 108 - ], - "inks": { - "Gold": 100 - }, - "tol": 2, - "note": "Gold only" - }, - { - "at": [ - 100, - 108 - ], + "at": [100, 108], "inks": {}, "tol": 2, "info": true, "note": "gray over Gold: devices differ (DeviceGray maps to K; overprint may keep the spot)" }, - { - "at": [ - 260, - 108 - ], - "inks": {}, - "tol": 2, - "info": true, - "note": "gray over Teal" - } + {"at": [260, 108], "inks": {}, "tol": 2, "info": true, "note": "gray over Teal"} ] }, "structure": { @@ -118,16 +34,8 @@ "overprint": true, "smask": false, "blend_modes": [], - "color_spaces": [ - "DeviceGray", - "Separation(Gold, alt DeviceCMYK)", - "Separation(Teal, alt DeviceCMYK)" - ], - "ext_g_states": [ - { - "op": true - } - ], + "color_spaces": ["DeviceGray", "Separation(Gold, alt DeviceCMYK)", "Separation(Teal, alt DeviceCMYK)"], + "ext_g_states": [{"op": true}], "device_rgb": false, "output_intents": [] } diff --git a/crates/plate-test/scenes/S17-mesh-spot.json b/crates/plate-test/scenes/S17-mesh-spot.json index dcd57a94a..9a0919b3d 100644 --- a/crates/plate-test/scenes/S17-mesh-spot.json +++ b/crates/plate-test/scenes/S17-mesh-spot.json @@ -2,132 +2,40 @@ "id": "S17", "title": "Mesh gradient with a spot, process and DeviceN corner", "source": "storytold/craft-libs#184 (mesh gradients), CodeRabbit review", - "page": [ - 240, - 160 - ], - "inks": [ - { - "name": "Gold", - "cmyk": [ - 0, - 20, - 60, - 20 - ] - } - ], + "page": [240, 160], + "inks": [{"name": "Gold", "cmyk": [0, 20, 60, 20]}], "objects": [ { "type": "rect", - "rect": [ - 20, - 20, - 200, - 120 - ], + "rect": [20, 20, 200, 120], "fill": { "mesh": { - "rect": [ - 20, - 20, - 200, - 120 - ], + "rect": [20, 20, 200, 120], "corners": [ - { - "spot": "Gold", - "tint": 100 - }, - { - "cmyk": [ - 100, - 0, - 0, - 0 - ] - }, - { - "inks": { - "Magenta": 100, - "Gold": 50 - } - }, - { - "cmyk": [ - 0, - 0, - 0, - 0 - ] - } + {"spot": "Gold", "tint": 100}, + {"cmyk": [100, 0, 0, 0]}, + {"inks": {"Magenta": 100, "Gold": 50}}, + {"cmyk": [0, 0, 0, 0]} ] } } } ], "expect": { - "plates": [ - "Cyan", - "Magenta", - "Yellow", - "Black", - "Gold" - ], + "plates": ["Cyan", "Magenta", "Yellow", "Black", "Gold"], "points": [ + {"at": [24, 24], "inks": {"Gold": 95}, "tol": 10, "note": "top left: Gold"}, + {"at": [216, 24], "inks": {"Cyan": 95}, "tol": 10, "note": "top right: Cyan"}, { - "at": [ - 24, - 24 - ], - "inks": { - "Gold": 95 - }, - "tol": 10, - "note": "top left: Gold" - }, - { - "at": [ - 216, - 24 - ], - "inks": { - "Cyan": 95 - }, - "tol": 10, - "note": "top right: Cyan" - }, - { - "at": [ - 216, - 136 - ], - "inks": { - "Magenta": 95, - "Gold": 47 - }, + "at": [216, 136], + "inks": {"Magenta": 95, "Gold": 47}, "tol": 10, "note": "bottom right: Magenta and half Gold" }, + {"at": [24, 136], "inks": {}, "tol": 10, "note": "bottom left: paper"}, { - "at": [ - 24, - 136 - ], - "inks": {}, - "tol": 10, - "note": "bottom left: paper" - }, - { - "at": [ - 120, - 80 - ], - "inks": { - "Gold": 37.5, - "Cyan": 25, - "Magenta": 25 - }, + "at": [120, 80], + "inks": {"Gold": 37.5, "Cyan": 25, "Magenta": 25}, "tol": 10, "note": "center: bilinear mix of the corners" } @@ -136,9 +44,7 @@ "structure": { "page_group": "none", "smask": false, - "color_spaces_include": [ - "DeviceN(Cyan,Magenta,Gold, alt DeviceCMYK)" - ], + "color_spaces_include": ["DeviceN(Cyan,Magenta,Gold, alt DeviceCMYK)"], "device_rgb": false, "output_intents": [] },