Skip to content

Verified: FBD editor

The function block diagram editor’s ? list. Each entry below is one row of the gesture inventory, with the tests that exercise it in the last green run of each suite. 21 of 22 are covered by a passing test.

rig nightly: last green run 20 Oct 2026, 10:29 UTC on c7618d3 · rig demo: last green run 18 Oct 2026, 07:43 UTC on c7618d3 · gesture harness: last green run 16 Oct 2026, 14:48 UTC on c7618d3 · overview

F01 Click a block, chip, coil, note or wire to select it

FBD · claimed in "?" list FBD / Select / `Click`

PASS

  • PASS harness · diagram FBD: deleting two selected notes posts ONE batched deleteNode (ordinal ids)
  • rig verb fbd_pin_el — not in a baked run
  • rig verb g_click — not in a baked run
What the inventory lists
webview test
diagram.test.mjs: FBD: deleting two selected notes (selection by click)
rig verb
fbd_pin_el / g_click
smoke
—
Harness evidence — diagram: FBD: deleting two selected notes posts ONE batched deleteNode (ordinal ids) · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F02 Box-select several nodes

FBD · claimed in "?" list FBD / Select / `Shift + drag`

PASS

  • PASS harness · fbd-drag FBD drag: Shift+drag over empty canvas selects exactly the boxed nodes (F02)
What the inventory lists
webview test
fbd-drag.test.mjs: FBD drag: Shift+drag over empty canvas selects exactly the boxed nodes (F02)
rig verb
—
smoke
—
Harness evidence — fbd-drag: FBD drag: Shift+drag over empty canvas selects exactly the boxed nodes (F02) · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F03 Add to or remove from the selection

FBD · claimed in "?" list FBD / Select / `Ctrl + click`

PASS

  • PASS harness · diagram FBD: deleting two selected notes posts ONE batched deleteNode (ordinal ids)
What the inventory lists
webview test
diagram.test.mjs: FBD: deleting two selected notes
rig verb
—
smoke
—
Harness evidence — diagram: FBD: deleting two selected notes posts ONE batched deleteNode (ordinal ids) · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F04 Select everything

FBD · claimed in "?" list FBD / Select / `Ctrl + A`

PASS

  • PASS harness · diagram FBD: Ctrl+A selects every node
What the inventory lists
webview test
diagram.test.mjs: FBD: Ctrl+A selects every node
rig verb
—
smoke
—
Harness evidence — diagram: FBD: Ctrl+A selects every node · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F05 Double-click to edit a constant, rename a wire or instance, edit a note

FBD · claimed in "?" list FBD / Edit / `Double-click`

PASS

  • PASS rig verb fbd_add_tag_ref · rig demo
  • PASS rig verb fbd_add_tag_ref · rig nightly
  • PASS harness · diagram FBD: double-clicking an FB header renames the instance; the body inspects it
  • rig verb float_edit — not in a baked run
What the inventory lists
webview test
diagram.test.mjs: FBD: double-clicking an FB header renames the instance
rig verb
float_edit, fbd_add_tag_ref
smoke
—
rig verb fbd_add_tag_ref · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1

F06 Commit an in-place edit (Ctrl+Enter in a note)

FBD · claimed in "?" list FBD / Edit / `Enter`

no evidence yet

  • rig verb float_edit — not in a baked run
What the inventory lists
webview test
—
rig verb
float_edit
smoke
—

F07 Cancel an in-place edit

FBD · claimed in "?" list FBD / Edit / `Esc`

PASS

  • PASS harness · fbd-drag FBD drag: Esc cancels a constant edit — no setLiteral, chip keeps its value (F07)
What the inventory lists
webview test
fbd-drag.test.mjs: FBD drag: Esc cancels a constant edit — no setLiteral, chip keeps its value (F07)
rig verb
—
smoke
—
Harness evidence — fbd-drag: FBD drag: Esc cancels a constant edit — no setLiteral, chip keeps its value (F07) · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F08 Drag from an output pin to an input pin to wire; drop on + to add an input

FBD · claimed in "?" list FBD / Edit / `Drag pin → pin`

PASS

  • PASS rig verb fbd_wire · rig demo
  • PASS rig verb fbd_wire · rig nightly
  • PASS harness · diagram FBD: disconnecting two inputs of one block goes highest pin first
  • PASS harness · fbd-drag FBD drag: output pin → input pin posts a rewire naming exactly those pins (F08)
  • PASS harness · fbd-drag FBD drag: dropping a wire on a block's + posts addInput (F08)
  • PASS harness · fbd-drag FBD drag: a wire released on empty canvas posts nothing (F08)
