Based on an a new function
ConvexPolyhedron.fromVertices : Array Vec3 -> Result (Maybe Vec3, String) ConvexPolyhedron
based on a new function
ConvexPolyhedron.facesFromVertices : Array Vec3 -> Result (List Vec3, String) List (List Int)
that calculates a set of faces that wrap all of the vertices. Error conditions detected would include 3 or fewer vertices provided, 3 or more colinear vertices provided, 4 or more coplanar vertices provided, and vertexes would require concavity.
This allows the user to safely define a ConvexPolyhedron Shape knowing only its vertices. This relieves the tedium of listing out faces for an arbitrary ConvexPolyhedron, but at some runtime cost over explicitly hand-coding the faces.
The Physics module could also wrap the ConvexPolyhedron.facesFromVertices function making a correct hard-coded faces list discoverable to the user wanting to tune their app.