static double? lerpDouble(double? a, double? b, double t) { if (a == null && b == null) return null; return (a ?? 0.0) + ((b ?? 0.0) - (a ?? 0.0)) * t; }