Skip to content

[css-transforms-1] User coordinate space statement breaks SVG #893

Closed
@smfr

Description

@smfr

http://www.w3.org/mid/CAFDDJ7yhF7Qn28wVMqb7ra6N9Q=j74OTqHWpjLeYrH=LQwmd4A@mail.gmail.com

In the CSS transforms module, the section "User Coordinate space" has the
following statement:

In particular the patternUnits

http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#PatternElementPatternUnitsAttribute
, gradientUnits
http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#LinearGradientElementGradientUnitsAttribute
and maskUnits
http://www.w3.org/TR/2011/REC-SVG11-20110816/masking.html#MaskElementMaskUnitsAttribute attributes
don’t affect the user coordinate system used for transformations [SVG11]
http://dev.w3.org/csswg/css-transforms-1/#biblio-svg11.

Links:

Although the draft spec references SVG 1.1, this would be a breaking
change
from current SVG behavior. The SVG definition used for
gradientTransform and patternTransform is as follows:

This additional transformation matrix is post-multiplied to (i.e.,

inserted to the right of) any previously defined transformations, including
the implicit transformation necessary to convert from object bounding box
units http://www.w3.org/TR/SVG11/coords.html#ObjectBoundingBox to user
space.

Links:

http://www.w3.org/TR/SVG11/pservers.html#LinearGradientElementGradientTransformAttribute

http://www.w3.org/TR/SVG11/pservers.html#PatternElementPatternTransformAttribute

Unless there is an overwhelming reason to change this, I would recommend
that the CSS transforms text be updated to state the transformation applies
in the user coordinate system in effect for the element's contents,*
including* any implicit transformations created by patternUnits,
gradientUnits, or maskUnits.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions