From 1ce9f47f684bffd91ffd83750ec795a78aa9831b Mon Sep 17 00:00:00 2001 From: Stephen McGruer Date: Fri, 13 Sep 2019 10:02:48 -0400 Subject: [PATCH 1/4] WIP --- web-animations-2/Overview.bs | 60 ++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/web-animations-2/Overview.bs b/web-animations-2/Overview.bs index c086e8d2f3f..a92b2e0ad78 100644 --- a/web-animations-2/Overview.bs +++ b/web-animations-2/Overview.bs @@ -1229,6 +1229,42 @@ Update the description of an effect that targets a non-animated property as: > delaying the fulfilment of an animation's current finished > promise. +

Keyframe Effects

+ +

The effect value of a keyframe effect

+ +The procedure for computing the effect value of a single property +referenced by a keyframe effect as one of its target properties, +for a given iteration progress, current iteration and +underlying value is amended by inserting the following step: + +12. For each keyframe in interval endpoints: + + 1. (As in web-animations-1). + + 1. If this keyframe effect has an iteration + composite operation of accumulate, + apply the following step current iteration times: + + * replace the property value of target property + on keyframe with the result of combining the + property value on the final keyframe in property-specific + keyframes (Va) with the + property value on keyframe + (Vb) using the accumulation procedure + defined for target property. + + Note: The order of arguments here is important. In the case where + the animation type of the target property does not define a + procedure for accumulation or addition, the default definition + for these procedures result in Vb being + returned. When performing iteration composition on propreties + that do not support accumulation, the result should be the + initial property value of target property on + keyframe, hence we we make this + Vb in the above step.

Combining effects

@@ -1241,6 +1277,30 @@ The procedure for sorting effects appends the following step: > same animation since otherwise the order would have been > resolved in the previous step.) +

Effect accumulation

+ +Similar to the compositing performed between effect values +(see \[\[#effect-composition\]\]), the iteration composite operation +determines how values are combined between successive iterations of +the same keyframe effect. + +This specification defines two iteration composite operations +as follows: + +: replace +:: Each successive iteration is calculated independently of previous + iterations. +: accumulate +:: Successive iterations of the animation are accumulated with the + final value of the previous iteration. + + The application of the iteration composite operation is + incorporated in the calculation of the effect value in . + +

Custom effects

(This section is added.) From d2e513123f0d45d873eaca4350106b8fe856fab3 Mon Sep 17 00:00:00 2001 From: Stephen McGruer Date: Fri, 13 Sep 2019 10:44:34 -0400 Subject: [PATCH 2/4] Move iterationComposite to web-animations-2 Closes #4300 --- web-animations-1/Overview.bs | 112 +++++------------------------------ 1 file changed, 14 insertions(+), 98 deletions(-) diff --git a/web-animations-1/Overview.bs b/web-animations-1/Overview.bs index af9da8d809e..d26720af547 100644 --- a/web-animations-1/Overview.bs +++ b/web-animations-1/Overview.bs @@ -190,6 +190,9 @@ urlPrefix: https://drafts.csswg.org/css-writing-modes-4/; type: dfn; spec: css-w text: equivalent physical property; url: logical-to-physical urlPrefix: https://drafts.csswg.org/css-style-attr/; type: dfn; spec: css-style-attr text: style attribute +urlPrefix: https://drafts.csswg.org/web-animations-2/; type: dfn; spec: web-animations-2 + text: iteration composite operation + text: iteration composite operation accumulate