dart
dart copied to clipboard
Fix joint impulse statefulness
Fixes part of #1089 by moving GenericJoint impulse-related members into the joint Aspect State so they are captured/restored by dart::dynamics::Skeleton::getState() / setState().
- Adds
mVelocityChanges,mImpulses, andmConstraintImpulsestodart::dynamics::detail::GenericJointStateand updates GenericJoint/FreeJoint to use them. - Makes
dart::simulation::World::reset()clear constraint impulses so stale constraint forces don't leak across independent runs. - Adds regression tests in
tests/integration/dynamics/test_SkeletonState.cpp. - Updates GitHub CI workflows to pin the
pixiinstall location (avoids intermittentpixi: command not found/ exit 127 on some runners).
Related: #1086.