pub const MIN_KEPT_POINTS: usize = 2;
Endpoints are always kept, so the minimum output size is 2 — even when the input has fewer points the function returns the input unchanged.