What the inventory lists
webview test
diagram.test.mjs: FBD: disconnecting two inputs of one block goes highest pin first (disconnect, not wire); fbd-drag.test.mjs: FBD drag: output pin → input pin posts a rewire naming exactly those pins; dropping a wire on a block's + posts addInput; a wire released on empty canvas posts nothing
rig verb
fbd_wire
smoke
—
rig verb fbd_wire · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1

F09 Delete the selection; a selected wire disconnects

FBD · claimed in "?" list FBD / Edit / `Del / Backspace`

PASS

  • PASS rig verb fbd_wire · rig demo
  • PASS rig verb fbd_wire · rig nightly
  • PASS harness · diagram FBD: deleting a wired coil posts no disconnects for its own edges
What the inventory lists
webview test
diagram.test.mjs: FBD: deleting a wired coil posts no disconnects for its own edges
rig verb
fbd_wire (asserts)
smoke
—
rig verb fbd_wire · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1

F10 Copy, cut, paste; pastes into another .fbd too

FBD · claimed in "?" list FBD / Edit / `Ctrl + C / X / V`

PASS

  • PASS smoke check 05-clipboard · rig nightly — 8 of 8 checks pass
  • PASS harness · diagram FBD: Ctrl+C / Ctrl+V duplicates in place; Ctrl+X deletes, and its paste re-creates from the snapshot
What the inventory lists
webview test
diagram.test.mjs: FBD: Ctrl+C / Ctrl+V duplicates in place; Ctrl+X deletes
rig verb
—
smoke
05
smoke check 05-clipboard · rig nightly, last green run 20 Oct 2026, 10:29 UTC on c7618d3 · VS Code 1.139.1
evidence: 05-clipboard-fbd-selected.png evidence: 05-clipboard-fbd-pasted-one.png evidence: 05-clipboard-fbd-pasted-all.png evidence: 05-clipboard-mimic-pasted.png evidence: 05-clipboard-ladder-pasted.png evidence: 05-clipboard-sfc-pasted.png +1 more in the run's artifact

F11 Move a node; the position is pinned in the file

FBD · claimed in "?" list FBD / Layout & view / `Drag a node`

PASS

  • PASS rig verb fbd_move_node · rig demo
  • PASS rig verb fbd_move_node · rig nightly
  • PASS harness · fbd-drag FBD drag: dragging a node posts ONE setLayout per drag, with the new coordinates (F11)
What the inventory lists
webview test
fbd-drag.test.mjs: FBD drag: dragging a node posts ONE setLayout per drag, with the new coordinates (F11)
rig verb
fbd_move_node (selftest: reads the `@layout` entry back)
smoke
—
rig verb fbd_move_node · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1

F12 Move the selection with the arrow keys (pinned like a drag)

FBD · claimed in "?" list FBD / Layout & view / `Arrow keys`

PASS

  • PASS harness · diagram FBD: arrow-key moves persist as ONE setLayout once the keys settle
  • PASS harness · xref-desc X44 ladder: Shift+F12 on a selected contact, coil or block posts xref with its rung lines; nothing selected posts nothing
  • PASS harness · xref-desc X44 ladder read-only (L5X): a click selects nothing, yet Shift+F12 answers for the element clicked
  • PASS harness · xref-desc X44/X45 FBD: Shift+F12 on a chip or an FB instance posts its name and statement line; tooltips carry descriptions
  • PASS harness · xref-desc X44/X45 SFC: Shift+F12 on an action association or a step posts its name and the step lines; the association tooltip carries the description
What the inventory lists
webview test
diagram.test.mjs: FBD: arrow-key moves persist as ONE setLayout
rig verb
—
smoke
—
Harness evidence — diagram: FBD: arrow-key moves persist as ONE setLayout once the keys settle · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F13 Pan the canvas by dragging empty space

FBD · claimed in "?" list FBD / Layout & view / `Drag empty canvas`

PASS

  • PASS harness · fbd-drag FBD drag: dragging empty canvas pans the viewport and posts no edit (F13)
What the inventory lists
webview test
fbd-drag.test.mjs: FBD drag: dragging empty canvas pans the viewport and posts no edit (F13)
rig verb
—
smoke
—
Harness evidence — fbd-drag: FBD drag: dragging empty canvas pans the viewport and posts no edit (F13) · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F14 Scroll or pinch to zoom (corner buttons zoom and fit too)

