I just submitted a PR  with changes related to shape generation. I'd be interested if anyone has feedback. The primary changes I made are
1. adding Circle and Sphere classes,
2. changing the Parallelogram and Parallelepiped from utility classes to subclasses of ConvexArea and ConvexVolume respectively, and
3. adding additional factory methods and builders for Parallelogram and Parallelepiped.