@@ -134,7 +134,19 @@ The syntax for specifying an [=easing function=] is as follows:
134134 timing-functions-syntax-valid.html
135135</wpt>
136136
137- ## Linear Easing Functions: ''linear'' , ''linear()'' ## {#the-linear-easing-function}
137+ <!-- Big Text: linear
138+
139+ █▌ ████ █ █▌ █████▌ ███▌ ████▌
140+ █▌ ▐▌ █▌ █▌ █▌ ▐█ ▐█ █▌ █▌
141+ █▌ ▐▌ ██▌ █▌ █▌ █▌ █▌ █▌ █▌
142+ █▌ ▐▌ █▌▐█ █▌ ████ █▌ █▌ ████▌
143+ █▌ ▐▌ █▌ ██▌ █▌ █████▌ █▌▐█
144+ █▌ ▐▌ █▌ █▌ █▌ █▌ █▌ █▌ ▐█
145+ █████ ████ █▌ ▐▌ █████▌ █▌ █▌ █▌ █▌
146+ -->
147+
148+ <h3 id=the-linear-easing-function>
149+ Linear Easing Functions: ''linear'', ''linear()''</h3>
138150
139151A <dfn export>linear easing function</dfn>
140152is an [=easing function=]
@@ -145,8 +157,16 @@ is a pair of numbers,
145157associating an [=input progress value=]
146158to an [=output progress value=] .
147159
148-
149- ### Syntax ### {#linear-easing-function-syntax}
160+ <figure>
161+ <img class="easing-graph" src="images/linear-easing-curve.svg" width="535" height="510"
162+ alt="A linear curve used as an easing function.">
163+ <figcaption>
164+ ''linear(0, .1 25%, .75 50%, 1)'' <br>
165+ The shape of the curve follows the [=control points=] .<br>
166+ Input progress values serve as <var> x</var> values of the curve,
167+ whilst the <var> y</var> values are the output progress values.
168+ </figcaption>
169+ </figure>
150170
151171A [=linear easing function=] has the following syntax:
152172
@@ -215,7 +235,8 @@ A [=linear easing function=] has the following syntax:
215235</div>
216236
217237
218- ### Serializing ### {#linear-easing-function-serializing}
238+ <h4 id=linear-easing-function-serializing>
239+ Serializing</h4>
219240
220241<div algorithm>
221242 To <dfn export>serialize a linear() function</dfn> :
@@ -259,7 +280,8 @@ A [=linear easing function=] has the following syntax:
259280</div>
260281
261282
262- ### Output of a linear easing function ### {#linear-easing-function-output}
283+ <h4 id=linear-easing-function-output>
284+ Output</h4>
263285
264286<section algorithm="to calculate linear easing output progress">
265287
@@ -304,7 +326,8 @@ It returns an [=output progress value=].
304326</wpt>
305327</section>
306328
307- ### Examples ### {#linear-easing-function-examples}
329+ <h4 id=linear-easing-function-examples>
330+ Examples</h4>
308331
309332<div class=example>
310333 ''linear()'' allows the definition of easing functions that interpolate linearly between a set of points.
@@ -317,6 +340,7 @@ It returns an [=output progress value=].
317340 alt="linear(0, 0.25, 1) plotted on a graph">
318341 </figure>
319342</div>
343+
320344<div class=example>
321345 By default, values are spread evenly between entries that don't have an explicit "input".
322346 Input values can be provided using a <<percentage>> .
@@ -334,6 +358,7 @@ It returns an [=output progress value=].
334358 The third is at 1,1.">
335359 </figure>
336360</div>
361+
337362<div class=example>
338363 If two input values are provided for a single output,
339364 it results in two points with the same output.
@@ -352,6 +377,7 @@ It returns an [=output progress value=].
352377 The forth is at 1,1.">
353378 </figure>
354379</div>
380+
355381<div class=example>
356382 If the input is outside the range provided,
357383 the trajectory of the nearest two points is continued.
@@ -369,6 +395,7 @@ It returns an [=output progress value=].
369395 The ends of the graph are extended at the angle of the nearest two lines.">
370396 </figure>
371397</div>
398+
372399<div class=example>
373400 A typical use of ''linear()'' is to provide many points to create the illusion of a curve.
374401
@@ -405,28 +432,26 @@ It returns an [=output progress value=].
405432 which may be needed for slower animations.
406433</div>
407434
408- <h3 id=the-linear-easing-keyword oldids=linear-timing-function-section>The linear easing keyword: ''linear''</h3>
409-
410- The <dfn dfn-type=value for="<easing-function>">linear</dfn> keyword
411- produces an identity [=linear easing function=]
412- whose [=output progress value=] is equal to the
413- [=input progress value=] for all inputs.
414435
415- This gives the same result as ''linear(0, 1)'' .
436+ <!-- Big Text: bezier
416437
417- Note: Although this produces a [=linear easing function=] ,
418- uses of the keyword ''linear'' always serialize as-is, to ''linear'' .
419- Whereas the function equivalent ''linear(0, 1)'' will serialize to ''linear(0 0%, 1 100%)'' .
420- These rules are in [Serialization] (#serialization).
438+ ████▌ █████▌ █████▌ ████ █████▌ ████▌
439+ █▌ █▌ █▌ ▐▌ ▐▌ █▌ █▌ █▌
440+ █▌ █▌ █▌ ▐▌ ▐▌ █▌ █▌ █▌
441+ █████ ████ █▌ ▐▌ ████ ████▌
442+ █▌ █▌ █▌ █ ▐▌ █▌ █▌▐█
443+ █▌ █▌ █▌ █ ▐▌ █▌ █▌ ▐█
444+ ████▌ █████▌ █████▌ ████ █████▌ █▌ █▌
445+ -->
421446
422447<h3 id=cubic-bezier-easing-functions oldids=cubic-bezier-timing-functions>Cubic
423- Bézier easing functions:
448+ Bézier easing functions:
424449''ease'', ''ease-in'', ''ease-out'', ''ease-in-out'', ''cubic-bezier()''</h3>
425450
426- A <dfn export>cubic Bézier easing function</dfn> is
451+ A <dfn export>cubic Bézier easing function</dfn> is
427452a type of [=easing function=] defined by four real numbers
428453that specify the two control points,
429- <var> P1</var> and <var> P2</var> , of a cubic Bézier curve whose
454+ <var> P1</var> and <var> P2</var> , of a cubic Bézier curve whose
430455end points <var ignore> P0</var> and <var ignore> P3</var>
431456are fixed at (0, 0) and (1, 1) respectively.
432457The <var> x</var> coordinates of <var> P1</var> and <var> P2</var>
@@ -436,15 +461,15 @@ are restricted to the range [0, 1].
436461 <img class="easing-graph" src="images/cubic-bezier-easing-curve.svg" width="535" height="510"
437462 alt="A cubic Bezier curve used as an easing function.">
438463 <figcaption>
439- A cubic Bézier curve used as an easing function.<br>
464+ A cubic Bézier curve used as an easing function.<br>
440465 The shape of the curve is determined by the location of the control
441466 points <var> P1</var> and <var> P2</var> .<br>
442467 Input progress values serve as <var> x</var> values of the curve,
443468 whilst the <var> y</var> values are the output progress values.
444469 </figcaption>
445470</figure>
446471
447- A <a>cubic Bézier easing function</a> has the following syntax
472+ A <a>cubic Bézier easing function</a> has the following syntax
448473(using notation from [[!CSS-VALUES-3]] ):
449474
450475<div class="prod"> <dfn type><cubic-bezier-easing-function></dfn> =
@@ -466,7 +491,7 @@ The meaning of each value is as follows:
466491: <dfn>ease-in-out</dfn>
467492:: Equivalent to ''cubic-bezier(0.42, 0, 0.58, 1)'' .
468493: <dt> <dfn function lt="cubic-bezier()">cubic-bezier(<<number [0,1]>>, <<number>>, <<number [0,1]>>, <<number>>)</dfn> </dt>
469- :: Specifies a <a>cubic Bézier easing function</a> .
494+ :: Specifies a <a>cubic Bézier easing function</a> .
470495 The four numbers specify points <var> P1</var> and <var> P2</var> of
471496 the curve as (<var ignore> x1</var> , <var ignore> y1</var> , <var
472497 ignore> x2</var> , <var ignore> y2</var> ).
@@ -481,12 +506,14 @@ The keyword values listed above are illustrated below.
481506 <img class="easing-graph" src="images/curve-keywords.svg" width="500"
482507 alt="The easing functions produced by keyword values.">
483508 <figcaption>
484- The easing functions produced by each of the cubic Bézier easing
509+ The easing functions produced by each of the cubic Bézier easing
485510 function keyword values.
486511 </figcaption>
487512</figure>
488513
489- ### Output of a cubic bézier easing function ### {#cubic-bezier-algo}
514+
515+ <h4 id=cubic-bezier-algo>
516+ Output</h4>
490517
491518The mapping from input progress to output progress is performed by
492519determining the corresponding <var> y</var> value ([=output progress value=] ) for
@@ -523,6 +550,18 @@ infinitely using tangent of the curve at the closest endpoint as follows:
523550 cubic-bezier-timing-functions-output.html
524551</wpt>
525552
553+
554+ <!-- Big Text: steps
555+
556+ ███▌ █████▌ █████▌ ████▌ ███▌
557+ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌
558+ █▌ █▌ █▌ █▌ █▌ █▌
559+ ███▌ █▌ ████ ████▌ ███▌
560+ █▌ █▌ █▌ █▌ █▌
561+ █▌ █▌ █▌ █▌ █▌ █▌ █▌
562+ ███▌ █▌ █████▌ █▌ ███▌
563+ -->
564+
526565<h3 id=step-easing-functions oldids=step-timing-functions>Step easing functions:
527566''step-start'', ''step-end'', ''steps()''</h3>
528567
@@ -605,8 +644,8 @@ The meaning of each value is as follows:
605644
606645</dl>
607646
608- <h4 id=step-easing-algo oldids=step-timing-function-algo>Output of
609- a step easing function </h4>
647+ <h4 id=step-easing-algo oldids=step-timing-function-algo>
648+ Output </h4>
610649
611650At the exact point where a step occurs, the result of the function is
612651conceptually the top of the step. However, an additional <dfn>before flag</dfn>
0 commit comments