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.