The graph starts as a 3-node triangle. Each step it searches for a matching pattern — a directed path x → y → z through some shared node y — and rewrites it: the edge (y→z) is removed and replaced by two edges through a brand-new node w, giving (y→w) and (w→z). This is a small local rewriting rule in the spirit of the Wolfram model of "digital physics": no coordinates or metric are built in anywhere — space is not assumed, it is whatever structure the rewriting produces.
rule: {x→y, y→z} ⟶ {x→y, y→w, w→z} (w new)
A 2D layout is then computed purely from graph structure — a physics-style spring/repulsion relaxation, edges as springs and nodes as mutually repelling charges — so that graph distance becomes visual distance. Nodes are colored by hop-distance from the root (white → violet → dark) or by node degree, toggle below the graph.
The "dimension" readout treats the graph the way a manifold's ball volume works: in ordinary d-dimensional space the number of points within radius r of an origin grows like N(r) ∝ rd. Measuring N(r) by breadth-first search out of the root at two radii r₁ < r₂ gives an estimate:
d ≈ ln( N(r₂) / N(r₁) ) / ln( r₂ / r₁ )
This is exactly the technique researchers use to estimate the effective dimensionality of a causal graph or hypergraph with no built-in geometry. Numerically verified for this page: running the identical formula on regular 1D/2D/3D lattice graphs, BFS-rooted at the lattice center with r₁,r₂ kept away from the boundary, recovers d ≈ 1.0 / 2.0 / 2.8 respectively — confirming the ball-growth estimator itself is sound (the 3D sibling page states the same formula; the mild 3D→2.8 undershoot here is a known finite-size effect of a small lattice, not a formula error).
- Rewrite rate — how many rule applications run per second.
- Node cap — growth stops once the graph reaches this many nodes.
- Repulsion / Spring stiffness / Rest length — tune the force-directed layout live; higher repulsion spreads clusters apart, higher stiffness pulls connected nodes tighter to the rest length.
- Color mode — hop-distance from the root, or node degree (how many edges touch it).
- Ball-radius rings — draws the r₁ and r₂ circles used in the dimension estimate directly on the graph.
- Play/Pause, Reset — freeze the evolution, or start over from the 3-node seed.