Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cyberwave.com/llms.txt

Use this file to discover all available pages before exploring further.

What is the Environment Editor?

The Environment Editor is a 3D design tool for setting up digital twins and static objects in an environment. You can arrange robots, cameras, sensors, areas, waypoints, and scene geometry before using them in simulation or workflows.

Digital Twins in Env

Robot, sensors, objects, and whole facilities

Env To Simulation

One click export to Mujoco. Simulate camera streams and sensor data.

Env From Real

Stream real data from your cameras and robots, visualize them in the environment

Key Features

The Environment Editor provides a comprehensive set of tools for creating and managing your simulation environments.

Drag & Drop Interface

Intuitive visual editor with snap-to-grid functionality

Real time collaboration

Work with your team in real time

Precise Positioning

Exact coordinate control for professional layouts

Multiple Views

Top-down, perspective, and orthographic views

Version Control

Undo/redo and environment versioning

Live Preview

Real-time physics simulation while editing

Adding Primitives

stub: The Add menu (or the + button in the editor toolbar) includes a Primitives section. Primitives are curated public catalog assets with a short alias — things like cameras, lidars, and common generic objects — that you can drop into any environment in one click.
  • Where to find them: open the 3D editor, click Add → Primitives (or the catalog icon in the sidebar) to browse the full list.
  • Why use them: primitives are the fastest way to populate an environment. Because each primitive carries a short alias (e.g. camera, lidar), you can also instantiate them programmatically without knowing the full vendor/slug registry ID:
from cyberwave import Cyberwave

cw = Cyberwave()

# Browse available primitives and their aliases
for p in cw.assets.list_primitives():
    print(p.registry_id_alias, "->", p.registry_id)

# Instantiate by alias — no catalog search needed
camera = cw.twin("camera")
lidar  = cw.twin("lidar")

Edge core connection status (Live mode)

When you are in Live mode, the right-hand panel shows an edge core status indicator:
  • Green dot: expected edge cores are currently connected.
  • Gray dot: one or more expected edge cores are not currently connected.
Hover the dot to see:
  • how many edge cores are currently connected, and
  • how many are expected for the environment.
Expected cores are derived from the unique edge fingerprints configured on twins in that environment.

Twin presence indicator (Live mode)

In Live mode, every twin that has been paired to an edge device renders a small status dot overlaid on its kind icon. The dot consumes the same edge_health heartbeat that powers the Edge Devices status panel.

States

ColorMeaning
GreenConnected — heartbeat fresh and all streams healthy
YellowDegraded — heartbeat fresh but at least one stream unhealthy
RedDisconnected — no recent heartbeat (tooltip shows last-seen age)
GrayChecking — waiting for the first heartbeat after the panel mounts

Where you see it

  • Twin editor panel (top-right, next to the twin name): a slightly larger dot for the focused twin.
  • Scene objects panel (left list, on each twin row): a small corner dot on the kind icon.
The dot is hidden in Editor and Simulate modes, on splat twins, and on twins that have never been paired to an edge device — there is nothing to present for those. Hover (or focus via keyboard) the dot for the tooltip: Connected, Degraded — 1/2 streams healthy, Disconnected — last seen 12s ago, or Checking edge connection....

Twin joint edits in edit mode

stub: In Edit mode, changing a twin joint updates the scene immediately, publishes the edit over MQTT for local feedback, and persists the joint pose on the twin so it survives refresh and reload.

Twin position quick actions

stub: In the environment editor transform panel, Center moves the selected twin or procedural object to the world origin. Below, Above, Left, and Right ask the Environment Editor to place it relative to the nearest suitable object or support using cw_transform_environment_object; floor/support placement uses snap_to_support=true.

Twin override export controls

stub: In the twin editor, Twin overrides lets you set per-twin appearance color, opacity, fixed-base behavior, and a total exported MuJoCo mass in kilograms. Cyberwave converts the total mass into proportional per-link scaling during MuJoCo export, and the editor shows an Export warning badge when the asset snapshot has incomplete inertial data that makes the export best-effort.

Reorder root twins in Scene Objects

stub: In Edit mode, the Scene Objects left pane supports drag-and-drop reordering for root twins using a grip handle. Child twins stay attached to their parent group and move with the parent when reordered.
  • Reordering is available only when edit controls are enabled and search is not active.
  • Order is saved to environment settings as twin_order, so it persists across reloads.
  • Live stream cards in the right pane now follow the same persisted twin order.

Simulate tab playground physics

stub: In Simulate → Playground, Cyberwave now applies lightweight frontend physics with gravity and basic rigid collisions. URDF twins use their <collision> geometry as collision sources when available, and a fallback collider is used when collision metadata is missing.

Start the agent from the Edit menu

stub: In the 3D editor, open Edit → Editor Agent to launch the Environment Agent. It can inspect the current environment and call Cyberwave MCP tools for supported edits.
  • The agent automatically provisions a workspace-scoped API key for the session so you can start chatting immediately.
  • The agent displays a Used tools line for each response so you can verify which MCP tools were invoked.

Workflow executions in an environment

stub: In the environment editor, open Executions → Workflow Executions to review recent workflow runs bound to the current environment.
  • The list stays compact by default and shows workflow name, status, and run time.
  • Select a run to inspect trigger data, errors, and metadata.
  • Node Executions stay collapsed behind Show more so the default view stays lightweight.

Live point cloud alignment

stub: In Live mode, depth-camera point clouds now keep the viewer’s existing camera-local basis (X lateral, Z depth) while still honoring the sensor pose and offset, so RealSense clouds stay vertically aligned in front of the sensor after refresh and axis migrations.

Clone an environment

Use File → Make a copy to duplicate the current environment.
  • The copy includes the environment and all of its twins.
  • Historical telemetry/session data is not copied.
  • Lineage references are stored in metadata for future tracking:
    • environment settings include cloned_from_environment_uuid
    • each twin metadata includes cloned_from_twin_uuid

Ready to Build?

Start creating immersive environments for your robots and unlock the full potential of simulation-based development.

Open Environment Editor

Start building your environment now

Python SDK

Control environments programmatically

Digital Twins

Learn about digital twins

Live Teleoperation

Control physical robots in real time from the environment

Workflows

Automate robot operations with visual workflows