Write the room. Then work it.
Real Python, in your browser, against the same simulator the studio runs. One cell builds a room out of a sentence, the next reads what is in it, the next sets the robot to work — and the room stays as the last cell left it, robot and all.
What you can write
room.build(sentence) · room.add(kind, x, y) · room.empty(w, d, h) · room.objects(kind) · room.nearest(kind) · room.corners() · room.width · room.depth · room.entrance
robot.move_to(thing) · robot.pick(thing) · robot.place(x, y) · robot.bring(thing, place) · robot.turn(deg) · robot.say(text) · robot.takeoff(h) · robot.gesture(name) · use_robot(id) · robots() · kinds()
The first run fetches Python itself — about 6 MB, once, then it is cached. Everything after that is instant, and nothing you write leaves the browser.
A kinematic preview: routes, reach and carrying are rule-based, and nothing falls or collides with force.