MarginallyClever / Robot-Overlord-App

Simulation and control software for robots
https://www.marginallyclever.com/
GNU General Public License v2.0
157 stars 48 forks source link

NodePath is fragile #249

Closed i-make-robots closed 5 months ago

i-make-robots commented 5 months ago

Describe the bug

To Reproduce Steps to reproduce the behavior:

  1. Load a Limb.
  2. Add a pose Path and a pose target under Path.
  3. Copy target and paste it to Path a few times.
  4. Prepare a LimbSolver for Limb.
  5. Pin the LimbSolver.
  6. Drag any of the target nodes to the LimbSolver Detail target.
  7. Regardless of which one is selected, PathNode can only find the first child. The symptom is that LimbSolver only moves to the first child's Pose.

Expected behavior NodePath remembers the correct unique item. LimbSolver correctly moves the the appropriate target.

Screenshots image

Platform (please complete the following information):

Additional context NodePath was introduced to fix #212. Which it did! ... but not well.