FBD · claimed in "?" list FBD / Layout & view / `Scroll / pinch`

PASS

  • PASS rig verb fbd_zoom_to · rig demo
  • PASS rig verb fbd_zoom_to · rig nightly
  • PASS smoke check 06-zoom-keys · rig nightly — 13 of 13 checks pass
  • PASS harness · diagram FBD zoom: Ctrl+= / Ctrl+- / Ctrl+0 drive the xyflow viewport too
What the inventory lists
webview test
diagram.test.mjs: FBD zoom: Ctrl+= / Ctrl+- / Ctrl+0 drive the xyflow viewport too (keys only)
rig verb
fbd_zoom_to
smoke
06 (ladder and SFC only)
rig verb fbd_zoom_to · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1
evidence: verbs-69-fbd_zoom_to.png evidence: verbs-69-fbd_zoom_to.png evidence: 06-zoom-keys-Ladder-1-zoomin.png evidence: 06-zoom-keys-Ladder-2-zoomout.png evidence: 06-zoom-keys-Ladder-3-fit.png evidence: 06-zoom-keys-Ladder-4-wheel.png +7 more in the run's artifact

F15 Zoom in / out / fit

FBD · claimed in "?" list FBD / Layout & view / `Ctrl + = / Ctrl + - / Ctrl + 0`

PASS

  • PASS rig verb fbd_zoom_to · rig demo
  • PASS rig verb fbd_zoom_to · rig nightly
  • PASS smoke check 06-zoom-keys · rig nightly — 13 of 13 checks pass
  • PASS harness · diagram FBD zoom: Ctrl+= / Ctrl+- / Ctrl+0 drive the xyflow viewport too
What the inventory lists
webview test
diagram.test.mjs: FBD zoom: Ctrl+= / Ctrl+- / Ctrl+0
rig verb
fbd_zoom_to
smoke
06 (ladder and SFC only)
rig verb fbd_zoom_to · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1
evidence: verbs-69-fbd_zoom_to.png evidence: verbs-69-fbd_zoom_to.png evidence: 06-zoom-keys-Ladder-1-zoomin.png evidence: 06-zoom-keys-Ladder-2-zoomout.png evidence: 06-zoom-keys-Ladder-3-fit.png evidence: 06-zoom-keys-Ladder-4-wheel.png +7 more in the run's artifact

F16 Undo the last edit to the file from the diagram

FBD · claimed in "?" list FBD / File / `Ctrl + Z`

PASS

  • PASS smoke check 03-preview-undo · rig nightly — 13 of 13 checks pass
  • rig verb g_key — not in a baked run
What the inventory lists
webview test
—
rig verb
g_key (ctrl+z in takes)
smoke
03 (preview panel)
smoke check 03-preview-undo · rig nightly, last green run 20 Oct 2026, 10:29 UTC on c7618d3 · VS Code 1.139.1
evidence: 03-preview-undo-text-title-buttons.png evidence: 03-preview-undo-edited.png evidence: 03-preview-undo-undone.png evidence: 03-preview-undo-redone.png evidence: 03-preview-undo-undo-no-text-editor.png evidence: 03-preview-undo-edit-no-text-editor.png +4 more in the run's artifact

F17 Redo

FBD · claimed in "?" list FBD / File / `Ctrl + Y / Ctrl + Shift + Z`

PASS

  • PASS smoke check 03-preview-undo · rig nightly — 13 of 13 checks pass
  • PASS harness · mimic-more M17 Ctrl+Z / Ctrl+Y / Ctrl+Shift+Z post no message and are left for VS Code
What the inventory lists
webview test
mimic-more.test.mjs: M17 Ctrl+Z / Ctrl+Y / Ctrl+Shift+Z post no message and are not preventDefault-ed (undo/redo is VS Code's text undo over the host's WorkspaceEdit; the webview owns no stack, so that is all that is observable)
rig verb
—
smoke
03 (preview panel)
smoke check 03-preview-undo · rig nightly, last green run 20 Oct 2026, 10:29 UTC on c7618d3 · VS Code 1.139.1
evidence: 03-preview-undo-text-title-buttons.png evidence: 03-preview-undo-edited.png evidence: 03-preview-undo-undone.png evidence: 03-preview-undo-redone.png evidence: 03-preview-undo-undo-no-text-editor.png evidence: 03-preview-undo-edit-no-text-editor.png +4 more in the run's artifact

