If I recall correctly no one managed to replicate your results? I think this indicates something in your setup, either some world settings, which isn't likely, or more likely you have some fixture/convex that is special somehow. Just tossing ideas here but maybe some degenerate convex, like 0 area o...

Allocation free methods are great and I think users of Dyn4J would benefit from them. One thing I learned form looking at other libraries that work hard to avoid allocations (like JOML, jMonkeyEngine et.c) is that on the one hand you want immutable value holders and on the other hand you want to avo...

I too would like to reproduce this and find the bottleneck, it would be really helpful if you could provide a test to illustrate this. Maybe it is a use-case that can be optimized in many ways but it is impossible to tell.

Seems like fixture created by Geometry.createRectangle behaves like Geometry.createCircle. https://github.com/wnbittle/dyn4j/blob/master/src/org/dyn4j/geometry/Geometry.java#L589 There must be something else going on. It would be really helpful if you could put together a junit-test or a simple app...

It seems better to keep the physics separate from other concerns and not bolt everything into the dyn4j-jar. On the other hand it would be great if all the java libraries could converge on the same set of 2D/3D-primitives. It gets pretty tiresome to convert one vector2d to another librarys vector2d....

the world gravity is just a 'global' force that is applied to everything. Think platformer games where you always fall down because gravity. To model planets and such you will have to calculate the effect of gravity yourself and apply it to the bodies between every step of the simulation. One way to...