PCB KNOT BUILDER

DRAW NODES & EDGES — INFER OWNERSHIP
MODE
Add Node Add Edge Move Delete
Click canvas to place a node.
NODE TYPE
SEQUENCE POSITION
Sets order in sequence display.
LABEL (optional)
⟳ INFER OWNERSHIP Clear Ownership Clear All
CANVAS
SHOW: ownership fwd adj bwd adj cond true cond false unwind entry ownership only show all
BRACKET SEQUENCE
Nodes in forward adjacency order:
Add nodes and forward adjacency edges.
INFERRED OWNERSHIP PAIRS
Ownership is inferred from condition false edges (open→close shortcuts), unwind edges (node→enclosing close), and forward adjacency ordering. Press Infer Ownership to compute and draw pairs.
Not yet computed.
LOG
PCB Knot Builder · Guide

Draw a knot diagram by hand — place bracket-nodes and semantic edges — and the builder infers the ownership/nesting and renders the resulting bracket sequence.

Part of the PCB knot toolset: the structure you build here can be analyzed in the Knot Workbench and run in Love Loop OS.

What it does

You place nodes that are brackets — pockets ( ) and cups { } — give each a sequence position, optionally a label, and draw typed edges between them. The builder then infers ownership (which open owns which close) by stack-matching brackets of the same family in sequence order, and shows the colored bracket sequence.

MODE (top)

  • Add Node — click the canvas to place a node. Add Edge — click a source node then a destination. Move — drag nodes. Delete — click to remove. (The mode hint tells you what a click will do.)

Node tools (Add Node mode)

  • NODE TYPE: ( POCKET OPEN, ) POCKET CLOSE, { CUP OPEN, } CUP CLOSE.
  • SEQUENCE POSITION — the node's order in the bracket display (auto-increments for the next node). LABEL — optional name (e.g. car).

Edge tools (Add Edge mode)

  • Pick an EDGE TYPE, then click source → destination: FORWARD_ADJACENCY, BACKWARD_ADJACENCY, CONDITION_TRUE, CONDITION_FALSE, UNWIND, ENTRY (each its own color).
  • Ownership is inferred automatically from your sequence + edges (CONDITION_FALSE opens→close shortcuts; UNWIND links a node to its enclosing close; forward-adjacency stack matching).

Canvas & display

  • SHOW toggles let you show/hide each edge type (ownership jump, the two adjacencies, condition true/false, unwind, entry); ownership only / show all filter the view.
  • BRACKET SEQUENCE (bottom) — the colored bracket string of all nodes in forward-adjacency order (shown as char·label[id]); this is your knot in bracket form.
  • Clear Ownership drops the inferred edges; Clear All wipes the canvas.

How to use it

  • 1 — Add Node: choose a type (pocket/cup, open/close), set a sequence position (+ optional label), click to place. Repeat to lay out the bracket structure.
  • 2 — Add Edge: pick an edge type, click source then destination to connect nodes.
  • 3 — Use the SHOW toggles / ownership only to inspect inferred ownership.
  • 4 — Read the Bracket Sequence — that's the knot. Move/Delete to refine.