Skip to content

Edges on boards

Edges are the lines you draw between nodes to show how they relate. Every edge can have its own type, color, thickness, arrows on either end, and a styled text label — all configurable from a glassmorphic toolbar that appears next to the selected edge or from the right-rail inspector.

An edge selected on a board, with the floating edge toolbar above it and several typed, labelled connections between character nodes

  1. Click a node to select it. Its connection anchors fade in around the edges of the node.
  2. Click and drag from any anchor outwards. A live preview line follows your cursor.
  3. Drop on another node:
    • On one of that node’s anchors → the edge pins to that anchor. The endpoint stays in that exact spot as nodes move.
    • Anywhere else on the node’s body → the edge floats on that node. The endpoint dynamically picks the closest side as either node moves around — you get the smartest line every time.

Click any edge to select it. A compact glassmorphic toolbar appears at the top of the viewport with a popover-backed control for each property:

Trigger What it controls
Aa / type icon Label — text input + label styling
Edge-type icon Bezier, smooth-step, step, or straight
Line-style icon Solid / dashed / dotted + line width
Color swatch Edge stroke color (or “reset to theme”)
Start arrow icon None / open arrow / filled arrow on the start
Swap the start and end arrows
End arrow icon None / open arrow / filled arrow on the end
Close the toolbar

Each trigger reflects the current value — without opening the submenu you can read the edge type, line style, color, and which arrow is on each end at a glance. The trigger gets an indigo highlight while its popover is open.

Hover any button for a tooltip describing what it does.

When an edge is selected, the right-rail inspector body shows the same controls but expanded inline — no popovers, with section headers, so you can see every setting at once. Use the toolbar for quick changes on the canvas; use the inspector when you want a deeper look or are fine-tuning multiple settings at once.

The two surfaces are perfectly in sync — every change goes through the same store, so the toolbar updates as you edit in the inspector and vice versa.

Pick the geometry of the line:

  • Bezier (default) — smooth curve. Best for organic, free-form diagrams.
  • Smooth step — rounded right-angle path. Good for technical diagrams.
  • Step — sharp right-angle path. Same shape as smooth step but unrounded corners.
  • Straight — a single straight line.

The label flow (“follow curve”, below) only really makes sense with bezier or smooth-step edges; on a straight edge the curve and horizontal modes look identical.

Two settings, both inside the Stroke submenu:

  • Line style — solid / dashed / dotted.
  • Width — slider from 1px to 8px in half-pixel steps. The current value is shown to the right of the slider.

Default width is 2.5px so the line is readable on either theme. You can always override it per edge.

Open the Color submenu for a full color picker (hex input + hue slider + common colors).

By default, edges use a theme-aware color: black on light theme, white on dark theme. Click Reset to theme in the color submenu to clear a custom color and fall back to that default.

Each end of the edge can have:

  • None — no arrow head.
  • Open arrow — an outlined arrow head.
  • Filled arrow — a solid arrow head.

The swap button (⇄) between the two arrow triggers exchanges the start and end arrows in a single click — useful when you’ve drawn an edge in the wrong direction and just want to flip the arrowhead.

Open the Label submenu (the Aa trigger) to add a text label. The submenu has three rows:

A simple input. Type the label text and press Enter to commit (or Escape to cancel). Empty input clears the label.

  • FlowHorizontal keeps the label as a chip at the midpoint of the edge. Follow edge curve renders the text along the path itself.
  • Color — color picker for the label text.
  • Pill / no background — toggle the rounded background chip on or off. Hidden in curve mode (curved labels are always plain text on the path).
  • Bold / Italic / Underline — toggle each on or off.
  • Font size — slider from 8px to 28px with the current value displayed.

The label is rendered as a chip at the edge midpoint. Two background options:

  • Pill — a rounded gray chip. The chip covers the line behind the text so the label is always readable.
  • No background — plain text. The edge line is masked with a transparent cutout behind the label, so the line doesn’t show through the text — even on a transparent canvas. The label looks like it’s sitting in a “gap” in the line.

The label text follows the path itself, character by character, like text on a road sign. Bold/italic/underline/size/color all still apply.

The label automatically flips to stay readable: if the edge runs right-to-left and the text would otherwise read upside down, it re-renders along a reversed path so it’s always upright. Drag the source node past the target and watch the label flip live.

  • Click the line of an edge to select it. The toolbar appears, the edge gets a subtle indigo highlight, and the right-rail inspector switches to the edge view.
  • Click the label text of a selected edge to edit it inline (works for both horizontal and curve labels — the input pops up horizontally during edit either way).
  • Click empty canvas to deselect. The toolbar closes.

On a busy board, connections start crossing nodes and each other. You can pin an edge so it goes exactly where you want it.

  1. Double-click the line at the point you want it to bend. A small dot appears there and the edge routes through it.

  2. Drag the dot to move the bend. It snaps flush when it lines up with the points either side of it, so runs come out square rather than nearly square.

  3. Add more bends by double-clicking the line again. A new bend inserts itself in the right place along the route, not on the end.

  4. Remove a bend by double-clicking the dot, or by clicking it once and pressing Delete.

Right-clicking a connection offers the same things — Add a bend here, Tidy this connection, and Remove bends — which is how you reach them on a touchscreen, where there is no double-click.

Tidy this connection (right-click an edge) works out a route around whatever the line currently crosses and places the bends for you. If it can’t find a clean route it leaves the edge alone rather than making it worse.

To do the whole board at once, open Tidy in the toolbar and choose Tidy connections. It routes every connection that needs it, as a single undo step — and it leaves any bend you placed by hand exactly where you put it, telling you how many it kept.

Floating endpoints follow the smartest path

Drop your edge on a node’s body (not on a specific anchor) and the endpoint will recompute the closest side every time either node moves. Great for free-form diagrams where you don’t care which side the connection ties to.

Mix and match

Source can be pinned to a specific anchor and target can float, or vice versa. Just drop the source on an anchor and the target on a body.

Theme-aware defaults

Don’t bother setting a color unless you need a specific one — the default already flips between black and white per theme.

Horizontal labels read in any orientation

Horizontal flow keeps the label upright no matter how the edge runs. If you don’t need the text to follow the path, leave it on horizontal — it’s almost always more readable.

Every edge change is undoable. Add an arrow, switch the type, drag the width slider, recolor the label — Cmd/Ctrl + Z reverses each step and Cmd/Ctrl + Shift + Z redoes them. See Undo and redo for the full picture.