@@ -119,7 +119,20 @@ not parseable using the provided {{PropertyDescriptor/syntax}} must cause it to
119
119
throw a {{SyntaxError}} . If no {{PropertyDescriptor/initialValue}} is provided and the
120
120
{{PropertyDescriptor/syntax}} is '*' , then a special initial value used. This initial
121
121
value must be considered parseable by {{registerProperty()}} but invalid at computed
122
- value time.
122
+ value time. Initial values that are not computationally idempotent must also cause
123
+ {{registerProperty()}} to throw a {{SyntaxError}} .
124
+
125
+ <div class='example'>
126
+ For example, "3cm" is a computationally idempotent length, and hence valid as an initial value.
127
+ However, "3em" is not (depending on the environment, 3em could compute to
128
+ multiple different values). Additionally, "var(--foo)" is not computationally idempotent.
129
+ </div>
130
+
131
+ Issue: define computational idempotency.
132
+
133
+ Issue(121): Is computational idempotency the right thing to do here? We could also just
134
+ resolve any relative values once (against all the other initial values) and use
135
+ that. OR! We could allow specified values and just fix our engines...
123
136
124
137
When a custom property is registered with a given type, the process via which specified
125
138
values for that property are turned into computed values is defined
@@ -289,6 +302,10 @@ will interpolate as specified in [[!css3-animations]].
289
302
Otherwise, the interpolation falls back to the default 50% flip described in
290
303
[[!css3-animations]] .
291
304
305
+ Issue: Intermediate interpolated results of animations on custom properties must
306
+ be able to generate a token stream representing their value. We should ensure that
307
+ this is standard across implementations to avoid interop issues.
308
+
292
309
Conditional Rules {#conditional-rules}
293
310
--------------------------------------
294
311
0 commit comments