Re: [svgwg] Support pathLength via CSS (#773)

The CSS Working Group just discussed `Summer meeting dates`, and agreed to the following:

* `RESOLVED: add path-length as a CSS property and make pathLength map to it`

<details><summary>The full IRC log of that discussion</summary>
&lt;TabAtkins> Topic: Summer meeting dates<br>
&lt;AmeliaBR> I can't hear Rossen, but we now have conflicts both weeks of July 20 (AB meeting) and July 27 (Tantek doesn't want Monday, Rachel Andrew needs to be in UK by Friday)<br>
&lt;AmeliaBR> https://wiki.csswg.org/planning<br>
&lt;AmeliaBR> If we move to the following week, FYI Monday Aug 3 is a holiday in Canada.<br>
&lt;TabAtkins> proposal is Mon-Thu, week of July 27, Houdini on Monday<br>
&lt;emilio>  Topic: Path length in CSS<br>
&lt;astearns> github: https://github.com/w3c/svgwg/issues/773<br>
&lt;emilio> TabAtkins: SVG has a pathLength attr supported on &lt;path><br>
&lt;emilio> ... it allows you to override the length of the path<br>
&lt;AmeliaBR> q+<br>
&lt;astearns> zakim, open queue<br>
&lt;Zakim> ok, astearns, the speaker queue is open<br>
&lt;AmeliaBR> q+<br>
&lt;astearns> q+ AmeliaBR<br>
&lt;emilio> ... allows you to set up e.g. exactly 100 dashes or such<br>
&lt;emilio> ... otherwise you'd need to do a bunch of math or use JS<br>
&lt;emilio> ... given you can set the path in CSS<br>
&lt;RossenF2F> Zakim, open queue<br>
&lt;Zakim> ok, RossenF2F, the speaker queue is open<br>
&lt;emilio> ... it seems reasonable to let you set it in CSS as a property alongside d<br>
&lt;emilio> ... in terms of signals, we got positive signals from WebKit and Blink<br>
&lt;emilio> heycam: seems fine too<br>
&lt;emilio> ack AmeliaBR<br>
&lt;astearns> ack AmeliaBR<br>
&lt;emilio> AmeliaBR: originally in svg1 it only had an effect on `&lt;path>`, in SVG2 it affects all shapes<br>
&lt;emilio> ... I think implementation of that is pretty god<br>
&lt;emilio> good*<br>
&lt;emilio> ... but we don't have good implementation of what it actually does<br>
&lt;emilio> ... so we do have some concerns on our last svgwg discussions<br>
&lt;emilio> ... so want to followup with proper testing and ensure we have interop to deal with some patterns<br>
&lt;emilio> ... but kind of a separate issue of whether it should be a pres attr<br>
&lt;emilio> q+<br>
&lt;heycam> q+<br>
&lt;emilio> ... it makes sense to be consistent with the stroke properties and such<br>
&lt;emilio> ... one complication is that this is the first time we use an attribute in mixed-case form<br>
&lt;emilio> ... recommendation is that it becomes hyphenated<br>
&lt;emilio> ... and the mismatch will just be a legacy version<br>
&lt;emilio> TabAtkins: that's my exact suggestion<br>
&lt;emilio> ... and also that means that the style object gets the camel-case object, which is nice<br>
&lt;astearns> ack emilio<br>
&lt;TabAtkins> emilio: Do we need to do something for stuff that takes a path function, like shapes and such?<br>
&lt;emilio> TabAtkins: nothing else lets you go along the path<br>
&lt;emilio> astearns: motion-path<br>
&lt;emilio> TabAtkins: but that allows percents which provides this functionality<br>
&lt;emilio> astearns: for shapes I could see using pathLength to short-circuit some stuff, but it doesn't seem a big use-case<br>
&lt;emilio> TabAtkins: that's not how pathLength works, it just resets the length in the calculations<br>
&lt;RossenF2F> q?<br>
&lt;emilio> myles: doesn't motion-path allow you to describe infinite-length paths or something like that?<br>
&lt;emilio> TabAtkins: it allows you to define ray() but there's a definition for what 100% means<br>
&lt;AmeliaBR> Motion path is one thing where distance along a path is relevant. That was one of the original uses in SVG (for the SMIL motion path)<br>
&lt;astearns> zakim, close queue<br>
&lt;Zakim> ok, astearns, the speaker queue is closed<br>
&lt;emilio> heycam: an alternative would be to allow percentages in stroke-dasharray/dashoffset<br>
&lt;emilio> ... would make it similar to other CSS things<br>
&lt;emilio> myles: so one of the nice things of path-length would be that you can animate it to have your dashes grow and stretch along the path<br>
&lt;faceless2> q+<br>
&lt;emilio> ... if you have a bunch of percentages you need to animate them individually<br>
&lt;emilio> AmeliaBR: getting percents in stroke-dasharray would be nice, right now they're valid but don't have a useful interpretation<br>
&lt;emilio> ... kinda separate from other use cases for path-length<br>
&lt;emilio> faceless2: path-length is not only about dashes but also precise text positioning around a path<br>
&lt;emilio> chris: the generating tools have an idea of how long the path is<br>
&lt;emilio> ... and by setting it the implementation just agrees to scale it<br>
&lt;emilio> astearns: objections to resolve?<br>
&lt;emilio> RESOLVED: add path-length as a CSS property and make pathLength map to it<br>
</details>


-- 
GitHub Notification of comment by css-meeting-bot
Please view or discuss this issue at https://github.com/w3c/svgwg/issues/773#issuecomment-577308689 using your GitHub account

Received on Wednesday, 22 January 2020 17:57:23 UTC