Splits the MeshQuery trait into MeshQuery and MeshTopology and cleans up much of the physics traits. A notable optimization is using a closure for iterating variable length topological lists. Intermediate allocations are avoided in this way.
Reviewed-on: #33
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
Acceleration is not a persistent part of the PhysicsState, and is only used for intermediate calculations along a trajectory.
Fixes several bugs:
- Walk decelerate clip into wall
- Walk accelerate clip into wall
- Fall while flying
Reviewed-on: #30
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>
Closes#13, but exposes the underlying issue at all times.
Reviewed-on: #14
Co-authored-by: Quaternions <krakow20@gmail.com>
Co-committed-by: Quaternions <krakow20@gmail.com>
Completely replace the janky closest fev crawl from infinity algorithm with a dedicated purpose-built algorithm. Finding the closest point on a MinkowskiMesh is equivalent to finding the closest point between two meshes.
Reviewed-on: #25
Co-authored-by: Rhys Lloyd <krakow20@gmail.com>
Co-committed-by: Rhys Lloyd <krakow20@gmail.com>