transform method

double transform(
  1. double t
)

Evaluates the curve at life progress t, which is clamped to 0...1.

Implementation

double transform(double t) {
  final scaled = t.clamp(0.0, 1.0) * _resolution;
  final index = scaled.floor();
  if (index >= _resolution) {
    return _samples[_resolution];
  }
  final fraction = scaled - index;
  return _samples[index] * (1 - fraction) + _samples[index + 1] * fraction;
}