What flows on the wires
Every wire in DNA carries a kind of thing. Knowing which kind you're holding tells you what you can do with it next.
When you connect two nodes, something travels down that wire — a number, a shape, a colour pattern, a sound. DNA has a small family of these value kinds, and most of the interesting ones live a double life: they look like one thing but quietly behave like another too. That in-between quality is the whole point — it's what lets a shape act like a pattern, or a pattern act like an image.
This page is the map. Each family links to its own page.
The simple stuff
Some wires carry plain values you'd expect:
Numbers, vectors and colours — a single value, or a whole column of them (one per point, one per particle). A lone number happily fans out across a column when a node needs one value per item, so you rarely have to think about it.
Text and true/false flags.
Transforms — a position, rotation and scale bundled together, so you can parent and move things as a unit.
Pin colour is your first clue: number-ish wires are blue, colour wires are pink, and so on. If two pins share a colour, they almost always plug together.
The in-between families
This is where DNA gets expressive. Each of these is "really" one thing, but you can treat it as another — and that flexibility is the feature.
Collections (Collections) — bundles of items with attributes: points, particles, geometry, shapes, rows in a table. Think of it as a spreadsheet where every row is a thing in your scene.
Analytic shapes — vector shapes (circles, text, your drawn paths) that act like a collection of items but also like a smooth, resolution-free field you can sample anywhere. They render crisp at any zoom. Each row carries an @analytic attribute marking it as one. See Analytic shapes.
Fields (Fields) — a value that exists everywhere in space: ask "what's the value at this point?" and a field always has an answer. Fields come in flavours — a single number, a direction, or a colour — and any flavour can be read as any other automatically.
Raster — pixel-based images. A raster behaves like a colour field (sample its colour at any position) but is also a fixed grid of pixels under the hood. Wire one into a colour-field input and DNA reads it as a pattern with no extra steps. See Rasters (images).
Distance fields & volumes (Distance Field) — a field that, at every point, tells you how far you are from a surface. That makes it both a plain number field and a shape you can render, blend, dent, or carve. The classic way to build organic, mergeable 3D forms.
Distance fields & volumes (Volume) — a field that's been baked into a 3D grid of values, like a cloud of smoke or a captured shape. It's a field you can sample, but it's also fixed at a chosen resolution rather than computed on the fly.
Scene values (Gradient) — a colour ramp you author by hand, with draggable stops. It stays fully editable as a ramp, and it can be read as a colour field when a node wants one.
Numbers, signals & audio (Signal) — a stream of numbers through time: audio, an envelope, an automation curve. It looks like a number column but also carries timing, so it can drive things live as they play.
Gaussian splats — a collection of soft, fuzzy blobs that together render as a photoreal cloud. It's a collection you can move and edit per-item, but it also is a finished, soft render.
When you're unsure what's on a wire, hover the pin or peek at the result. The question to ask is always the two-part one: "what does this behave like, and what else can it become?" That second half is usually a free conversion away.
Conversions happen for you
You almost never insert a "convert" node. When you plug one family into a pin that wants another, DNA does the sensible conversion automatically — a raster becomes a colour field, a single number stretches across a column, a shape renders to pixels, a gradient becomes a field. The wire just works.
Not every pair converts — a sound (Signal) won't turn into a 3D shape, for example. When a connection isn't possible the pin won't accept it, which is itself a hint that you need a node in between.
Why the double lives matter
This is the design idea that makes DNA feel fluid: a value is rarely locked into one role. A drawn shape can be instanced like a collection and sampled like a field. An image can be a texture and a pattern that drives displacement. A ramp can be a UI widget and live colour data.
You don't have to memorise which is which. Build the thing you want, drag the wire, and let the conversions carry the meaning.