Releases: snowkit/differ
Releases · snowkit/differ
differ 1.4.0 stable
differ 1.3.0 stable
This release was quite a while in progress!
The goal of this release is as follows :
- Reduce the usage of Vector internally, simplifying the code to primitives
- Remove allocations, myriads of them the old code had that carried over
- Add ways to reuse allocated results for efficiency when querying
- Add more test/example cases
- Expose the alternative polygon vs shape overlaps to make better choices based on movement
- Move the code more forward to be internally consistent and maintainable
- Fix the bugs with the rays and add more useful infinite flags
All of this was achieved, with the following changes.
- Refactor continued clean up
- remove all allocations in SAT2D, except for results if not provided
- refactor away internal uses of
Vector
- remove superfluous use of
Vector
in the APIShapeDrawer
:drawLine
,drawPoint
Collision.pointInPoly
- Added
Ray
infinite mode instead of boolean- Not infinite
- Infinite from start position
- Infinite in both directions
- Added
Rays
test in usage0 - Added ShapeCollision/RayCollision/RayIntersection
- added
clone()
,copy_from(other)
,reset()
- added
- Added differ.math.Util
- removes internal SAT2D use of the
Vector
class
- removes internal SAT2D use of the
- Added
into
argument for all internal and external calls- this reuses the existing instance for the result
- all calls will always reset the collision result
- all direct calls still return null as "no result"
- added
Results<T>
results cache helper - all plural calls return
Results<T>
- Fixed Bug in
testCircleVsPolygon
- When testing polygon vs circle values were flipped/wrong
- Fixed Bug in
rayVsRay
with a negative overlap - Removed
Common
util class, it's internal to SAT2D and simplified now - Removed
drawVector
inShapeDrawer
, wasn't used (usedrawLine
if needed)
differ 1.2.0 stable
The biggest change for sure, renamed hxcollision
to differ
Now that the library is getting more use its better to have a consistent name
and to have a more explicit path. Think of "differ" as a diff tool for shapes/rays,
it tells you how shapes differ (i.e the separation).
Change notes, thanks to @PDeveloper for work on the the rays and @ubald for fixes and testing.
- Added ray collision information, rather than just true/false
- Added ray vs ray intersection with info on overlap
- Added more granular tests, that will expand further
- New test case uses luxe http://luxeengine.com/
- hxcollision/differ was born for luxe.collision, separate for any framework
- Refactor continued separating code for future 3D vs 2D
- moved all internal 2D code into differ.sat.SAT2D
- moved all internal common code into differ.sat.Common
- Renamed
Collision.test
toCollision.shapeWithShape
- Renamed
Collision.testShapes
toCollision.shapeWithShapes
- Renamed
Collision.rayShape
toCollision.rayWithShape
- Renamed
Collision.rayShapes
toCollision.rayWithShapes
- Renamed
Collision.rayRay
toCollision.rayWithRay
- Renamed
Collision.rayRays
toCollision.rayWithRays
- Renamed
Collision.rayRays
toCollision.rayWithRays
- Renamed
data.CollisionData
todata.ShapeCollision
- Renamed
data.RayCollisionData
todata.RayCollision
- Renamed
data.RayIntersectionData
todata.RayIntersection
- Removed
OpenFLDrawer
, will replace with gist or test later
hxcollision 1.1.0 stable
This release adds many bug fixes and some new examples thanks to @Dvergar, documentation, and a much needed api cleanup of the code toward a more consistent reliable library.
- Added documentation and clean up of code
- Renamed
Vector2D
toVector
and cleaned up code to ONLY what is needed. This class is meant to be as small and easy to integrate as possible. - Refactored for easier maintaining in embedded libraries
- Added documentation and clean up of code
- Renamed
BaseShape
toShape
, continued refactoring - Renamed
Collision.testShapes
toCollision.test
- Renamed
Collision.testShapeList
toCollision.testShapes
- Renamed
Collision.rayCollision
toCollision.ray
- Fixed various bugs in collisions
- Fixed
separation
/unitVector
behaviour (signs bugs) - Fixed bug with
Polygon
/Polygon
collisions not returning best vectors - Fixed bug where you couldn't
beginFill
usingOpenFLDrawer
- Fixed
collisionData
inCheckCircles
, shape2 wasn't assigned. separation
/unitVector
is now bound to shape1- Added 2 samples (usage2 & usage3)
- Added
drawVector
inOpenFLDrawer
showing vector direction - Added
drawShape
inShapeDrawer
, will cast proper types and call appropriate drawing functions.
hxcollision 1.0.4 stable
- Renamed Polygon.normalPolygon to Polygon.create
- Added testShapeList for testing one shape with many
- Added changes to the test to display the unitVector response (soon to be renamed also)
- Migrating to more integration friendly api, and more logical order of arguments for shapes.
- Making rotation on the base shapes absolute (submitted by @grapefrukt).
- Adding name and data flag to BaseShape
Haxelib v1.0.3 stable release
Stable release on haxelib tagged at 1.0.3.
1.0.3
- Fixed bug in circle vs polygon, when polygon was rotated.
- Added line raycast with collision shapes
- Added a custom ShapeDrawer class, for drawing the shapes in a non specific way.
- Moved to latest haxelib revisions
- Removed dependency on OpenFL, now completely standalone