lerpDouble function

double lerpDouble(
  1. double? a,
  2. double? b,
  3. double t
)

Implementation

double lerpDouble(double? a, double? b, double t) {
  // Provide default values for null parameters
  a ??= 0.0;
  b ??= 0.0;

  // Ensure t is within valid range to prevent errors
  t = t.clamp(0.0, 1.0);

  try {
    // Use standard lerpDouble from dart:ui with safety checks
    final result = ui.lerpDouble(a, b, t);
    return result ?? b; // Fallback to 'b' if lerp returns null
  } catch (e) {
    // Handle any unexpected errors in the calculation
    modalLog("Error in lerpDouble: $e");
    return b; // Return the target value as a sensible default
  }
}