April 8, 2026
Major features
- Mission authoring and execution upgrade — Redesigned waypoint editing/ordering in UI, better waypoint visualization, drag-and-drop ordering, and waypoint-style in-scene transform gizmos for assets.
- Mission capture persistence + workflow integration — Capture state and media now persist across backend, edge, and frontend; mission captures are surfaced in UI and connected to workflow attachment processing.
- Primitives as a first-class concept — New public endpoint
GET /api/v1/assets/primitives, SDK access, MCP tooling, and docs updates for environment editing. - Alert categories (business vs technical) — Backend model/schema/migration/API updates, MQTT payload inclusion, Python SDK support, and docs update.
- MQTT contract documentation expansion — Major rewrite of MQTT topic/payload reference with cross-linking from driver docs.
- GO2 runtime pipeline restoration — End-to-end real-robot path and navigation timestamp handling updates under the new structure.
SDK updates
- Python SDK — Added
AssetManager.list_primitives()/cw.assets.list_primitives()for alias-based primitive discovery (e.g. camera, lidar) with README usage examples. - Python SDK alerts — Category support added to alert create/update flows, aligned with backend alert categories.
- C++ SDK — Core/runtime parity and route fixes, build/install/guard improvements, and README/docs refresh.
Frontend improvements
- Consistent “Add” menus — Environment header and twin-list menus now share aligned items, icons, and action wiring.
- Controller selection UX — Dedicated-first ordering, “See all” for universal controllers, and clearer “Unassign Controller” language/styling.
- Replay timeline fix — Resolved previously unclickable areas in the timeline.
Major features
- 3D editing keeps physics active for GLB and URDF twins — In the production release commit (
2fc6edb0), bothGLBAssetandURDFAssetwere updated so Rapier rigid bodies remain mounted while edit gizmos are shown, instead of disabling physics during transforms. - Safer pickability while gizmos are visible —
setObjectTreePickable(...)logic was tightened in both asset renderers so object picking is disabled when transform gizmos are active, reducing accidental scene interaction conflicts. - Editor-mode-only transform controls in the main viewer —
EnvironmentViewer3Dnow gatesisEditingandtransformModewithisEditorMode, preventing edit controls from appearing in non-editor contexts. - Scope note (evidence-based) — This release commit touched frontend 3D components and tests only; there were no backend or public docs changes in the shipped diff.
Frontend improvements
- More predictable gizmo visibility outside editor mode — New tests assert that selected GLB/URDF twins in simulate mode receive
isEditing: falseandtransformMode: undefined, keeping gizmos hidden when users are not in editor mode. - Regression coverage for fixed-base physics in edit flows — New GLB and URDF tests verify fixed-body Rapier behavior remains active while PivotControls are visible, improving confidence in editing + physics coexistence.