The story

Testing a robotics algorithm usually means building everything around it first. A simulator, a robot model, a scene, a controller, a way to see what happened — days of setup before the idea you actually wanted to try gets to run once. So most algorithms are evaluated in a notebook, on a chart, or in a simulation gentle enough that they pass.

That is the part worth removing. Not the physics, and not the robot — the setup.

A simulator that lets your algorithm succeed is worse than no simulator, because you believe it.

The product

One command brings up a cell in the browser: a UR10e on a rail, a conveyor, a bin, a pallet, and a running application you can watch. The physics is real. The arm is stopped by whatever is in its way, a grasp is a constraint on the part it actually caught, and the conveyor moves the workpiece by friction.

Four things in that cell are nodes: what sees, what tracks, what plans the path, and what controls the arm. Each is one typed interface with several implementations and an empty slot for yours. Open the editor, write a grasp offset, and it compiles into a sandbox and becomes another selectable version. Then run the same application against both and compare.

Breaking it is the demonstration. Switch tracking to the snapshot version and run the moving-bin application: the arm aims where the part was and misses, in the same way it would miss on a real line. Nothing about that failure needs a rig, a safety fence, or a technician.

The engines underneath are borrowed on purpose: MuJoCo, OpenCV, Ruckig, Pinocchio. What I built is the boundary around them, the sandbox that lets a stranger’s code run beside mine, and the one wire contract that the browser, the CLI and anything else all speak.