Scope: behaviour + colours reference only, not a visual spec — the real
component keeps its icon, badges, type slots & gutter (this mock omits them on purpose). Selection — one click on a row selects it: clicked column = direct (blue), its attached
column(s) + edge(s) = indirect (grey rows, blue edges). Clicking an edge → both ends grey, edge blue.
Empty space / Esc clears. Edit — only the name opens name-edit and only the expression opens expr-edit, via
double-clickor a single click while the row is already selected. Clicking the
datatype, icon, or row body only selects — never edits. Delete (Del/Backspace) — selected edge → edge removed, columns unselect;
selected input column → red InfoPopup “can't remove input columns here”; selected
output column → column + its edges removed.