You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A subtract operation was rejected in public-fx more than a decade ago. The explanation was it can be achieved by addition times a negative scale, and that developers should use the Typed OM. This precludes many benefits I won’t enumerate, other than how Apple natively handles retargeting.
Lists are handled like accumulate. Keyframes [A,B,C,D] become [A-D, B-D, C-D, D-D].
Firefox has an implementation detail called “Interruptible Layout” which causes flickering if animations are not added synchronously. I believe it would be fixed by an animation transaction like Apple’s CATransaction. From the Mozilla link, discrete-state (an attempt to remove style recalculations) is probably too difficult, but a transaction plus getDiscreteStyle and getDiscreteRect would be easy.
The text was updated successfully, but these errors were encountered:
I’ve changed my mind on the idea of transactions. If there were actually reason to do so I would spend time investigating Firefox’s interruptible layout implementation for a workaround or bugfix first.
fantasai
changed the title
[css-values-4] Subtract operation for Relative Animation
[web-animations-2] Subtract operation for Relative Animation
Oct 15, 2024
A subtract operation was rejected in public-fx more than a decade ago. The explanation was it can be achieved by addition times a negative scale, and that developers should use the Typed OM. This precludes many benefits I won’t enumerate, other than how Apple natively handles retargeting.
Something like this, except using property
transition-composition
instead oftransition-interrupt
and keywordblend
instead ofrelative
orspecial
:main...KevinDoughty:csswg-drafts:master#diff-fc1c32de78d227c8f0c8008469824444d1ba7f027e48a336125017d40b8f6f6f
Looks like this:

Reference implementation in Firefox, partially in Chromium:
https://phabricator.services.mozilla.com/D156634#5139009
https://gitlab.com/kevindoughty/chromium-diff/-/commit/9238b5ae324d535390bbba35d165f45b101a5940
Lists are handled like accumulate. Keyframes [A,B,C,D] become [A-D, B-D, C-D, D-D].
Firefox has an implementation detail called “Interruptible Layout” which causes flickering if animations are not added synchronously. I believe it would be fixed by an animation transaction like Apple’s CATransaction. From the Mozilla link,
discrete-state
(an attempt to remove style recalculations) is probably too difficult, but a transaction plusgetDiscreteStyle
andgetDiscreteRect
would be easy.The text was updated successfully, but these errors were encountered: