mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-14 15:57:49 +00:00
The search for brushed strokes that decides between knockout masks and a PDF knockout group copied a dynamic symbol's art for every instance with appearance changes, and looked through the evaluated art of live objects, without a limit. Nested instances could make it copy and walk art exponentially before any limit applied. The search now visits and copies at most MAX_KNOCKOUT_MASK_OBJECTS objects for a group, counting a dynamic symbol's art before copying it and a live object's evaluated art before looking through it. When the limit runs out, the group is written as a PDF knockout group with the size warning. Each symbol's art with one set of appearance changes is copied once, and art that holds itself ends the search.