Problem
In attempt to maintain web animations spec unmodified to support scroll animations, we introduced behaviors that are hard to rationalize. Specifically web animation APIs, such as setting current time, playback rate or unpause, adjust animation start time with a goal to preserve animation current time. This works fine for time based animations since the time is unlimited. The situation is different for scroll, or, as suggested by #4862, progress linked animations. Changing start time of such animations disconnects their progress from the progress of timeline. Observed behavior in these situations is that effect progress is out of sync with scroll and effect range is not fully accomplished.
In addition, the need to preserve start time significantly complicates specing for handling inactive timelines (#2066).
#2075 provides math for calculating start time and potential solutions.
Proposal
Limit start time of progress-based finite timeline linked animations to 0.
This involves disallowing changing currentTime, startTime of playing animations, only the currentTime of paused animations can be changed. Behaviors such as unpause or setting playback rate will cause a jump to the animation effect to stay in sync with the timeline progress.
To accept this proposal we need answers to these questions:
Problem
In attempt to maintain web animations spec unmodified to support scroll animations, we introduced behaviors that are hard to rationalize. Specifically web animation APIs, such as setting current time, playback rate or unpause, adjust animation start time with a goal to preserve animation current time. This works fine for time based animations since the time is unlimited. The situation is different for scroll, or, as suggested by #4862, progress linked animations. Changing start time of such animations disconnects their progress from the progress of timeline. Observed behavior in these situations is that effect progress is out of sync with scroll and effect range is not fully accomplished.
In addition, the need to preserve start time significantly complicates specing for handling inactive timelines (#2066).
#2075 provides math for calculating start time and potential solutions.
Proposal
Limit start time of progress-based finite timeline linked animations to 0.
This involves disallowing changing currentTime, startTime of playing animations, only the currentTime of paused animations can be changed. Behaviors such as unpause or setting playback rate will cause a jump to the animation effect to stay in sync with the timeline progress.
To accept this proposal we need answers to these questions: