- Bumped dependencies
- Add a null-implementation for
joints
toContact
, sofind-by
works onContact
instances
- Added two-arity version of
apply-impulse!
, defaults towake? false
- Implement
joints
for body instances. This returnsnil
, since joints are part of the world, but it allows code to recurse safely by callingbodies
andjoints
on various entities
- Make return type tags in protocols fully qualified, Clojure seems to like that better
- Fix PrismaticJointDef creation, some vector fields are final, we can only mutate the existing instance
- Wrap
destroy
in a mutex, to allow for rendering of a consistent world view - Prevent exceptions in the Clojure2D renderer when the world is being changed underneath it
- Fix 2-arity circle shape constructor
- When adding bodies/joints that have an
:id
, remove any bodies/joints with the same:id
. This is to ensure uniqueness, but also makes for a nicer REPL experience - When converting to edn (IValue), include :joints for world, and omit default values for body
- Clojure2d support
math/vec-mul
, and shorter math aliases (v+
,v*
,m*
, etc)
- Breaking! Return maps from
raycast-seq
, rather than fixtures, allow setting raycast-callback return value to set filtering behavior.
- Rewrite to a single :require form to appease cljdoc
- Fix cljdoc build
- Fix platformer demo, load images from resources (jar) instead of filesystem
- Switch to Quil 4 snapshot
- First release, with jBox2D (clj) and Planck.js (cljs) support