adding nodes - blossommerz/locus-hub GitHub Wiki

Home > Adding & connecting nodes

< Previous: Sockets & wires | Next: Sliders & number inputs >

The Nodes Window

Adding & connecting nodes

Add nodes from the menu or command palette and wire them together fast.

There are two ways to place a node, and a handful of small moves that make wiring quick once the node graph gets busy.

The Add menu

The Add menu groups nodes into eight categories so related building blocks sit together:

  • Input: sources of values (sliders, numbers, toggles, randomness)
  • Data: list and collection tools
  • Point: positions and point work
  • Curve: lines and contours
  • Region: filled areas
  • Transform: move, rotate, scale, mirror
  • Cluster: the input and output nodes for building reusable clusters
  • Bridge: the nodes that move geometry into and out of the node graph

Browse a category when you know roughly what kind of thing you want but not its exact name.

The command palette

For speed, open the command palette and start typing. It searches everything - every node and command - and shows a short description beside each result so you can tell similar nodes apart before you place one. The palette also learns your order: the nodes you reach for most float to the top over time, so your common picks land first.

[!TIP] Typing three comma-separated numbers into the palette makes a slider instead of searching. See Sliders & number inputs.

[!TIP] Quick-entry for value sources. Type a bare number and press Enter to drop a Number node holding it. You can also type a named constant - they're fuzzy-matched, so a few letters find them - to drop a Number with that value:

  • Math: pi, tau, e, phi, sqrt 2 / sqrt 3 / sqrt 5, silver, and goldenAngle (137.5 degrees, in the same degrees Rotate uses).
  • Unit conversions: because node numbers are always millimeters, these constants convert to and from your working unit. intomm (25.4) and mmtoin, plus fttomm / mmtoft and mtomm / mmtom - and the area versions sqintosqmm / sqmmtosqin (and the ft/m equivalents). Multiply by one to move a value across units: a Math node doing value x mmtoin reads an mm length out in inches, area x sqmmtosqin turns mm2 into in2. New units added to the app get their four constants automatically.

The full list, with worked examples, is on the Constants & unit conversions page.

Coordinate shorthand: x, y

Type a pair of numbers separated by a comma into the node search and Locus offers a Point node at those coordinates. It is the node-graph twin of the modeling palette's Typing coordinates, with three things worth knowing.

Each half is an expression. The two sides are evaluated, not just parsed, so +.1, 3/2 is a valid entry and lands a point at (0.1, 1.5). The same arithmetic works here as in a node's number inputs: +, -, *, /, with normal precedence.

Relative mode. Lead the pair with + or - while exactly one Point node is selected and Locus reads the pair as an offset from that node rather than as world coordinates. Select a Point at (10, 10), type +5, 0, and the new Point lands at (15, 10). With nothing selected, or with more than one node selected, a leading sign is simply a negative coordinate and the point is absolute.

The numbers are millimeters. This is the one place the node shorthand and the modeling shorthand deliberately differ. The modeling palette reads coordinates in your working unit and converts them; node search does not, because the node graph is always millimeters. Type 25, 0 here and you get 25 mm across, even if you are drawing in inches.

[!TIP] The node search opens on + as well as on letters and digits, so you can start a relative offset without opening the search first. This matches the modeling palette, which opens on ., +, and -.

Connecting nodes

To wire two nodes, drag from an output socket to an input socket. The connection only takes if the two ends are compatible types - a matching type, or an any socket that accepts anything.

Drop a node onto a wire

You don't have to disconnect and reconnect to insert a node mid-stream. Drag a node over an existing wire and, if it has a compatible input and output for what that wire carries, the wire lights up with a dashed halo to preview the splice. Drop it there and Locus rewires the connection to run through your new node - the original link is replaced by two, one into the node and one out.

This is the fast way to drop a Rotate or a Style into the middle of a finished chain.

Unplug a wire and carry it

An input holds one wire, so there is nothing to add to it - only something to replace. Press a wired input and that wire comes away in hand, still attached to the output it came from. Drop it on another input to replug it, or on empty canvas to leave it disconnected.

Outputs work as they always did: a press there starts a new wire. Hold Alt while pressing a wired input for the old behavior, and locked nodes stay put.

Small time-savers

  • Tab commits the field you're editing and jumps to the next editable value on the node, with its text pre-selected. Shift+Tab steps backward. A multi-field node: say a point's X and Y - fills in without touching the mouse.
  • Double-click a node's header to rename it. Your custom name sits on the left; the node's underlying type stays on the right in smaller, lighter text so you never lose track of what it is. Clear the name to return to the default.
  • Right-click a node > Help opens that node's wiki page in the in-app docs viewer: the fastest way from a node to its reference.

[!NOTE] Renaming a node is a label only - it doesn't change what the node does or how it connects.

< Previous: Sockets & wires | Next: Sliders & number inputs >