- From: CSS Meeting Bot via GitHub <noreply@w3.org>
- Date: Wed, 06 Aug 2025 15:53:09 +0000
- To: public-css-archive@w3.org
The CSS Working Group just discussed `[css-gaps-1] Define interpolation behavior`, and agreed to the following: * `RESOLVED: define gap decoration animations using LCM methods` <details><summary>The full IRC log of that discussion</summary> <kbabbitt> javierct: for interpolation, part of what we're trying to achieve is to define what interpolation behavor will be<br> <kbabbitt> ... currently the way we've been goingt about it is how grid-template-rows/columns does it<br> <kbabbitt> ... specifically we're concerned about repeater part<br> <kbabbitt> ... g-t-r/c will only interpolate repeaters if list lengths match exactly<br> <kbabbitt> ... that's how we started going about it, then there was some discussion<br> <kbabbitt> ... makes sense for grid to do that but not necessarily gap decorations<br> <kbabbitt> ... might want to interpolate repeaters with different counts<br> <kbabbitt> ... been some discussion about this, some ideas that have been floated<br> <kbabbitt> ... ideas about lining up repeaters, pullinhg out certain values so things line up<br> <kbabbitt> ... I thought about it multiple ways, couldn't find a way to generalize that behavior<br> <kbabbitt> ... I put my notes in the issue, but my conclusion / suggestion was that maybe the best way is to lean towards treating repeaters as list of values<br> <kbabbitt> ... expanding it<br> <kbabbitt> ... and then as a second step, use LCM based method of repeatable list interpolation we have for other properties<br> <kbabbitt> ... match lengths of resulting lists that way<br> <kbabbitt> ... question would arise, as we mentioned before, what we'd lose before with this way of doing it is that, intermediate values wouldn't necessarily reconstruct repeater<br> <kbabbitt> ... if the author interpolates a repeater with another repeater, intermediate steps would get list of values rather than repeater<br> <kbabbitt> ... might be a way to reconstruct repeater<br> <kbabbitt> ... from these intermediate lists of values<br> <kbabbitt> ... but I haven't been able to generalize this<br> <kbabbitt> ... even if one exists, maybe it would be easier for an author if it's not a lot of math to<br> <kbabbitt> ... if they inspect an arbitrary keyframe, it's easier to think about what these lists of values should be<br> <kbabbitt> ... but if we have a complicated formula to reconstruct a repeater, authors might not expect that<br> <kbabbitt> astearns: it's fine to have intermediate values be explicit lists<br> <kbabbitt> ... main thing is intermediate values need to be representable in a way the property can accept<br> <kbabbitt> ... if we're fudging the list of values in order to recreate a repeater, that makes it harder for script to process<br> <kbabbitt> javierct: agree with that<br> <kbabbitt> ... lean towards this idea of expanding lists<br> <kbabbitt> ... even if they don't line up in repeat count, match up lists with lcm method<br> <kbabbitt> ... that would solve interpolation between repeaters of different counts<br> <kbabbitt> ... but there's the question of auto repeaters<br> <kbabbitt> ... we don't know the number of gaps at computed-value time<br> <kbabbitt> ... so we can't expand those lists<br> <kbabbitt> ... if we see an auto repeater, would we only be able to match it with another auto repeater?<br> <kbabbitt> ... and if not, don't interpolate?<br> <kbabbitt> ... that would be the trickier part<br> <kbabbitt> ... my gut would be, lcm method solves all cases except this one, maybe we need to find some sort of exception<br> <kbabbitt> ... treat auto repeaters as their own element inthe list and only interpolate between auto repeaters if the list lengths are the same<br> <kbabbitt> astearns: you mentioned we don't know how many gaps there are<br> <kbabbitt> ... but do we need to?<br> <kbabbitt> ... could the rule be to expand auto repeaters to point where there's a common multiple between them?<br> <kbabbitt> javierct: so repeat(auto, 10 5) and repeat(auto, 2 10)<br> <kbabbitt> ... expand auto into into 10, 5<br> <kbabbitt> astearns: Haven't worked through an example in my mind<br> <kbabbitt> ... Would expect that interpolation shouldn't have anything to do with how many or which values there are<br> <kbabbitt> javierct: i can see that<br> <kbabbitt> ... can't think of any issues that would come up with that<br> <astearns> s/values there are/values are actually used in a given layout/<br> <kbabbitt> +1, I think we can lcm() between auto repeaters<br> <kbabbitt> astearns: want to go back to motivation<br> <kbabbitt> ... solution makes some sense but we passed over the 'why'<br> <kbabbitt> javierct: we don't have the interpolation behavior for gap decorations defined<br> <kbabbitt> astearns: definition could be as simple as flip at 50%<br> <kbabbitt> ... would an author want to interpolate between different gap decorations?<br> <kbabbitt> q+<br> <kbabbitt> javierct: want to change color going smoothly from one to another, smaller to bigger<br> <kbabbitt> ... I think smooth works correctly for these rather than discrete<br> <kbabbitt> ... ability we want to give the author<br> <kbabbitt> ... as far as I'm aware, with colors, that's what we usually do<br> <kbabbitt> ... at the very least match it, because that is what we do when interpolating colors<br> <kbabbitt> ... border does it this way<br> <kbabbitt> ... want to match author expectation<br> <kbabbitt> astearns: makes sense<br> <astearns> ack kbabbitt<br> <Kurt> kbabbitt: at minumum, the existing column-rule width/style are interpretable, we need to keep for back-compat<br> <Kurt> ...the question is what we do for lists now, LCM makes sense for non-auto repeater, it works...<br> <Kurt> ...for auto repeater to auto repeater, we can take the two and LCM the combination of those, I can't see why that wouldn't work<br> <Kurt> Javier: can you see a case for going from non-auto to auto, or auto to a list of values<br> <Kurt> kbabbitt: because of how auto repeaters work, they take up the slack, so it would be an auto repeater to another auto repeater with a list length of 0, and i don't know how that would work<br> <Kurt> astearns: maybe it makes sense to resolve to define interpolation to use the LCM method, and define new issues later<br> <Kurt> ...any objections?<br> <Kurt> RESOLVED: define gap decoration animations using LCM methods<br> </details> -- GitHub Notification of comment by css-meeting-bot Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/12431#issuecomment-3160718976 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 6 August 2025 15:53:10 UTC