Re: [csswg-drafts] [css-animations-2] there should be a way to set the effect-wide easing for a CSS Animation (#6982)

The CSS Working Group just discussed `[css-animations-2] there should be a way to set the effect-wide easing for a CSS Animation`, and agreed to the following:

* `RESOLVED: add the 'animation-easing' as defined in the issue, and add a new initial value for animation-timing-function to something that computes to ease or linear depending on animation-easing`

<details><summary>The full IRC log of that discussion</summary>
&lt;TabAtkins> flackr: currently, we only have animation-timing-function, which sets easing between keyframes<br>
&lt;TabAtkins> flackr: Web Anim also lets you set an easing across the netire animation<br>
&lt;TabAtkins> flackr: i think we discussed this previously, but I ahve a conrete proposal now<br>
&lt;TabAtkins> flackr: hopefully can resolve<br>
&lt;TabAtkins> flackr: 'animation-easing' property that sets the iteration-wide easing of the animation, defined the same as Web Animation<br>
&lt;TabAtkins> flackr: setting this property to a non-default value (which implies we need 'auto') would reset animation-timing-function to 'linear' by default<br>
&lt;TabAtkins> flackr: becuase a-t-f defaults to ease, you probably don't want that by default if the whole animation is eased<br>
&lt;TabAtkins> flackr: but you *can* specify both if you want<br>
&lt;TabAtkins> flackr: a use-case for doing both is a step animation that eases the timing of the steps<br>
&lt;astearns> ack fantasai<br>
&lt;Zakim> fantasai, you wanted to ask about compounding easing vs resetting<br>
&lt;TabAtkins> fantasai: I think having a shorthanding relationship is gonna be confusing<br>
&lt;TabAtkins> fantasai: if the concern is the initial value, we should change the a-t-f initial vlaue to something else that computes to linear or ease, depending<br>
&lt;TabAtkins> fantasai: that way if yous pecify both it works regardless of order<br>
&lt;TabAtkins> fantasai: other than that, makes sense<br>
&lt;TabAtkins> dbaron: clarify, the idea is not that it's some new type of easing, it's jsut setting the easing between every set of keyframes?<br>
&lt;TabAtkins> flackr: No, that's what a-t-f does, this is the animation-easing form WebAnim<br>
&lt;TabAtkins> dbaron: don't know what that does<br>
&lt;TabAtkins> flackr: It changes the time for the whole animation<br>
&lt;TabAtkins> dbaron: okay so your 50% keyframe isn't at 50% of the time, it's eased in some way<br>
&lt;TabAtkins> flackr: yes, and this is already widely implemented in Web Anim, it's not new behavior<br>
&lt;TabAtkins> flackr: proposed resolution is we add the 'animation-easing' as defined in the issue, and add a new initial value for animation-timing-function to something that computes to ease or linear depending on animation-easing<br>
&lt;emilio> q+<br>
&lt;astearns> ack dbaron<br>
&lt;astearns> q+ ydaniv<br>
&lt;TabAtkins> fantasai: just wanna make *sure* you want to change the default from ease<br>
&lt;TabAtkins> TabAtkins: yes, stacking 'ease' in both whole aniamtion and keyframes looks really bad most of the time<br>
&lt;TabAtkins> flackr: and Web Anim defaults all of them to linear anyway, the 'ease' default is from CSS<br>
&lt;fantasai> what should this keyword be though. 'normal'? 'auto'? 'none'?<br>
&lt;TabAtkins> emilio: to be clear, we add some 'auto' value to a-t-f so it looks at animatino-easing?<br>
&lt;ydaniv> q-<br>
&lt;TabAtkins> flackr: yes<br>
&lt;astearns> ack emilio<br>
&lt;TabAtkins> emilio: and presumably in animation-easing too, to distinguish it from an author-set linear<br>
&lt;TabAtkins> flackr: yes<br>
&lt;TabAtkins> emilio: and so the two share the syntax<br>
&lt;TabAtkins> flackr: yes<br>
&lt;TabAtkins> emilio: that sound ok<br>
&lt;TabAtkins> emilio: so if they're both auto, you get linear a-easing and 'ease' a-t-f<br>
&lt;TabAtkins> emilio: so this would be part of the animation shorthand presumably?<br>
&lt;TabAtkins> flackr: that's a separate issue<br>
&lt;TabAtkins> astearns: so proposed resolution to add animation-easing and a new initial value for a-t-f<br>
&lt;TabAtkins> emilio: do we need to *compute* the a-t-f value?<br>
&lt;TabAtkins> TabAtkins: probably can't change the observable initial vlaue<br>
&lt;TabAtkins> emilio: maybe another resolved value exception...<br>
&lt;TabAtkins> emilio: do we need the same thing for transitions<br>
&lt;TabAtkins> TabAtkins: transitions only have one keyframe, so no, not yet<br>
&lt;TabAtkins> flackr: you can attach keyframes to transitions with Web Anim, but then you have access to animationEasing again<br>
&lt;fantasai> We're also resolving this right? https://github.com/w3c/csswg-drafts/issues/8881<br>
&lt;TabAtkins> RESOLVED: add the 'animation-easing' as defined in the issue, and add a new initial value for animation-timing-function to something that computes to ease or linear depending on animation-easing<br>
&lt;TabAtkins> TabAtkins: yes, this closes 8881 too<br>
&lt;fantasai> scribenick: fantasai<br>
</details>


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


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 26 September 2024 22:23:33 UTC