Re: [css3-transitions] Complex easing functions

On Tue, Apr 7, 2009 at 4:51 PM, Dean Jackson <dino@apple.com> wrote:

> On 03/04/2009, at 9:26 PM, Jon Rimmer wrote:
>
>  After reading though the current transitions draft, I am wondering about
>> support for more advanced easing functions, with more complex curves and
>> values that fall outside the range [0, 1]. Such functions are required for
>> 'elastic' or 'bounce' transitions, which are a popular way of providing more
>> natural easing, particularly for movement, but do not seem possible with the
>> current proposal. There is a useful easing functions visualiser here that
>> provides samples for each type:
>> http://www.robertpenner.com/easing/easing_demo.html
>>
>> This sort of easing is possible using JavaScript libraries, such as
>> Mootools or jQuery with the easing plugin, and it be a shame if the
>> transitions module were not to include an equivalent degree of capability.
>> Is there a reason why the proposal could not be modified to allow multiple
>> bezier curvers within a timing function, and allow values to fall outside
>> the range [0, 1], so long as the final values ended at 0,0 or 1,1?
>>
>
> We agree that more complex timing functions should be added. My hesitation
> is that I'd like to start with as small a specification as possible, and
> then add features later. However, this isn't really a difficult feature to
> implement, so we're willing to add it if the community and other
> implementors agree. Is there anyone else listening who wants this
> immediately?
>
> The idea of multiple curves allowing values outside [0,1] is a good
> suggestion.
>
> While it would be a little painful, you can still achieve you elastic or
> bounce effects today using CSS animations with keyframes.
>

It seems a lot easier to implement bounce effects by relaxing the [0,1]
constraint on curves than by implementing all of CSS animations. (Especially
since I find the case for CSS Transitions a lot stronger than for
Animations.) I'd support adding that.

Rob
-- 
"He was pierced for our transgressions, he was crushed for our iniquities;
the punishment that brought us peace was upon him, and by his wounds we are
healed. We all, like sheep, have gone astray, each of us has turned to his
own way; and the LORD has laid on him the iniquity of us all." [Isaiah
53:5-6]

Received on Thursday, 9 April 2009 02:32:32 UTC