@@ -1066,13 +1066,43 @@ condition:
10661066> * the <a>animation effect</a> has a <a>parent group</a> and the
10671067> <a>parent group</a> is <a>current</a> .
10681068
1069- Add the following definition to the list used in determining the phase of
1069+ Add the following definitions to the list used in determining the phase of
10701070an <a>animation effect</a> .
10711071
10721072: <dfn>effective timeline phase</dfn>
10731073:: The associated <a>animation</a> 's <a>hold phase</a> if resolved, otherwise
10741074 the <a>animation</a> timeline's [=timeline phase=] .
10751075
1076+ : <dfn>at progress timeline boundary</dfn>
1077+ :: Determined using the following procedure:
1078+
1079+ 1. If <em> any</em> of the following conditions are true:
1080+ * the associated <an> animation</a> 's timeline is not a
1081+ [=progress-based timeline=] , or
1082+ * the associated <a>animation</a> 's [=timeline duration=] is
1083+ unresolved or zero, or
1084+ * the <a>animation</a> 's [=playback rate=] is zero
1085+
1086+ return false
1087+
1088+ 1. Let <var> effective start time</var> be the <a>animation</a> 's
1089+ [=start time=] if resolved, or zero otherwise.
1090+
1091+ 1. Let <var> effective timeline time</var> be
1092+ <code> <a>animation</a> 's <a>current time</a> / <a>animation</a>' s
1093+ [=playback rate=] + <var> effective start time</var></code>
1094+
1095+ 1. Let <var> effective timeline progress</var> be
1096+ <code><var> effective timeline time</var> / [=timeline duration=] </code>
1097+
1098+ 1. If <var> effective timeline progress</var> is 0 or 1, return true,
1099+ otherwise false.
1100+
1101+ Issue: This procedure is not strictly correct for a paused
1102+ animation if the <a>animation</a> 's current time is explicitly set, as this can
1103+ introduce a lead or lag, between the <a>timeline<a>'s current time and
1104+ <a>animation</a> 's current time.
1105+
10761106Replace:
10771107
10781108> An <a>animation effect</a> is in the before phase if the animation effect's
@@ -1096,8 +1126,9 @@ with:
10961126> <em> and</em> <em> either</em> of the following conditions are met:
10971127> 1. the <a>local time</a> is less than the <a>before-active boundary
10981128> time</a> , <em> or</em>
1099- > 1. the <a>animation direction</a> is "backwards" and the
1100- > <a>local time</a> is equal to the <a>before-active boundary time</a> .
1129+ > 1. The <a>animation direction</a> is "backwards", the <a>local time</a>
1130+ > is equal to the <a>before-active boundary time</a> and not
1131+ > <a>at progress timeline boundary</a> .
11011132
11021133Replace:
11031134
@@ -1122,8 +1153,9 @@ with:
11221153> <em> and</em> <em> either</em> of the following conditions are met:
11231154> 1. the <a>local time</a> is greater than the <a>active-after boundary
11241155> time</a> , <em> or</em>
1125- > 1. the <a>animation direction</a> is "forwards" and the <a>local time</a>
1126- > is equal to the <a>active-after boundary time</a> .
1156+ > 1. the <a>animation direction</a> is "forwards", the <a>local time</a>
1157+ > is equal to the <a>active-after boundary time</a> and not
1158+ > <a>at progress timeline boundary</a> .
11271159
11281160<h4 id="fill-modes">Fill modes</h4>
11291161
0 commit comments