Refactor rectangle vertex/edge access
Refactor rectangle vertex/edge access

Avoid 4-tuples, and allow access to individual vertices/edges where necessary; will have to carefully document that 'top' means 'positive Y in local axes coordinates', 'left' means 'negative X in local axes coordinates', etc.

opensolid/geometry