double evaluate(double progress) => start + (end - start) * curve.transform(progress.clamp(0.0, 1.0));