Flowchart Editor (Center)

The main workspace for building missions visually. Each mission is represented as a flowchart of connected step nodes. Switch to it by clicking the Flow tab in the center panel tab bar.

How it works

The flowchart is a visual representation of the Python code that will run on the robot. Each node is one step call; connections between nodes represent execution order (sequential by default). When you save the flowchart, the IDE backend’s code generator (MissionCodeGenerator) converts the node graph into a Python class with a sequence() method containing the matching seq() / parallel() call tree.

flowchart LR
    Node1["drive_forward\n(cm=30)"]
    Node2["turn_to_heading_right\n(deg=90)"]
    Node3["line_follow_single\n(sensor=front)"]

    Node1 --> Node2 --> Node3

This flowchart generates Python roughly equivalent to:

def sequence(self) -> Sequential:
    return seq([
        drive_forward(cm=30),
        turn_to_heading_right(deg=90),
        line_follow_single(sensor=Defs.front_sensor).until(on_black(Defs.front_sensor)),
    ])

Parallel branches are represented by two or more nodes that share the same incoming connection — they become a parallel([seq([...]), seq([...])]) call in Python.

Important: The flowchart and the Python file share the same source. If you edit the Python directly in the Code tab and then save the flowchart, your manual Python edits are overwritten. Treat flowchart saves as the authoritative update path.

Flowchart editor with SetupMission

Nodes represent steps (e.g. calibrate, drive_forward, wait_for_button). Each node shows its step name and any editable arguments inline.

Connections show execution order — arrows flow top-to-bottom in vertical layout, or left-to-right in horizontal layout.

Editing

ActionHow
Add a stepDrag from the Step Library (right panel) onto the canvas, or double-click an empty connection line
Connect stepsDrag from the output dot of one node to the input dot of another
Edit argumentsClick an argument field directly on the node
Select multipleClick-and-drag a selection rectangle on the canvas
DeleteSelect one or more nodes and press Delete or Backspace
NavigateArrow keys to move focus between connected nodes

Keyboard shortcuts

ShortcutAction
Ctrl+Z / Cmd+ZUndo
Ctrl+Shift+Z / Ctrl+Y / Cmd+Shift+ZRedo
Ctrl+S / Cmd+SSave the flowchart immediately
Ctrl+K / Cmd+KOpen Settings modal with the Keybindings tab active
Delete / BackspaceDelete selected node(s)
EscapeDeselect / cancel current operation

Flowchart toolbar (inline save indicator)

The flowchart component has a minimal inline toolbar — its only visible element is a save-status indicator:

  • A spinning icon while saving
  • A check icon briefly after a successful save
  • No icon when idle

All other controls have moved to the global navbar and the tool stripes.

Where the controls actually live

Controls that appear in the flowchart docs (older tutorials) but live elsewhere in the current UI:

ControlWhere it actually is
⚙ Settings (gear icon)Global navbar — far left of the flowchart tools section
🕐 Timestamps toggleGlobal navbar — clock icon, next to Settings
↩ Undo / ↪ RedoGlobal navbar — undo/redo icon buttons
▶ Run / ■ StopGlobal navbar — green Run button (right side)
🐛 DebugGlobal navbar — bug icon next to Run
Run target selectorGlobal navbar — chip dropdown left of the Run button
Logs / Table / Arm panel togglesLeft tool stripe (bottom section)
Steps / Docs / Robot panel togglesRight tool stripe

The legacy Sim toggle (previously in the toolbar) is hidden and never shown. Run mode is controlled entirely by the run-target dropdown in the navbar.

Orientation and auto layout

The flowchart orientation (vertical vs horizontal) and auto-layout setting are controlled from Settings → Project tab (⚙ gear in the navbar). Vertical is the default.

Timestamps

When timestamps are enabled (clock icon in the navbar), each node shows the duration and elapsed time from the last run below its step name. Toggle with the clock icon or Ctrl+K opens settings for keybindings (not timestamps).

Timing Panel

After a run completes, a Timing Panel overlay appears inside the flowchart canvas. It shows per-step durations as a list and optionally as a chart. The panel can be dragged to any position within the flowchart area. It is the only genuinely floating element remaining in the flowchart view.


Cross-references