Analytic shapes
Shapes defined by an equation instead of a pile of triangles — perfectly sharp at any zoom, in 2D and 3D.
What "analytic" means
Most 3D apps describe a shape with a mesh: a fixed cage of triangles. Zoom in far enough and the curves go faceted, because there are only so many triangles to go around.
Analytic shapes work differently. DNA keeps the math of the shape — "a circle of radius 2", "a rounded box", "this profile swept along that curve" — and figures out exactly where the edge is, fresh, every frame. There's no fixed triangle budget, so the edge stays razor-sharp whether you're looking at the whole scene or zoomed into a single corner.
You'll see this on a collection as the Analytic kind, and individual rows carry an @analytic attribute that marks them as equation-defined.
If an edge looks crisp no matter how far you push the zoom, you're looking at an analytic shape. If it starts to show flat facets when you get close, it's a baked mesh.
One idea, 2D through 3D
The same approach spans a wide range:
2D paths — circles, rectangles, n-gons, pen strokes, and live text (shape.circle, shape.rectangle, shape.ngon, shape.pen, shape.text) stay vector-crisp at any canvas zoom.
3D solids — spheres, cubes, cylinders, cones, and tori can be built as analytic forms instead of triangle meshes.
Swept forms — a 2D profile pushed into 3D with geometry.sweep can stay analytic too.
Because they're all described the same way, they mix freely: a 2D outline and a 3D solid can sit in the same scene and be combined by the same operators.
The "Analytical" toggle
The primitive nodes that can go either way give you a choice. On the 3D primitives inside geometry.mesh, and on geometry.sweep, you'll find an Analytical toggle:
On — the shape stays equation-defined and resolution-independent.
Off — the shape is baked down to a regular triangle mesh.
Turn it on when you want flawless edges, smooth boolean blends, or you plan to keep editing the shape's form. Turn it off when a downstream step really wants triangles (some mesh-only operations), or you want to freeze the shape as standard geometry.
A few cases are decided for you: Sweep's Revolve mode always produces an analytic result regardless of the toggle. Don't worry if the toggle looks inactive there — that mode only does analytic.
You don't have to bake before connecting an analytic shape to a node that expects a mesh. DNA handles the conversion automatically behind the scenes, so the same network just works either way.
Combining and offsetting
Analytic shapes shine when you start operating on them, because the math composes cleanly.
sop.boolean unions, subtracts, and intersects them with no triangle seams. It also has a Smoothness setting: push it above zero and the join between two shapes melts into a soft, organic fillet — the kind of metaball-like blend that's painful to get right on meshes. Set it to zero for a crisp, hard-edged cut.
path.offset grows or shrinks a 2D path outward or inward, which is perfect for outlines, insets, and concentric ring patterns.
Because nothing is locked to a fixed triangle count, these results stay sharp too — combine, offset, then zoom right in and the edges hold.
Cook
You'll sometimes see a Cook badge on a node. "Cook" just means DNA recalculating that node's result. Analytic shapes are recalculated on demand as you change parameters or move the camera, which is how they stay sharp at every zoom without you re-baking anything.
See also
geometry.mesh
geometry.sweep
sop.boolean
path.offset