mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-11-15 23:05:39 +00:00
An SVG whose filtered element sits under a rotate, skew, uneven scale or matrix transform now opens with the filter as a live Effect > SVG Filters effect instead of losing it with a warning. - The svg.filter effect takes an optional axes [a, b, c, d]: the document directions of one unit along the filter's x and y axes, before scale. effect.apply and effect.setParams refuse axes with an entry outside -1000..1000 or a determinant within 0.001 of 0. - With axes, the filter runs on a canvas lined up with its user space, so offsets, blurs and the region run along the element's axes, and the result is drawn back through axes. The canvas holds at most 4 times the object's raster pixels. A region measured against the object's box uses the object's box in that user space. - SVG import stores the element's user space as scale, origin and axes. - SVG export writes such a filter live: a group's transform holds the user space, and the art is written in document coordinates in a group with the inverse transform, so strokes keep their widths.