evaluate method
The current value of this object for the given Animation.
This function is implemented by deferring to transform. Subclasses that want to provide custom behavior should override transform, not evaluate.
See also:
Implementation
@override
double evaluate(Animation<double> animation) =>
lerp((math.sin((animation.value - delay) * 2 * math.pi) + 1) / 2);