The World Builder

UI reference for the World Builder screen: the tabs, the object panel, the viewport, the transform panel, and the arm controls.

World Builder is where you assemble the scene a workflow runs in. You place objects, set where they sit, and save the result as a named world. Open it from the Build World tile on Home or the World Builder entry in the sidebar.

This page is a tour of the screen. For how to plan a scene and what makes a good one, read Building a world. For the shape of the file a save produces, read The world state file.

The tabs

The screen title is World Builder, and under it sit two tabs.

TabWhat it holds
Create in SimThe three-column editor. This is the tab you land on.
Saved WorldsCards for every world already saved in this project.

A third tab, Create with Camera, exists in the app's source but its button is commented out, so there is no way to reach it from the interface. Ignore any older material that describes it.

Create in Sim

Three columns: the object panel on the left, the viewport in the middle, the transform panel on the right. All three are full-height and scroll independently.

Add Objects (left column, top)

A heading reading Add Objects, then:

  • A dropdown whose placeholder is Select object.... It lists the object types available to this project, and it preselects the first one when the list loads. The catalogue behind it is the Object Database.
  • Add to Scene, which drops one instance of the selected type into the scene at a default pose. Click it again for a second instance.

Errors from a save attempt appear as red text under these controls.

🔒

Add + Localize is not rendered in the cloud. On a local install attached to a rig, a second button under Add to Scene starts a tag-localization session: it puts the arms into freedrive, you hand-guide a camera arm and press Take Snap from several angles, then Localize solves for the object's real pose and Place puts it in the scene at that pose. The cloud has no rig to point a camera with, so the button is left out entirely.

Scene Objects (left column, bottom)

The heading is Scene Objects (n), where n is the live count. Below it is one row per object currently in the scene.

Each row shows the object's display name, and under it either index: <value> or no index if none is set. Hovering a row reveals two icon buttons on the right:

  • The pencil, tooltip Edit name / index. It swaps the row for two fields: a name box, and a second box labelled Index (optional). A green tick (Save) commits both, an X (Cancel) discards them.
  • The bin, tooltip Remove. It takes the object out of the scene at once. There is no confirmation step.

While the list is loading you see Loading objects.... When the scene is empty you see a box icon and No objects in scene.

The index is how a workflow step distinguishes one instance from another when several objects share a type. See Building a world.

World Editor (centre column)

The panel heading is World Editor. To its right is a single button that reads Hide Gizmos when the drag handles are on and Show Gizmos when they are off. Gizmos are the arrows and rings drawn on objects in the 3D view that let you drag a pose instead of typing one.

Below that is the live 3D view of the simulated scene. It is the same embedded viewport used elsewhere in the app, and its own mouse controls are described in The 3D viewport. This viewport is always the simulator view, including when a localization session is running on a local install.

Two buttons sit under the viewport:

  • Save World, which opens the save dialog described below.
  • Reset, which clears every object out of the scene and reloads the list. It does not touch worlds you have already saved.

Object Transform (right column)

The panel header reads Object Transform, with a switch labelled Advanced on the same line. With Advanced off, the column holds one card.

The card is titled Transform Controls:

ControlNotes
Select ObjectSearchable dropdown over the objects in the scene. Placeholder Choose object..., search box Search objects..., empty result No objects found.
X, Y, ZPosition, in metres. Number fields stepping by 0.001.
Roll, Pitch, YawOrientation, in radians. Same 0.001 step.
Load Current PoseReads the object's pose back out of the scene and fills all six fields with it, to three decimals.
Update TransformWrites the six fields to the object.

Picking an object in Select Object loads its pose for you, so Load Current Pose is mostly for pulling values back after you have dragged the object with a gizmo.

Both buttons are disabled until an object is selected.

What the Advanced switch reveals

Turning Advanced on adds three things under the transform card: a Left Arm panel, a Right Arm panel, and a two-tab strip.

The arm panels

One card per arm, headed Left Arm and Right Arm. These drive the arm in the scene you are connected to, which in the cloud is the simulator.

Before you have a plan, the card shows:

  • Plan to Target, which computes a trajectory to wherever that arm's target gizmo currently sits in the viewport, without moving anything.
  • Move to Target, which commands the arm straight to that target.

Once a plan exists, those two are replaced by:

  • Preview Trajectory, which animates the planned path. While a preview is running the same button reads Stop Preview.
  • Execute Plan, which runs the planned trajectory.
  • Cancel Plan, which throws the plan away.