F18 Save the file from the diagram

FBD · claimed in "?" list FBD / File / `Ctrl + S`

PASS

  • PASS smoke check 03-preview-undo · rig nightly — 13 of 13 checks pass
  • rig verb g_save — not in a baked run
What the inventory lists
webview test
—
rig verb
g_save
smoke
03 (preview panel)
smoke check 03-preview-undo · rig nightly, last green run 20 Oct 2026, 10:29 UTC on c7618d3 · VS Code 1.139.1
evidence: 03-preview-undo-text-title-buttons.png evidence: 03-preview-undo-edited.png evidence: 03-preview-undo-undone.png evidence: 03-preview-undo-redone.png evidence: 03-preview-undo-undo-no-text-editor.png evidence: 03-preview-undo-edit-no-text-editor.png +4 more in the run's artifact

F19 Click EN on a block to show its EN / ENO pins; wire EN, drag from ENO

FBD · claimed in "?" list FBD / Edit / `Click EN on a block`

PASS

  • PASS harness · fbd-parity FBD EN/ENO: bound EN draws without asking; the EN toggle opens EN/ENO pins to wire (F19, #206)
What the inventory lists
webview test
fbd-parity.test.mjs: FBD EN/ENO: bound EN draws without asking; the EN toggle opens EN/ENO pins to wire (F19, #206)
rig verb
(tia-shaped build 09-EN-ENO-on-LIMIT)
smoke
—
Harness evidence — fbd-parity: FBD EN/ENO: bound EN draws without asking; the EN toggle opens EN/ENO pins to wire (F19, #206) · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F20 Network header: click to make it the palette's target; ▲ ▼ move, + add after, ✕ remove the NETWORK line; double-click the title to rename

FBD · claimed in "?" list FBD / Edit / `Network header`

PASS

  • PASS harness · fbd-parity FBD networks: the header picks the palette target; buttons move, add, remove; double-click renames (F20)
  • PASS harness · fbd-parity FBD networks: numbered bands in order, statements with their execution order (F20, X49, #207)
What the inventory lists
webview test
fbd-parity.test.mjs: FBD networks: the header picks the palette target; buttons move, add, remove; double-click renames (F20)
rig verb
(tia-shaped build 07..11-network)
smoke
—
Harness evidence — fbd-parity: FBD networks: the header picks the palette target; buttons move, add, remove; double-click renames (F20) · gesture harness, last green run 16 Oct 2026, 14:48 UTC on c7618d3

F21 Double-click empty canvas: "+ add" opens there and the insert lands at that point; with an element selected, "+ add" inserts one column right of it; an arranged network keeps its layout (#78)

FBD · claimed in "?" list FBD / Edit / `Double-click empty canvas`; CHANGELOG Unreleased

PASS

  • PASS rig verb fbd_add_block_at · rig demo
  • PASS rig verb fbd_add_block_at · rig nightly
  • webview test with no linked recording: editor-gestures.test.mjs: FBD + add (#78) ×3
What the inventory lists
webview test
editor-gestures.test.mjs: FBD + add (#78) ×3
rig verb
fbd_add_block_at (selftest)
smoke
—
rig verb fbd_add_block_at · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1

F22 The editor opens fitted while that is readable (zoom ≥ 0.9), else at 0.9 on the diagram's top-left; Ctrl+0 still fits all; an edit pans a new element into view without re-zooming (#79)

FBD · claimed in CHANGELOG Unreleased; website languages/function-block

PASS

  • PASS rig verb fbd_open_zoom-big · rig demo
  • PASS rig verb fbd_fit_all · rig demo
  • PASS rig verb fbd_open_zoom · rig demo
  • PASS rig verb fbd_open_zoom-big · rig nightly
  • PASS rig verb fbd_fit_all · rig nightly
  • PASS rig verb fbd_open_zoom · rig nightly
  • webview test with no linked recording: editor-gestures.test.mjs: FBD open zoom (#79) ×2
What the inventory lists
webview test
editor-gestures.test.mjs: FBD open zoom (#79) ×2
rig verb
fbd_open_zoom, fbd_fit_all (selftest, big.fbd)
smoke
—
rig verb fbd_fit_all · rig demo, last green run 18 Oct 2026, 07:43 UTC on c7618d3 · VS Code 1.139.1