OptionalanchorAttachment point in bodyA's local frame. Defaults to its origin.
OptionalanchorAttachment point in bodyB's local frame. Defaults to its origin.
First constrained body. Must differ from JointDescriptorBase.bodyB.
Second constrained body.
OptionalbreakReaction force, in newtons, above which the joint breaks (§28 "break force"). Omitted means the joint never breaks under load.
Enforced by PhysicsWorld, not by the solver (plan P6-2): the world reads
the joint's reaction impulse after every fixed step, divides by the step
delta, and destroys the joint when the magnitude exceeds this value —
strictly, so a joint sitting exactly at its threshold survives. Requires an
adapter that reports reactions (SolverJointAccess.reportsJointReactions);
addJoint refuses a breakable joint on an adapter that does not, rather
than accepting a threshold it can never enforce.
OptionalbreakReaction torque, in newton-metres, above which the joint breaks (§28 "break torque"). See JointDescriptorBase.breakForce; either threshold alone is enough to break the joint.
OptionalcollisionWhether the two jointed bodies still collide with each other (§28
"collision enable/disable"). Defaults to false, the usual choice for
bodies that overlap by construction.
What every joint descriptor carries, whatever its type (§28, §37).
Anchor space (decision, WP-6.1 — pinned)
anchorAandanchorBare in the local frame of their own body, which is what §37's original descriptor already said and what every solver wants (Rapier'sJointData.*anchors are body-local). The user-facing Joint constructors take world-space anchors, because that is where §28's example puts them — the point in the scene where the hinge pin goes — andPhysicsWorld.addJointconverts world to local once, at registration, from each body's pose as the solver holds it at that moment. After that, Joint.setAnchors and the field setters are body-local (PH-22f) and push throughSolverJointAccess.setJointAnchors. Descriptors stay pose-independent and replayable (§34).An omitted anchor means the body's own origin.