Documentation
1
2
3
4
5
6
7
8
9
10
11
12
* adopt euclid as foundational points/geometry library
* collision detection
  * add bounding boxes to `Shape` trait
  * scene maintains AABB tree of shapes in the scene
  * use AABB tree to quickly find candidates for closer inspection
    * good overview:
      https://www.azurefromthetrenches.com/introductory-guide-to-aabb-tree-collision-detection/
  * use separating axis theorem to determine if it is actually a collision
    * have to do O(m*n) checks on each primitive shape
* clipping
  * Vatti is most general
  * Greiner-Hormann is faster, but convex only