Skip to Content
GraphAdding on the canvas

Adding on the canvas

A node: double-click

Double-click empty canvas and a composer card appears where you clicked:

  1. Type chips: every node type, the last one you used preselected.
  2. The title field, named after the type’s title property (or a chip picker when the title is an Enum). A type with no title has no name field.
  3. The type’s other properties, each with its editor; they scroll once the card would get tall.
  4. Cancel and Add.

Return adds from any field (in a long-text field it makes a new line; ⌘Return adds), Esc cancels. Add is disabled until the name reads as the title’s kind: anything for Text, a number for a Number title, a link for a Link title, one of the options for an Enum title. The new node is pinned where you clicked and selected.

A new node left blank for a property with a default gets the default.

A connection: drag from the halo

Hover a node: a gold halo ring appears round it. Drag from the halo (or ⌥-drag from anywhere on the node) and a dashed rubber band follows the pointer. While you drag, only nodes of types the shape lets you connect to stay lit; the rest dim. A valid target rings gold as you pass over it.

Let go on a node:

  • If exactly one relationship fits between the two types and it has no properties, the connection is made at once and selected.
  • Otherwise a connection composer appears: the two ends with their colours and an arrow showing which way the connection runs; relationship chips when several fit (chips with a ← mean the shape has that relationship running into the node you dragged from, and the connection is made that way round); the relationship’s properties; Cancel and Connect.

Let go on empty canvas and the composer offers to make the node you dragged to:

  • Target type chips: the types the shape lets this node connect to.
  • The new node’s name (or enum picker) and its other properties, then, under the relationship’s name, the relationship’s properties.
  • Connect makes the node where you dropped and the connection to it.

If the shape has no relationship to or from this node’s type at all, a toast says so: “The shape has no relationship to or from a Concept.”

Directions follow the shape. Drag from a Source onto a Concept and the composer offers SUPPORTS running Source → Concept; drag the other way and the same relationship is offered with its arrow pointing back at the node you started from. You never make a connection the shape doesn’t allow.

What happens underneath

Each add is written to the database at once (as a prepared, parameterised statement), goes on the canvas you’re looking at, and is one undo step (“Add Node”, “Add Relationship”). The embedding reconciler is told about the new record, so embedded text is turned into vectors in the background, and the always-on title index gets the new title.