Skip to content

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

@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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions