Description
It is quite hard to find the "override" behavior specified in the 'Interaction with Animator Instances' section:
When a given workletAnimation’s play state changes to pending, running, or paused, run the procedure to associate animator instance of worklet animation given workletAnimation.
When a given workletAnimation’s play state changes to idle or finished, run the procedure to disassociate animator instance of worklet animation given workletAnimation.
When the procedure to set the target effect of an animation for a given workletAnimation is called, then set animator instance of worklet animation given workletAnimation.
When the procedure to set the timeline of an animation for a given workletAnimation is called, then set animator instance of worklet animation given workletAnimation.
For example, when reading Creating a Worklet Animation, step 4:
Run the procedure to set the target effect of an animation on workletAnimation passing effect as the new effect.
It is difficult-to-impossible for a naive reader to realize that this step actually also sets the animator instance, as it is not mentioned in either the text or the link.
My suggestions would be to:
- Clearly mark the area where we override Web Animations concepts as 'extensions to Web Animations APIs' or similar, and
- From the AnimationWorklet spec at least, link to that section rather than the Web Animations API where appropriate (e.g. in the WorkletAnimation creation steps).