app/page.js defaults to the 3D simulation workspace. Press Escape to open the app menu and switch to scripting or the environment editor.
Make sure the scenario XML exists under public/scenarios/ and that code references it with a browser path starting with /scenarios/.
See Assets.
app/3d/managers/ClientManager.js first tries http://localhost:8090/api/types. If the orchestrator is not running, it logs a warning and falls back to message files under public/messages/.
Start the orchestrator with:
cd /your/path/to/orchestrator
source .venv/bin/activate
python main.pyCheck that the orchestrator WebSocket is available on ws://localhost:8080. For ROS 2-backed topics, also check that the orchestrator was started with ROS_ENABLED=true inside the right ROS 2 environment.
Common causes:
- Required inputs are not connected.
- Output and input port types do not match.
- Program input or output labels are duplicated.
- A block was added to
UnitCatalog.jsbut not registered inregisterBuiltInBlocks.js. - A dynamic port changed type and existing connections were removed.
See Scripting Troubleshooting.
Compiled artifacts must have kind: "cev-sim.visual-script.program" and version: 2. The runtime also requires every block type in the artifact to be registered before import or run.
See Artifact Schema v2.
Deletion support exists in the current UI, but it is still a high-risk path compared with creating and connecting blocks. If graph state looks inconsistent, refresh and rebuild the small section of the graph.
Set NEXT_PUBLIC_GOOGLE_MAPS_API_KEY in .env.local and restart the dev server. The key needs Map Tiles API access. Placeholder values are ignored.
See Earth Import for more cases (Overpass timeouts, preview vs apply, scene isolation).