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 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
+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 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
smoke check 03-preview-undo
· rig nightly, last green run 20 Oct 2026, 10:29 UTC on c7618d3 · VS Code 1.139.1
+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