A Separating Axis Theorem (SAT) collision detection library for Haxe, supporting convex polygons, circles, and rays in 2D.
Differ is a collision detection library for the Haxe programming language that implements the Separating Axis Theorem (SAT) to detect intersections between 2D shapes like convex polygons, circles, and rays. It solves the problem of determining when and how shapes overlap in a 2D space, providing detailed collision data such as separation vectors and overlap distances without handling physics responses.
Haxe developers building 2D games, simulations, or interactive applications that require precise and efficient collision detection, especially those who prefer to implement their own physics or response logic.
Developers choose Differ for its focused, lightweight approach to collision detection, offering a clean, framework-agnostic API optimized for performance with minimal allocations and reusable result caches, making it ideal for integrating into custom game engines or existing projects.
A separation axis theorem collision library for Haxe.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses the Separating Axis Theorem for reliable collision detection between convex polygons, circles, and rays, ensuring precise intersection data as demonstrated in the library's core functionality.
Returns comprehensive information like separation vectors, normal axes, and overlap distances upon collision, giving developers full control over responses without built-in physics.
Designed to minimize allocations with reusable result caches, as highlighted in the 1.3.0 release notes, making it efficient for real-time games and simulations.
Not tied to any specific framework, allowing easy integration into custom Haxe projects or existing game engines like Luxe, as emphasized in the philosophy.
Focuses solely on detection, so developers must implement all collision responses manually, adding complexity and extra code to game logic.
As stated in the README, it's '2D only (for now)', making it unsuitable for projects requiring 3D collision detection without significant modification.
Only useful for Haxe developers, which limits its audience and community support compared to multi-language or more popular collision libraries.