convexHull
Computes the convex hull of a list of 2D points using the Monotone chain algorithm. The convex hull is the smallest convex shape that encompasses all the points in the input list.
The input list should contain at least three distinct points for a meaningful convex hull to be formed. If the input list is empty or contains fewer than three points, a simplified contour is returned. The input list is processed to remove duplicate points and sort them before constructing the hull.
Receiver
A list of 2D points represented as Vector2.
Return
A ShapeContour that represents the convex hull of the points. If the input list is empty, ShapeContour.EMPTY is returned. If the input list contains fewer than three points after deduplication, a simple contour connecting the points is returned.