Under those, always visible, is Gripper Opening (m) with the current value in the label. It has a number box and a slider, both spanning 0 to 0.1 metres in steps of 0.001. Changing either commands the gripper immediately.

Inside each arm card is a collapsible section headed Advanced Controls:

ControlWhat it takes
Control TCP Pose [x, y, z, roll, pitch, yaw]A six-number list typed in brackets, for example [0.4, -0.3, 0.3, 0.0, 0.0, 0.0]. Apply TCP moves that arm's target gizmo to the pose. Anything that is not a six-element list is ignored.
Control Joint Angles [j1, j2, j3, j4, j5, j6]Six joint angles in the same bracketed form. Apply Joints moves the gizmo to the resulting pose.
Cartesian Speed (mm/s)10 to 500, used by Move to Target.
Max Speed (mm/s, 0=no limit)0 to 500, used when planning.
Duration (s, 0=auto)0 to 10, used when planning. Leave at 0 to let the planner choose.

This pairing of arm panel and pose readout is the practical way to discover a pose you want to hard-code in a skill: drive the arm where you want it, then read the numbers out of Dev Tools below.

⚠️

Move to Target and Execute Plan command motion. Nothing on this screen tells you whether a physical arm is clear to move, powered, or in the state you think it is in. See Running a workflow on real hardware before you drive anything that is not the simulator.

Object Controls tab

Holds one card, Object Attachment, which acts on the object currently chosen in Select Object above:

  • Arm, a dropdown offering Left Arm and Right Arm.
  • Link, a dropdown whose only option is TCP.
  • Attach, which parents the object to that arm so it rides along with the motion, and Detach, which releases it.

Both buttons are disabled until an object is selected.

World Controller tab

Three collapsible cards, all open by default.

World Settings carries a World dropdown, a Voxel Size slider (0.001 to 0.1), a Voxel Display dropdown offering Blox Only and Blox + Objects, a Show Meshes switch, and the buttons Refresh Voxels and Clear. The World dropdown is worth calling out: it holds a fixed list of preset names and records your choice in the panel only. It does not load or switch the scene. Use the Saved Worlds tab for that.

Camera Controls holds a Left Camera and a Right Camera block. Each has Capture, Fuse and Save buttons, a Display Mode dropdown (None, Filtered Final, Original, Filtered Robot, Filtered Objects, Filtered workspace, Filtered end_effector), an Image Mode dropdown (RGB, Depth), and a Point Size (m) slider. These act on depth camera feeds from a physical rig, so in the cloud there is nothing behind them.

Dev Tools is the readout. Its header has a Refresh button and an Auto switch that re-reads once a second while it is on. Expanded, it shows four boxes: Left Arm TCP Pose, Left Arm Joint Pose, Right Arm TCP Pose, Right Arm Joint Pose. Those are the numbers to copy when you are pinning down a pose.

Save World and its dialog

Save World opens a dialog titled Save World, with the note "Give your world a name and optional description. Timestamp will be added automatically."

FieldNotes
World Name *Required. Placeholder e.g., Chemistry Lab Setup.
Description (Optional)Free text, three rows. Placeholder Add notes about this world setup...

The footer has Cancel and Save World. The save button stays disabled until the name has content, and reads Saving… while it works. A save writes the scene to your project and then pushes it to the cloud copy, and success is only reported once that push lands, so a green message means the world will still be there on a fresh session. Failures at either step show as a red message inside the dialog.

ℹ️

Some projects are supplied read-only. In one of those, Add to Scene, the row Remove button, and Save World are all disabled. Copy the project or start your own to make changes.

Saved Worlds

The tab opens with the line "Load a saved world into the editor as a starting point." and a Refresh button on the right. The list reloads whenever you switch to this tab.

Each world is a card showing:

  • The world name.
  • Its description, or a grey No description.
  • An object count, as N objects.
  • The creation date and time, in your local format.
  • A small badge reading either Created manually or From execution, depending on whether the world was saved from this editor or captured from a run.

The card's one button is Load into Editor. It reads Loading... while it works, replaces the current scene contents with that world, and switches you back to the Create in Sim tab. Anything unsaved in the editor is lost, so save first if you want to keep it.

With no saved worlds you get a box icon, No saved worlds yet. and Create and save a world from the editor to see it here.


Did this page help you?