From 1ce9f47f684bffd91ffd83750ec795a78aa9831b Mon Sep 17 00:00:00 2001
From: Stephen McGruer 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
spec:dom; type:interface; text:DocumentOrShadowRoot
@@ -3321,10 +3324,9 @@ a target element for which computed property values can be calculated.
The effect value of
a keyframe effect
-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
+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 calculated as follows.
1. If iteration progress is unresolved abort this
@@ -3422,30 +3424,6 @@ referenced by a keyframe effect as one of its
corresponding to the target property's
animation type.
- 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.
-
1. If there is only one keyframe in interval endpoints
return the property value of target property on that
keyframe.
@@ -3733,29 +3711,6 @@ property is applied using the following process.
effect at the top of the effect stack established for the target
property.
-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 .
-
Replacing animations
dictionary KeyframeEffectOptions : EffectTiming {
- IterationCompositeOperation iterationComposite = "replace";
CompositeOperation composite = "replace";
};
The
-
-The possible values of an animation effect's
-iteration composite operation are represented by the
-IterationCompositeOperation enumeration.
-
-IterationCompositeOperation enumeration
-enum IterationCompositeOperation { "replace", "accumulate" };
-
-
-: replace
-:: Corresponds to the replace
- iteration composite operation value such that the
- effect value produced is independent of the
- current iteration.
-: accumulate
-:: Corresponds to the accumulate
- iteration composite operation value such that
- subsequent iterations of an animation effect build
- on the final value of the previous iteration.
-
The
The possible values of an keyframe effect's
From 8ac8179d6fb474ab7eb8a6d7dd75fd6b5b23cd6f Mon Sep 17 00:00:00 2001
From: Stephen McGruer CompositeOperation and CompositeOperationOrAuto enumerations
Title: Web Animations Level 2
Status: UD
@@ -1235,10 +1246,10 @@ Update the description of an effect that targets a non-animated property as:
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:
+for a given iteration progress, current iteration and
+underlying value is amended by inserting the following step:
-12. For each keyframe in interval endpoints:
+12. For each keyframe in interval endpoints:
1. (As in web-animations-1).
@@ -1249,7 +1260,7 @@ for a given iteration progress, current iteration and
* replace the property value of target property
on keyframe with the result of combining the
- property value on the final keyframe in property-specific
+ property value on the final keyframe in property-specific
keyframes (Va) with the
property value on keyframe
(Vb) using the
Effect accumulation
Similar to the compositing performed between effect values
-(see \[\[#effect-composition\]\]), the iteration composite operation
+(see [[web-animations-1#effect-composition]]), the iteration composite operation
determines how values are combined between successive iterations of
the same keyframe effect.
@@ -2103,12 +2114,48 @@ SequenceEffect implements GroupEffectMutable;
The
-Add:
+The KeyframeEffect interface is modified to add the following:
KeyframeEffectReadOnly
and KeyframeEffect interfaces
+interface KeyframeEffect : AnimationEffect {
+ attribute IterationCompositeOperation iterationComposite;
+};
+
KeyframeEffect implements AnimationEffectMutable;
+Creating a new
KeyframeEffect objectThe KeyframeEffectOptions dictionary
+
+The KeyframeEffectOptions dictionary interface is modified to add the
+following attribute:
+
+
+dictionary KeyframeEffectOptions : EffectTiming {
+ IterationCompositeOperation iterationComposite = "replace";
+};
+
+
+The IterationCompositeOperation enumeration
+
+The possible values of an animation effect's
+iteration composite operation are represented by the
+IterationCompositeOperation enumeration.
+
+
+enum IterationCompositeOperation { "replace", "accumulate" };
+
+
+: replace
+:: Corresponds to the replace
+ iteration composite operation value such that the
+ effect value produced is independent of the
+ current iteration.
+: accumulate
+:: Corresponds to the accumulate
+ iteration composite operation value such that
+ subsequent iterations of an animation effect build
+ on the final value of the previous iteration.
+
The
Custom effects can be defined in script by providing an
From 5d336123403a98d6e67ea269d3ed9b930bdcdcd0 Mon Sep 17 00:00:00 2001
From: Stephen McGruer EffectCallback callback function
-interface KeyframeEffect : AnimationEffect {
+partial interface KeyframeEffect {
attribute IterationCompositeOperation iterationComposite;
};
@@ -2188,10 +2189,10 @@ new SequenceEffect(
The KeyframeEffectOptions dictionary
The KeyframeEffectOptions dictionary interface is modified to add the
-following attribute:
+following member:
-dictionary KeyframeEffectOptions : EffectTiming {
+partial dictionary KeyframeEffectOptions {
IterationCompositeOperation iterationComposite = "replace";
};