dart icon indicating copy to clipboard operation
dart copied to clipboard

Fix joint impulse statefulness

Open jslee02 opened this issue 3 weeks ago • 1 comments

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, and mConstraintImpulses to dart::dynamics::detail::GenericJointState and 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 pixi install location (avoids intermittent pixi: command not found / exit 127 on some runners).

Related: #1086.

jslee02 avatar Dec 13 '25 16:12 jslee02