Changelog
Jitter 2.5.0 (2024-12-23)
- Better utilization of multi core systems.
- Bugfix in collision detection (possible NaN values).
Jitter 2.4.9 (2024-12-18)
- Huge improvements for the DynamicTree implementation.
Jitter 2.4.8 (2024-11-27)
- Add option to build in double precision mode.
- Made
Constraint
constructor public to allow for custom constraints.
Jitter 2.4.7 (2024-11-18)
- Breaking Change: Dropped .NET6 support, added .NET9.
- SIMD for contacts.
- Contact manifold overflow fix.
- Changed default damping.
- Improved auxiliary contact points.
- Minor API changes.
Jitter 2.4.6 (2024-10-28)
- Breaking Change: Jitter world is now constructed using World.Capacity.
- Breaking Change: World.RayCast moved to World.DynamicTree.RayCast.
- Breaking Change: Renamed NumberSubsteps to SubstepCount.
- Added split impulses. Breaking Change: SolverIterations property is now a tuple.
- Several smaller improvements in the API.
Jitter 2.4.5 (2024-10-07)
- Added new methods to NarrowPhase: Distance and Overlap.
- Breaking Change: Renamed NarrowPhase.SweepTest to NarrowPhase.Sweep.
- Breaking Change: Renamed NarrowPhase.GJKEPA to NarrowPhase.Collision.
- Made PointTest, Raycast and SweepTest to use new SimplexSolver and SimplexSolverAB implementations.
- Fixed normal in GJKEPA for separating case.
Jitter 2.4.4 (2024-09-14)
- Implemented fixes and workarounds for using Jitter with a debugger attached.
Jitter 2.4.3 (2024-08-31)
- Correct corner case beeing wrong in MPR collision detection due to typo (bug fix).
- FatTriangleShape level did not properly take transformations into account (bug fix).
Jitter 2.4.2 (2024-08-26)
- Added FatTriangleShape to give triangles thickness which can be useful for static triangle meshes.
- Removal from potential pairs in DynamicTree ignores filters from now on (bug fix).
- Use sweep tests for speculative contacts, vastly improving simulation quality in this scenario.
- Breaking Change: Redefinition of NarrowPhase.SweepTest results.
- Improved TriangleEdgeCollisionFilter.
Jitter 2.4.1 (2024-08-21)
- Improved TriangleEdgeCollisionFilter.
- Implemented analytical box and sphere ray casting.
- Made Restitution and Friction public in Contact.
- Improved DynamicTree interface.
- Add Debug.Asserts in ActiveList.
- Mark ArbiterKey as readonly.
- Added enumerator to PairHashSet.
- Changed ShapeHelper.MakeHull to take a generic of type ICollection.
Jitter 2.4.0 (2024-08-10)
- Improved TrimPotentialPairs logic.
- Optimized quaternion vector transformation.
- Extended functionality of ContactData.UsageMask.
- Breaking Change: Overhauled the shape system. Regular shapes (box, sphere, capsule, ...) now derive from RigidBodyShape. Some method signatures changed slightly, e.g. ray casting.
- Improved exceptions.
- Added ReferenceFrameAttribute.
Jitter 2.3.1 (2024-06-02)
- ReadOnly wrappers (ReadOnlyList, ReadOnlyHashset) are now structs.
- Shapes with very small dimensions might have close to zero or zero mass/inertia. Creating rigid bodies from them now throws an exception (use body.AddShape(shape, setMassInertia: false) to not use the shape's mass properties).
- Added BeginCollide and EndCollide events per body.
Jitter 2.3.0 (2024-05-20)
- Added RigidBody.RemoveShape overload to remove multiple shapes at once.
- Marked Rigid.ClearShapes deprecated.
- Breaking Change: Use JQuaternion for orientations. Sorry for the API break.
Jitter 2.2.1 (2024-04-29)
- Add optional activate parameter to world.AddShape.
- Add NarrowPhase.SweepTest.
- EPA collision detection: various improvements.
- Improve exit condition for RayCast and PointTest.
- Remove redundant ArgumentException for zero mass shapes.
- Handle zero time steps. Throw ArgumentException for negative time steps.
- Add joint base class to joint classes.
Jitter 2.2.0 (2024-01-02)
- Breaking Change: Renamed
Raycast
toRayCast
. world.Remove(world.NullBody)
does now remove all shapes, constraints and contacts associated with NullBody.world.AddShape(shape)
respects the activation state of the associated rigid body. Most notable: performance improvement when directly addingTriangleShape
s to world.NullBody for static geometry.- Performance improvements for ConvexHullShape.
- Improved termination condition in GJKEPA collision detection.
Jitter 2.1.1 (2023-12-17)
- Fixed O(n^2) problem in
TriangleMesh
due to hash collisions. WorldBoundingBox
ofShape
is now updated even if noRigidBody
is attached.
Jitter 2.1.0 (2023-12-10)
- Added debug drawing for rigid bodies (
RigidBody.DebugDraw
). - Fixed a bug in
CalculateMassInertia
withinTransformedShape.cs
. - Improved ray casting performance and introduced
NarrowPhase.PointTest
. - Breaking Change: Inverted behavior of
BroadPhaseCollisionFilter
. - Breaking Change: Inverted definition of damping factors in
RigidBody.Damping
(0 = no damping, 1 = immediate halt). - Added
RigidBody.SetMassInertia
overload to enable setting the inverse inertia to zero. - An exception is now thrown when a body's mass is set to zero.
- Fixed a bug in the friction handling in
Contact.cs
.
Jitter 2.0.1 (2023-10-28)
- Fixed a bug in contact initialization which affected soft body physics.
Jitter 2.0.0 (2023-10-22)
Initial stable Release.