Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/kepano/obsidian-skills/llms.txt

Use this file to discover all available pages before exploring further.

Edges are the connections between nodes in a JSON Canvas file. They are stored in the top-level edges array and reference two existing nodes by their id values: a source (fromNode) and a target (toNode). Every edge must have a unique id, and the two node references are required. All other attributes — side anchors, arrow ends, color, and label — are optional and control the visual appearance of the connection.

Edge Attributes

AttributeRequiredTypeDefaultDescription
idYesstringUnique identifier
fromNodeYesstringSource node ID
fromSideNostringtop, right, bottom, or left
fromEndNostringnonenone or arrow
toNodeYesstringTarget node ID
toSideNostringtop, right, bottom, or left
toEndNostringarrownone or arrow
colorNocanvasColorLine color
labelNostringText label on the edge

Side Anchors

The fromSide and toSide attributes control which face of a node an edge attaches to. When omitted, the application determines the closest anchor point automatically.
ValueDescription
topAttaches to the top edge of the node
rightAttaches to the right edge of the node
bottomAttaches to the bottom edge of the node
leftAttaches to the left edge of the node
Setting explicit sides is recommended in dense layouts or when directionality matters (for example, left-to-right flowcharts using fromSide: "right" and toSide: "left").

Arrow Ends

The fromEnd and toEnd attributes control whether an arrowhead appears at each end of the edge.
AttributeDefaultPossible ValuesDescription
fromEndnonenone, arrowArrowhead at the source end
toEndarrownone, arrowArrowhead at the target end
By default, edges are directional: toEnd defaults to arrow so the edge points toward the target node, while fromEnd defaults to none. Set both to arrow for bidirectional edges, or set toEnd to none for an undirected line.

JSON Example

{
  "id": "0123456789abcdef",
  "fromNode": "6f0ad84f44ce9c17",
  "fromSide": "right",
  "toNode": "a1b2c3d4e5f67890",
  "toSide": "left",
  "toEnd": "arrow",
  "label": "leads to"
}

Validation

Every fromNode and toNode value must reference an existing node ID in the nodes array. Dangling edge references — edges that point to a node ID that does not exist — produce an invalid canvas file. Always verify that both referenced IDs are present after creating or editing edges.

Workflow: Connecting Two Nodes

1

Identify the source and target node IDs

Read the existing canvas and locate the id of the node you want to connect from and the node you want to connect to.
2

Generate a unique edge ID

Create a new 16-character lowercase hex string that does not collide with any existing node or edge ID in the file.
3

Set fromNode and toNode

Assign the source node’s ID to fromNode and the target node’s ID to toNode.
4

Optionally set sides and label

Add fromSide and toSide to anchor the edge to specific faces of each node. Add a label string for descriptive text displayed along the edge.
5

Validate

Confirm that both fromNode and toNode reference node IDs that exist in the nodes array, and that the new edge ID is unique across the entire file.

Build docs developers (and LLMs) love