Bug 189299 - [Web Animations] Implement composite operations
Summary: [Web Animations] Implement composite operations
Status: RESOLVED CONFIGURATION CHANGED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on: 232081 232082 232085 232087 230404 232084 232086 235596 236447 242185
Blocks: 218910 220848
  Show dependency treegraph
 
Reported: 2018-09-04 23:40 PDT by Antoine Quint
Modified: 2023-05-10 10:48 PDT (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Antoine Quint 2018-09-04 23:40:34 PDT
The Web Animations spec supports composite operations on keyframes, we should support this feature for complete spec support.
Comment 1 Radar WebKit Bug Importer 2018-09-04 23:41:46 PDT
<rdar://problem/44128785>
Comment 2 Ben Frain 2020-12-10 04:02:29 PST
Any update on this? End of 2020 and broad support everywhere but WebKit/Safari: https://caniuse.com/?search=Web%20Animations
Comment 3 Antoine Quint 2020-12-10 05:20:49 PST
Hi Ben. No update at the moment. I've got a prototype implementation in a development branch, but I have to invest more time to actually make it something that could be considered for landing into WebKit.
Comment 4 Ben Frain 2020-12-10 06:53:20 PST
Thanks for the update Antoine, hoping you get to it shortly. I've recently recorded a course on WAAPI and a shame when I have to add WebKit caveats like it is a 'red-headed stepchild'!
Comment 5 Antoine Quint 2021-09-17 07:01:41 PDT
The first step towards supporting this feature is covered by bug 230404 so that we support composite operations for software animations.
Comment 6 Brent Fulgham 2022-06-23 13:32:43 PDT
This is now:
rdar://87213273
Comment 7 Antoine Quint 2022-07-05 01:39:54 PDT
Composite operations are now generally supported in WebKit and are enabled in Safari Technology Preview and Safari in macOS 13 and iOS 16 betas.

The remaining blocking bugs paint a picture of outstanding compatibility issues that we are still working on but will be pretty specific to a given CSS property.

The most important thing to be aware of is that properties that can be typically accelerated, such as "opacity", "filter", "transform", "translate", "scale" and "rotate" will not be fully accelerated if composite operations are used. Instead, the animation resolution will operate on the main thread, while the application of the property will operate on a GraphicsLayer. We are continuing to look into how to address this in the future.
Comment 8 Ben Frain 2022-12-08 01:51:55 PST
Simple operations like a composite add do not work as expected in Safari. Is it best to open a separate issue for that?

This simple example: https://codepen.io/benfrain/pen/JjXQqVO 

Click 'Move Me' to start the box moving, and then click the 'Scale Me' button to add a scale (using composite: add) — in now way renders as expected in Safari. Fine in Firefox/Chrome.
Comment 9 Antoine Quint 2022-12-08 05:55:16 PST
(In reply to Ben Frain from comment #8)
> Simple operations like a composite add do not work as expected in Safari. Is
> it best to open a separate issue for that?
> 
> This simple example: https://codepen.io/benfrain/pen/JjXQqVO 
> 
> Click 'Move Me' to start the box moving, and then click the 'Scale Me'
> button to add a scale (using composite: add) — in now way renders as
> expected in Safari. Fine in Firefox/Chrome.

Yes, this is a specific issue. Could you file a dedicated bug report? I'll look into it.
Comment 10 Ben Frain 2022-12-08 07:12:42 PST
Done https://bugs.webkit.org/show_bug.cgi?id=248944
Comment 11 Antoine Quint 2023-05-10 10:48:27 PDT
This feature has been implemented for quite some time now.