@@ -302,10 +302,6 @@ its associated [=keyframes=] are generated as follows:
302302 In this case no animation is generated,
303303 and any existing animation matching |name| is canceled.
304304
305- 1. Perform a stable sort on all [=keyframe blocks=] in the '' @keyframes'' rule
306- by their specified <<keyframe-selector>>
307- (treating '' @keyframe/from'' as '' 0%'' and '' @keyframe/to'' as '' 100%'').
308-
309305 1. Group together all [=keyframe blocks=]
310306 that share the same [=specified value|specified=] <<keyframe-selector>>
311307 (treating '' @keyframe/from'' as '' 0%'' and '' @keyframe/to'' as '' 100%''),
@@ -356,6 +352,26 @@ its associated [=keyframes=] are generated as follows:
356352 that is not already assigned to a [=keyframe=] in |keyframes|
357353 that has a matching |keyframe offset|.
358354
355+ 1. <strong>Sort Frames:</strong>
356+
357+ * The <dfn lt="specified keyframe order">specified order</dfn> of |keyframes|
358+ is the order resulting from the steps above,
359+ i.e. document order with duplicate keyframes collapsed
360+ to the earliest position.
361+
362+ * The <dfn lt="computed keyframe order">computed order</dfn> of |keyframes|--
363+ which is the order returned by {{KeyframeEffect/getKeyframes()}}--
364+ is found by performing a stable sort on |keyframes|
365+ by each keyframe’s |keyframe offset|.
366+
367+ * The <dfn lt="used keyframe order">used order</dfn> of |keyframes|--
368+ which is the order used to interpolate and compute the actual animation frames--
369+ is found by attaching the |keyframes|
370+ onto the animation effect’s timeline
371+ assuming an [=iteration count=] of 1
372+ and ordering them from earliest to latest,
373+ breaking ties by using the [=computed keyframe order=].
374+
359375<h2 id="animation-definition">
360376Declaring Animations</h2>
361377
0 commit comments