mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
A PDF of thousands of gradient meshes in a CMYK document with transparency took minutes to export (186 s at 72 ppi for an 18,577-mesh page). Each mesh was cut into quads coloured in RGB, and drawing a CMYK document by ink planes separated every quad's colour back to CMYK through the profile, twice: the 4,096-colour separation cache, flooded by the meshes' interpolated colours, cleared over and over. - doc: GradientMesh::color_at mixes corners that are all CMYK (or all grey) in that space, as a PDF shading mixes in its own: exact inks, nothing to separate. - render: the separation cache holds 65,536 colours. - render: a mesh's quads are filled into one image by scanline (every pixel to the quad its centre is in: no seams) and drawn through the mesh's outline, instead of one path per quad; meshes over 16 MP on screen are drawn quad by quad as before, backed by each opaque patch's outline (#2456). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>