Skip to content

OpenSCENARIO editor — visual, browser-based scenario authoring

drawtonomy is, first and foremost, a free browser-based whiteboard for driving scenarios. Because vehicles, paths, and trigger zones are first-class shapes alongside lanes, the same canvas also works as a free, browser-based OpenSCENARIO editor: draw the scene visually, then export ASAM OpenSCENARIO 1.3 .xosc together with the OpenDRIVE .xodr it runs on, bundled as an esmini-ready zip you can play immediately.

Sketch a scene, then export an esmini-ready zip with .xosc + .xodr + run.sh.

How it compares to other scenario authoring tools

Section titled “How it compares to other scenario authoring tools”
  • esmini — the reference OpenSCENARIO player and runtime, with a rich command-line and library API. drawtonomy exports scenarios that esmini plays.
  • MathWorks RoadRunner Scenario — a scenario-authoring add-on for RoadRunner. Commercial.
  • Cognata / Foretellix Foretify — enterprise scenario platforms. Commercial.
  • scenariogeneration / py-scenariogeneration — Python libraries for generating .xodr + .xosc programmatically.

drawtonomy is the browser-based, visual, free option. It is not trying to replace esmini at runtime or RoadRunner Scenario at scale — it is the whiteboard you reach for before those.

  • You want to sketch an ADAS test scenario (cut-in, lane change, unprotected left, lead-vehicle braking, pedestrian crossing, roundabout entry) and hand the result to an OpenSCENARIO runtime.
  • You want to review a scenario visually with a stakeholder who doesn’t read OSC XML.
  • You need to draw the figure for a paper, slide, or design review and keep it executable later.
  • You want to go from sketch to esmini-ready zip in one export.

If you need parameter sweeps, fuzzing, or regression-grade test generation at scale, use scenariogeneration or a commercial scenario platform.

Hand-writing OpenSCENARIO XML for a small scenario is fine. Sketching it visually first can save time on the layout — the lane network, the participant placement, the rough trajectories — before you sit down to write the rest of the XML.

drawtonomy is built for that sketch step. It is not a production scenario authoring tool.

  • A .drawtonomy.svg source you can re-edit later (good for figures and variants).
  • An exported .xosc + .xodr + run.sh zip you can play in esmini for a simple version of the scene.
  • A baseline you can hand-edit further.
  • A scenario with conditional triggers, parameter sweeps, custom controllers, or dense traffic flows. drawtonomy doesn’t express those.
  • Full coverage of the OpenSCENARIO 1.3 spec. Only a subset is in the exporter.
  • A scenario that’s ready to ship into a regression suite without further work.

Treat the export as a starting point. Layouts come out of the sketch step quickly; logic still belongs in XML or in code.

  1. Sketch the road network. Lane Tool, Intersection Templates, Crosswalk shapes.
  2. Place participants. Ego on a specific lane, other entities at known longitudinal offsets.
  3. Indicate intent. Path arrows show what you mean each entity to do. Treat them as visual notes for yourself, not as full trigger definitions.
  4. Export the esmini bundle and play it. Confirm the layout looks right.
  5. Open the .xosc in a text editor and add the things drawtonomy doesn’t express — triggers, parameter declarations, custom storyboards, anything beyond simple paths.
  • Tiny one-shot scenario — just write the XML directly.
  • Scenario fleets — generate from a DSL, not from a canvas.
  • High-fidelity HD maps — use a dedicated HD-map tool.