generate method
Generates curve points from the given data points.
Implementation
@override
List<Point> generate(List<Point> points) {
if (points.length < 2) return List.from(points);
if (points.length == 2) return List.from(points);
// Swap x and y, apply monotone X, then swap back
final swapped = points.map((p) => Point(p.y, p.x)).toList();
final monotoneX = CurveMonotoneX();
final result = monotoneX.generate(swapped);
return result.map((p) => Point(p.y, p.x)).toList();
}