[csswg-drafts] [css-easing] Bikeshedding linear and Relative Animation (#8151)

KevinDoughty has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-easing] Bikeshedding linear and Relative Animation ==
The `linear` timing function should be renamed `progress`, because it otherwise confusingly retcons behavior onto the default keyword, and prevents browsers from implementing a smoothstep in the future. Also, a `progress` at-rule would give this wonderful feature first class treatment instead of using `--var`. Not that important though, your proposal successfully accomplishes what I want as-is. Except:

Combined with a proposal for Relative Animation features requested many years ago would have made possible a new kind of user interaction on drag events. An experimental patch on Firefox Nightly implements a proposed `Composite-Operation: relative` which enables a proposed `transition-composition: relative`, which enables this new type of drag transition, not currently possible:
https://phabricator.services.mozilla.com/D156634#5139009

It is important to note that these transitions are not removed on interruption to begin where the previous left off. All transitions animate from the old value minus the new value to zero, fully to completion. This means that an easing curve which both starts and ends with a progress of one, and deviates above and below like an Archimidean Spiral, will push ahead of the event location and wobble instead of lag behind. This removes the apparent latency of a spring animation. It is well suited for dragging but is not possible to use on collections with a stagger.

Video of a working example using the experimental patch:
https://twitter.com/KvnDy/status/1577394977780469781

Relative Animation is a pattern, and its implementation would enable entirely new patterns on top of it that are not otherwise possible. Why not?

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8151 using your GitHub account


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

Received on Wednesday, 30 November 2022 00:06:11 UTC