On 2012/12/21 3:46, Tab Atkins Jr. wrote:
On Wed, Dec 19, 2012 at 6:40 PM, L. David Baron <dba...@dbaron.org> wrote:
On Wednesday 2012-12-19 10:29 -0800, Tab Atkins Jr. wrote:
I propose another steps value: step-mid. It splits the animation curve
into n segments, makes the first n-1 do step-end behavior, and leaves
the last to just run normally. The above example could instead be
written as "steps(4, step-mid)" and have this behavior:
I like the idea, but I find the name confusing; it sounded like
something that would give the first and last steps half the duration
of the other steps. (I also find the description quoted above
confusing, but the rest of the email made it clear.)
I have absolutely no attachment to the name. It was the first thing
that came to mind.
I assume that Rachel's suggestion comes from her association of
steps(n, end) with meaning "eat the end of the animation" (and
likewise for "start"), so "none" is reasonable in that sense. I'm not
sure it makes sense if your understanding comes from the spec's
explanation, though, where "end" means "transitions all at once at the
end of the step".
Another possibility is just a new function. I'm not sure what I'd
want to name it, though.
I spoke with Rachel and a few others about this recently and we were
wondering about the name step-equal? Unfortunately, that doesn't
translate into a function very well ('step-equal(2)'? Alternatively,
what about 'step-stagger' and 'stagger(5)', or just the function?).
I'd like to settle on this soon because Chrome is shipping
Element.animate() with support for 'step-middle' as defined by Web
Animations.[1] We went to implement this in Firefox[2] but I'm concerned
that there aren't use cases for step-middle as currently specced and
instead what we want is what Tab originally proposed in this thread.
Assuming usage is low in Chrome, I'd like to drop step-middle from Web
Animations and replace it with this revised timing function.
Best regards,
Brian
[1] http://w3c.github.io/web-animations/#typedef-step-timing-function
I didn't realize Chrome had implemented this, or else I would have
brought this up sooner.
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1248340