Search & the node palette
Press Tab to create a node, Cmd+F to find one you already have.
Two tools that look alike and do different jobs: the node palette adds nodes, search jumps to existing ones. Both run from the keyboard and share the same fuzzy matching, so the muscle memory carries across.
The node palette
Hover an empty spot in the The node graph and press Tab. A search box opens under the cursor and fuzzy-matches as you type, so the exact name is not needed.
Matching is loose, and it runs over a node's display name, its keywords, its tags and its description. circ finds Circle, iter finds Iterator, and blur finds the blur node even though the word does not begin its full title. Typing the name of a setting's value works too, so a blend mode name surfaces every node offering it.
Press Enter or click to pick a node. It becomes a ghost that follows the cursor, and a click on the canvas places it.
Start a wire drag from an output, then press Tab without releasing. The node you place is wired in automatically. The palette is not filtered to compatible types, so the choice is still yours to get right.
Filtering by family and tag
For browsing rather than searching, the palette groups everything into six families:
GENERATE makes new content: shapes, meshes, sources.
MODIFY changes what comes in.
DATA covers numbers, maths, logic and attributes.
IO brings things in and sends them out.
STRUCTURE organises the graph itself.
PLUGIN is anything from a plugin in
~/.dna/plugins/, plus the built-ins that host outside code.
Pick a family to show only those nodes. The tag button opens a second row of finer labels: 2d, audio, noise and so on. Tags stack with AND logic, so two active tags show only nodes carrying both, and Clear All empties the set. Both lists are fixed, so a family or tag with nothing behind it in this project still appears.
Right-click any node in the palette to Rename it, Change Color, Change Family, Add Tags, or Hide from Palette. Reset to Default undoes the lot for that node. These are yours and persist across projects.
Finding a node you already have
Cmd+F opens the find box, which searches the nodes already in the graph rather than creating new ones.
The query is fuzzy and the matches are ranked. Titles are only part of it: each node's type, family, tags, and its parameter names and values are searched too. That covers 'the node with a radius of 200' and 'the one tagged audio' without remembering what it was called.
Arrow keys move through results and the list wraps. Enter jumps to the selected node, Esc closes. Once you have typed something, nodes that do not match darken so the matches stand out on the canvas, and a darkened node cannot be clicked. Only the families and tags actually present in this project are offered as filters here.
Search reaches inside Subgraphs. A match in a subgraph shows a breadcrumb path, and jumping to it switches into that subgraph. Matches in the current graph always rank above deeper ones, whatever their score.
In a floating subgraph editor
Both tools follow a subgraph opened with Edit in Window, and both work over that window's own graph rather than the main one. Tab opens the palette there and places into that subgraph, undoably. Cmd+F searches only that graph, dims the nodes that do not match, and centres on the one you jump to. It never steps into a deeper subgraph from there, because that window has no nesting context to step into.
The palette's right-click customisation is the one part that does not follow. Rename, Change Color, Change Family, Add Tags and Hide from Palette are drawn over the main window only, so a right-click on a palette entry in a floating editor opens nothing. See Pop-out windows.