Real physics, in a world file.
Bodies, robots, joints and policies are declared in a world.tsx. The engine steps it 240 times a second, and records every frame and every command.

Case study · one arm, one cube
Six deliveries in a minute, 31 times faster than real time.
The world ships with the workbench: an SO-101 arm, a bench, two pads and a 25 mm cube. Its pick-and-place policy moves the cube from pad to pad and back. The study stepped it for 60 simulated seconds and found where the cube came to rest.
- physics steps, 240 a second
- 14,400
- deliveries, the first at 7.6 s, then one every 9.4 to 9.7 s
- 6
- policy commands, 20 a second
- 999
- of this computer's time for the 60 s, 31× real time
- 1.9 s
Simulated
Without drags the cube moves between pad A at −90 mm and pad B at +100 mm six times. With four drags (at 12, 24, 36 and 48 s) it goes back to a pad twice; after the drags at 24 and 48 s it stays where it was dropped, at +131 and −140 mm.
Angkanya
| Simulated time (s) | No drags | Four drags |
|---|---|---|
| 0 | -90 mm | -90 mm |
| 2 | -90 mm | -90 mm |
| 4 | -90 mm | -90 mm |
| 6 | 77 mm | 77 mm |
| 8 | 100 mm | 100 mm |
| 10 | 100 mm | 100 mm |
| 12 | 100 mm | 28 mm |
| 14 | 101 mm | -142 mm |
| 16 | -91 mm | -155 mm |
| 18 | -90 mm | -156 mm |
| 20 | -90 mm | -89 mm |
| 22 | -90 mm | -90 mm |
| 24 | -90 mm | -17 mm |
| 26 | 101 mm | 131 mm |
| 28 | 100 mm | 131 mm |
| 30 | 100 mm | 131 mm |
| 32 | 100 mm | 131 mm |
| 34 | 44 mm | 131 mm |
| 36 | -90 mm | 97 mm |
| 38 | -90 mm | 29 mm |
| 40 | -90 mm | 30 mm |
| 42 | -90 mm | 88 mm |
| 44 | 61 mm | 100 mm |
| 46 | 100 mm | 100 mm |
| 48 | 100 mm | 22 mm |
| 50 | 100 mm | -140 mm |
| 52 | 102 mm | -140 mm |
| 54 | -89 mm | -140 mm |
| 56 | -90 mm | -140 mm |
| 58 | -90 mm | -140 mm |
cloud://global/worlds/so101-cube/world.tsxOutput case-studies/physics-worlds/stats.jsonTool scripts/sites/case-studies.mjs physics-worlds (sim-engine.js, Rapier)Ran on This computer (dell-gb10-1, 20 cores)When The same minute, with drags
Drag the cube away: the policy went back twice in four.
A drag is a command like any other: grab the cube, pull it for 0.4 s, let go. The study dragged it four times to points on the bench. After the drags at 12 and 36 s, the policy took the cube to a pad again. After the drags at 24 and 48 s, it did not go back in the 12 s that followed. That is the kind of finding a world is for, before a real arm is involved.
Simulated
- drags, each recorded as a grab and a release
- 4
- recovered: deliveries at 20.7 and 43.7 s
- 2 of 4
- deliveries in the minute, against 6 without drags
- 3
- commands refused by the engine
- 0
cloud://global/worlds/so101-cube/world.tsxOutput case-studies/physics-worlds/stats.jsonTool scripts/sites/case-studies.mjs physics-worldsRan on This computer (dell-gb10-1)When Put your robot in a world.
Describe a scene in a world.tsx, or ask an agent to write one. Step it, drag it, and every step is on the record.