mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-25 10:17:02 -06:00
color::blend gains blend_rgb (the 16 blend functions, with the 0.3/0.59/0.11 luminance of the non-separable modes), composite (source-over with blending) and the shared opacity-mask luminance weights. Exported SVG masks take luminance from sRGB values (color-interpolation="sRGB"), as the canvas does. Tests: a per-mode table on the canvas (object, fill and group blend modes, within 1/255; Exclusion 2/255 in the rasteriser's 8-bit pipeline), the same table through SVG export rendered by resvg, clip and invert masks against the canvas, and every mode's PDF name read back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>