Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[css-transforms] Definition of 'transformable element' for SVG elements must be updated for SVG 2 #358

Closed
nikosandronikos opened this issue Jul 29, 2016 · 5 comments

Comments

@nikosandronikos
Copy link
Member

CSS Transforms describes transformable elements, including SVG elements.

The definition for SVG elements needs to change.

The elements that must be included are:

  • Any renderable element except for those that are treated as inline elements (tspan, textPath, or a as child of any text content element)
  • Any element that has the patternTransform or gradientTransform attributes

See the https://svgwg.org/svg2-draft/text.html#TextElement

@AmeliaBR
Copy link
Contributor

The second point will need to be more general, to cover the new paint server elements that just take the standard transform attribute. We could just say "any paint server element". It's not like it's going to matter if you transform a solidcolor or not.

@astearns astearns added the css-transforms-1 Current Work label Jul 29, 2016
@smfr smfr added the SVG label Jan 19, 2017
@smfr
Copy link
Contributor

smfr commented Nov 9, 2017

Resolution:

  • Any renderable element except for those that are treated as inline elements (tspan, textPath, or a as child of any text content element)
  • Any paint server element

@dirkschulze
Copy link
Contributor

@nikosandronikos @smfr @AmeliaBR I do see a conflict for the spec going forward here. SVG2 is likely not going to PR/REC before the reduced spec for CSS Transforms 1.

Transforms on descendants of <text> are a planned feature for SVG2. However, I am not sure if there is anything on SVG 1.1 or SVG2 that would restrict CSS Transforms on specifying transforms for <text> descendants at a later point of time.

The other way around I am not sure that SVG2 relies on <text> descendants to be transformable right away. There might be something on the WebIDL side but maybe you could clarify. IMO, if there is, this probably should be removed in favour of CSS Typed OM.

Ditto for transforms on paint server elements.

Given that this feature is not widely implemented, I would like to suggest deferring this issue to the next level of CSS Transforms.

@nikosandronikos @smfr @AmeliaBR Would you object to not change CSS Transforms 1?

@smfr
Copy link
Contributor

smfr commented Apr 11, 2018

I have no opinion.

@css-meeting-bot
Copy link
Member

The Working Group just discussed [css-transforms] Definition of 'transformable element' for SVG elements must be updated for SVG 2.

The full IRC log of that discussion <BogdanBrinza> topic: [css-transforms] Definition of 'transformable element' for SVG elements must be updated for SVG 2
<BogdanBrinza> GitHub: https://github.com//issues/358
<krit> scribe nick: krit
<krit> scribenick: krit
<krit> krit: SVG2 has a different content model to SVG 1.1
<krit> krit: elements in different sections and we have some new elements too
<krit> krit: here text is transformable now too.
<krit> AmeliaBR: span and test path as well
<krit> s/test path/textPath
<krit> AmeliaBR: definition of transformable elements needs to change so that it is not based on the transform attribute
<krit> krit: where does it need to get speed? In transforms at all?
<krit> AmeliaBR: your concern was about the delay with svg2
<krit> AmeliaBR: same time we want transforms and SVG2 compatible
<krit> krit: here I am concerned that tspan, texpath are not implemented with transform
<krit> AmeliaBR: presentation attribute can be set on any element even though it won't have an effect
<krit> AmeliaBR: so present should not decide if an element is transformable
<krit> ChrisL: in the past this was meant as a whitelist: transform means transformable. Ideally this changes
<krit> AmeliaBR: defintion we got in the issue is to use definition of "renderable element" which is a new defintion form SVG@
<krit> krit: SVG2 is CR now so my concern might fait.
<krit> AmeliaBR: it is not a new feature too, just a new term
<krit> ChrisL: think is is fine
<krit> AmeliaBR: 2 classes fo elements: renderable elements (except of text content element), paint server elements
<krit> krit: isn't text content transformable or was it text positioned element?
<krit> AmeliaBR: don't have the link right now... let me fine it
<AmeliaBR> https://svgwg.org/svg2-draft/text.html#TermTextContentChildElement
<krit> AmeliaBR: thought they were in SVG2, was it removed?
<krit> AmeliaBR: as much as I would like it, they are not transformable as of now.
<krit> AmeliaBR: in CSS you can't transform an inline element and they are considered inline
<krit> krit: so use the proposed resolution?
<krit> proposed resolution: 2 classes fo elements for transformable elements: renderable elements (except of text content element), paint server elements
<krit> ChrisL: AmeliaBR We need to add the a element
<krit> krit: just add the <a> element in prose?
<krit> resolution: 2 classes fo elements for transformable elements: renderable elements (except of text content element), paint server elements and the A element

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants