Maul2D v1.1.0
Maul2D 1.1.0
Chains become first-class: m2CreateChain returns m2ChainId (breaking
change vs 1.0.0: the segment count moved to m2Chain_GetSegmentCount),
m2DestroyChain removes a whole run by handle, slots retire with
generation bumps, chains die with their body.
Destroy-path wake law: destroying a body, shape, or chain wakes
whatever was resting on it. Sleepers no longer float on a memory.
Joint reaction getters: m2Joint_GetReactionForce/Torque return the
exact numbers the break pass compares, from one shared computation.
Snapshot v19, journal wire v14 (op 24). Red-team round 7 passed:
rollback resurrects chains bit-exactly, lifecycle journals replay
onto identical hashes, restored reaction readings match to the bit.