mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-26 11:08:48 -06:00
Review on #2974. In the erase pass `set_paint` returned no clip, so a shading fill cleared its whole path while the redraw is clipped to the shading's /BBox (ISO 32000-2 Table 77): red outside the box stayed erased. It now returns the shading's clip there too. And an unmasked image cleared its placement before decoding, so an image that doesn't decode (over MAX_IMAGE_PIXELS, damaged data) erased the group's earlier artwork and drew nothing; the clear now happens only when the image decodes, asked only in a knockout group (Device::in_knockout_group). The stencil case in the test now also checks that the stencil draws. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Gv2WwdgjmBz33GWkwgNn3Q