036 · ANIMATION NODES
filum tempora ducit · the wire carries time
Project Lavos · The Stack
— FROM ADDON · TO ENGINE —

Filum tempora ducit.

— THE WIRE CARRIES TIME —

the wire.

Jacques Lucke  ·  Blender Foundation  ·  2014

BLENDER ADDON · NODE GRAPH · DAG · GPL · ANCESTOR OF GEOMETRY NODES

A graph is a shape, but it is also a verb. Animation Nodes drew time as a wire — a single thin line entering on the left, branching, multiplying, passing through sine, returning as motion on the right. Drag a node, drop it, wire it. Watch geometry move. The Blender community wrote the addon. Then Blender hired its author and built the same idea into the engine itself.

— Plate XXXVI · Vertex Wave Displacement · One Patch — after Lucke, anim_nodes/examples
SIGNAL FLOW ⟶ ⟶ FRAME 0042 ▶ TIME frame 42.0 fps 24 ◇ OBJECT name "Plane" verts 10,201 type MESH ═ FLOAT amp 0.30 ↻ ITERATE VERTS mesh index position × MULTIPLY a · time b · freq 2.5 + ADD a · phase b · pos.x ≈ SIN x × MULTIPLY sin amp ⊕ VECTOR z z (0, 0, z) ⏵ SET POSITION offset index target FRAME 0 FRAME 240 42 PREVIEW
— Nodes — 10 · per patch
— Wires — 11 · signal paths
— Topology — DAG · acyclic
— Evaluated — 60 fps · real-time
INPUT · ▶
time, mesh, float.
The leaves of the graph. Frame number, scene object, raw constants. The signal originates here.
MATH · ×
add, mul, sin.
The interior. Pure computation, statelessly applied. The spine of every patch.
GEOMETRY · ↻
iterate, sample.
Per-vertex iteration. The fan-out from a single signal to N parallel computations.
OUTPUT · ⏵
set position.
The root. The signal exits the graph as geometry mutation. The next frame begins.

The wire is not decorative. It is the entire idea. You drag a node, you drop it, you wire it — and the moment the connection completes, the result begins to evaluate. Time enters left, geometry exits right. The patch is the program.

Animation Nodes was a Blender addon. Then Blender hired its author to build the same thing — better — into the engine itself. The community wrote a graph; the platform absorbed the graph; the graph became the platform.

Authorship & Provenance colophon — addon to engine
Authorship
Jacques Lucke
began as a Blender community addon · 2014
hired by Blender Institute · 2018
github.com/JacquesLucke
Architecture
Python · node graph DAG
real-time evaluation · per-frame
functional · stateless nodes
~150 node types
Successor
Blender Geometry Nodes
built natively into Blender 2.92+
same DAG model, in C++
same author, new substrate

— Lineage · the addon-to-engine arc —

2014Jacques Lucke, German hobbyist, releases the first version of Animation Nodes as a Blender addon.
2015Animation Nodes 1.0. Vimeo and Twitter see kinetic-typography and motion-graphics demos go viral.
2016Animation Nodes 2.0. ~150 node types. Used in production by indie motion designers worldwide.
2018Lucke joins the Blender Institute. Begins designing what becomes the official Geometry Nodes system.
2020Geometry Nodes ships in Blender 2.92. C++ rewrite of the same node-graph philosophy. Native, fast.
2022Geometry Nodes becomes a first-class Blender feature. Animation Nodes still maintained as a complementary addon.
2024Geometry Nodes covers the full procedural pipeline. The addon has become the engine.
The wire remains. A graph entered Blender. A graph is now Blender.

the addon became the engine.

A graph is not a metaphor for procedural animation. It is procedural animation.

— § I · Authoring · Procedural / Node Graphs —
Plate XXXVI · MMXXVI
projectlavos-bauhaus · 036