Stoke-Width to first class parsed citizen of all Graphics Objects
Groups are Transformable
Transformable operates on stroke width
Stroke width is processed like real Length/Percentage
Corrected Width and Height when ViewBox is not added for percent based objects. (These must use the Width and Height given to construct a non-scaling transformation, but also not overwrite the width or height with None).
Corrected Edge case Def Use Use nesting which pushed the second nested Use to the regular dom.
Corrected Use Use Styling objects. Now propagates the shadow-dom node sequences.
Added render() as common function among all objects, since Length objects are pretty common.
XY values are set specifically on SVGImage objects.
Desc added. SVGDesc is deprecated.
Added Title element.
Stroke Width elements set to 1 by default. Per spec.
Capped shadow dom recursion stops working if infinite loop occurs.
[ ] Groups must propagate modified transformations to children
[ ] Newly added item to a modified group should have consistent defined behavior.
[x] IRI objects must attach.
[x] Requires ClipPath parsing and rules
[x] Shapes must allow clip-path as first class citizen.
[x] Clippath must permit clippaths within them.
[x] Add significant coverage for things changed. Viewboxes and parsing widths.
Consider breaking change with stroke-width scaling. It's actually correct that the initial stroke width is 1 and everything scales with the stroke width and vector-effect needs to exist to avoid that scaling.
render()
as common function among all objects, since Length objects are pretty common.[ ] Groups must propagate modified transformations to children
[ ] Newly added item to a modified group should have consistent defined behavior.
[x] IRI objects must attach.
[x] Requires ClipPath parsing and rules
[x] Shapes must allow clip-path as first class citizen.
[x] Clippath must permit clippaths within them.
[x] Add significant coverage for things changed. Viewboxes and parsing widths.
Consider breaking change with stroke-width scaling. It's actually correct that the initial stroke width is 1 and everything scales with the stroke width and vector-effect needs to exist to avoid that scaling.