Request to publish FPWD of CSS Timing Functions

Hi,

I'd like to ask for approval to publish a FPWD of the CSS Timing Functions spec.

I won't be able to attend the telcon (2am local time and I'm unwell)
so I've written a few anticipated questions and answers below:

* Why are we doing this?

We resolved at TPAC last year[1] to split timing functions out of CSS
Transitions into a separate module because:

a) This is shared between CSS Transitions, CSS Animations, and Web Animations
b) It gives us a venue for working on new timing functions (e.g.
spring timing functions) in the future without being tied to
iterations of CSS Transitions.

* Why does this spec contain a new frames() timing function? Shouldn't
it only include existing functionality from CSS transitions and CSS
animations that is implemented everywhere?

frames() is something we've discussed many times as a way to fix the
existing steps() timing function. Specifically, authors have found
steps() hard to use, particularly in loops when you want to show both
the beginning and end of the animation. Web Animations originally
introduced steps-middle to try and fix this but after further
discussion frames() ended up being a more suitable
notation/definition.[2] (Blink and Gecko even implemented
steps-middle, but it never landed in Gecko due to the ongoing spec
discussion.)

As such, frames() is just a fix for steps(). It's trivial to implement
and there is strong interest in doing so in at least Gecko and Blink
in the very near future so I'm confident it won't hold up CR for
transitions or animations. There is also strong community interest in
fixing step timing functions (they came up with the name and released
a JS version within a few hours of it being added to the spec).

* Why are you adding new stuff? You should be fixing the existing stuff!

I'm doing that too.

* What is the test plan?

We have some fairly good tests for these timing functions in the
web-animations part of WPT. Assuming CSSWG tests are going to be
merged with WPT (has this happened yet?) my plan is to adapt these
tests to cover each of the timing functions by using CSS transitions
and CSS animations and move them out of web-animations and into
css-timing.

In order to test input progress values outside the range [0, 1] we
will need to use the Web Animations API and so UAs that don't yet
implement that API will need to mark those tests as known failures in
their test infrastructure.


If this request is approved, I'll prepare the spec with the FPWD
template and ask Chris to send the transition request.

Best regards,

Brian

[1] https://lists.w3.org/Archives/Public/www-style/2016Nov/0079.html
[2] https://lists.w3.org/Archives/Public/www-style/2016Mar/0199.html

Received on Wednesday, 8 February 2017 05:10:17 UTC