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