Expand description
Collision detection module.
Provides multiple collision detection algorithms:
- AABB (Axis-Aligned Bounding Box) — fastest, axis-aligned only
- Circle — for circular hitboxes
- SAT (Separating Axis Theorem) — for oriented rectangles and convex polygons
- Broad phase — spatial hashing for large numbers of objects
All collision functions return a CollisionInfo struct with penetration
depth and normal, enabling proper resolution — unlike macroquad which has
no collision detection at all.
Structs§
- Circle
Collider - A circle collider.
- Collision
Info - Result of a collision test.
- Ray
- A 2D ray.
- Raycast
Hit - Result of a ray cast.
- Spatial
Hash - A simple spatial hash grid for broad-phase collision detection.
Functions§
- circle_
vs_ circle - Test collision between two circles.
- circle_
vs_ rect - Test collision between a circle and an AABB rectangle.
- point_
in_ circle - Check if a point is inside a circle.
- point_
in_ rect - Check if a point is inside a rectangle.
- ray_
vs_ circle - Cast a ray against a circle.
- ray_
vs_ rect - Cast a ray against an AABB.
- rect_
vs_ rect - Test collision between two AABBs with penetration info.
- resolve_
aabb_ collision - Resolve a collision by pushing shape A out of shape B.