You are the teacher. Drag to move the gripper. Tap, press GRIP or hit Space to grab what is under it, carry it, and tap again to let go.
Learning from demonstration. The arm does not record your mouse. Each time you place something it writes one line: which object, where it went (a pad, or on top of another object), and the small offsets of your grasp and placement. That ordered list is the whole program.
Repeat and shuffle. On "Teach done" the robot reads the list, looks up where things are right now, and plans its own path: approach above, descend, grasp, lift, move, place. That is why it still works when the objects and pads move.
Inverse kinematics. You only say where the hand should be. Damped least squares IK works out the six joint angles that put it there, many times a second, and respects each joint limit.
It copies mistakes too. Teach the wrong order and it will proudly repeat the wrong order. Fewer demos and fewer steps score higher.
I build this kind of thing for real robots: megazron/text-to-robot · back to my GitHub
three.js (MIT), Barlow Condensed and Share Tech Mono (OFL). No tracking, no network calls.