Skip to content

Releases: snowkit/differ

differ 1.4.0 stable

08 May 02:24
Compare
Choose a tag to compare
  • Fixes for newer haxe versions
  • Fix Polygon.testRay ignoring 'into' parameter

differ 1.3.0 stable

19 Sep 02:37
Compare
Choose a tag to compare

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 API
      • ShapeDrawer: 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 differ.math.Util
    • removes internal SAT2D use of the Vector class
  • 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 in ShapeDrawer, wasn't used (use drawLine if needed)

differ 1.2.0 stable

17 Apr 17:37
Compare
Choose a tag to compare

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 to Collision.shapeWithShape
  • Renamed Collision.testShapes to Collision.shapeWithShapes
  • Renamed Collision.rayShape to Collision.rayWithShape
  • Renamed Collision.rayShapes to Collision.rayWithShapes
  • Renamed Collision.rayRay to Collision.rayWithRay
  • Renamed Collision.rayRays to Collision.rayWithRays
  • Renamed Collision.rayRays to Collision.rayWithRays
  • Renamed data.CollisionData to data.ShapeCollision
  • Renamed data.RayCollisionData to data.RayCollision
  • Renamed data.RayIntersectionData to data.RayIntersection
  • Removed OpenFLDrawer, will replace with gist or test later

hxcollision 1.1.0 stable

07 Jun 01:15
Compare
Choose a tag to compare

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 to Vector 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 to Shape, continued refactoring
  • Renamed Collision.testShapes to Collision.test
  • Renamed Collision.testShapeList to Collision.testShapes
  • Renamed Collision.rayCollision to Collision.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 using OpenFLDrawer
  • Fixed collisionData in CheckCircles, shape2 wasn't assigned.
  • separation/unitVector is now bound to shape1
  • Added 2 samples (usage2 & usage3)
  • Added drawVector in OpenFLDrawer showing vector direction
  • Added drawShape in ShapeDrawer, will cast proper types and call appropriate drawing functions.

hxcollision 1.0.4 stable

19 Dec 10:03
Compare
Choose a tag to compare
  • 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

12 Sep 03:13
Compare
Choose a tag to compare

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