A morphospace is a coordinate system whose axes are the parameters of form and whose points are organisms, real or hypothetical. The morphospace engine is a node-graph laboratory for this idea: nodes (seeds, fields, constraints, mathematical constants, attractors, and observations) compose into a directed graph whose combined effect generates a two-dimensional morphology field. This companion situates the playground in the lineage of theoretical morphology, explains the deterministic field formula it actually computes, and is honest about where the model's prose claims outrun its classifier.
The term morphospace comes from theoretical morphology, the project of describing not just the forms that exist but the larger space of forms that could exist. Its canonical example is David Raup's 1966 analysis of shell coiling.
Raup showed that a remarkable diversity of molluscs, brachiopods, and other coiled shells can be captured by a logarithmic spiral with a small number of parameters. A common modern parameterisation uses:
A point in the W-D-T cube is a possible shell. Raup's striking result was that real organisms occupy only restricted regions of this cube: large swathes of geometrically valid shells are never realised. The empty regions are as informative as the occupied ones, because they raise the question of why evolution avoids them, whether through developmental impossibility, functional disadvantage, or simple historical contingency.
The geometric heart of Raup's morphospace is the logarithmic (equiangular) spiral:
r(theta) = r0 * exp(k * theta)
where r0 is the starting radius and k controls the tightness of coiling. After one full turn (theta increases by 2pi) the radius multiplies by exp(k * 2pi), which is exactly Raup's whorl expansion rate W. So W = exp(2pik), and the radius ratio between successive whorls is constant, which is why nautilus and snail shells look self-similar at every scale. The logarithmic spiral is also where the golden ratio enters biology: a growth factor that multiplies the radius by the golden ratio per quarter turn produces the "golden spiral" often (loosely) attributed to sunflower heads and nautilus chambers.
It is worth stating plainly that the morphospace engine in this playground does not implement Raup's W-D-T-S spiral. It is a more abstract, Levin-inspired field generator. The spiral material above is the intellectual backdrop, not the running code; section 3 describes what the code actually computes.
Raup's cube is one morphospace among many. Theoretical morphology has since produced morphospaces for branching plants, teeth, leaves, and limb skeletons. Two broad styles have emerged:
The morphospace engine is a generative morphospace in spirit, but its "axes" are not a fixed tuple of numbers. Instead the space of forms is parameterised by an editable graph. This reflects a more recent, controversial reframing.
Michael Levin and collaborators argue that morphogenesis is usefully modelled as goal-directed navigation through an abstract space of anatomical configurations, with bioelectric signalling acting as the steering system. In this reading, a developmental program is less a blueprint executed bottom-up and more a controller that drives tissue toward a target region of form-space and corrects deviations along the way. Planarian regeneration, where a fragment rebuilds exactly the missing anatomy, is the headline evidence: the system behaves as if it stores a target form and relaxes toward it.
The morphospace engine takes this metaphor literally. Each node is a tendency or constraint acting on a shared field, and the emergent pattern is read as a phenotype. This is an illustrative analogy, not a validated model of any specific organism.
Alicia Juarrero's work on complex dynamics supplies the playground's treatment of constraints. Her central claim is that constraints are not merely passive boundary conditions but are causally efficacious: enabling constraints create the very possibility space within which a process can unfold. In the engine, a constraint node does not only subtract from the field (local damping); it also channels and sculpts it (the membrane term), so that patterns appear which would not exist without the constraint. A riverbank does not just contain water, it shapes the flow into meanders.
The running model is deterministic. The exported computeField(graph, time) function evaluates a scalar field on a square grid of side FIELD_RESOLUTION (currently 28, so 784 cells), with no random numbers inside it. The only stochastic step in the whole playground is the random placement of a manually added node; every preset is fully reproducible.
Before the field is drawn, each node's nominal strength is boosted by its incoming edges. Seeds, fields, constants, and attractors contribute positive resonance; observations contribute a small negative term. The boosted value is clamped to the band [0.04, 1.95]. This is how graph topology, not just node parameters, shapes the result: wiring a field into a constant raises that constant's effective forcing.
For every grid point the field accumulates contributions:
Seed: a Gaussian envelope times a radial sine wave plus a polarity bias. At a seed's own centre and time 0 the wave term is sin(0) = 0, so seeds contribute through their surroundings, not their exact centre.
Field: a radial, horizontal, vertical, or spiral sinusoid plus a turbulence term, scaled by 0.72.
Constraint: a profile (ring, stripe, or spiral band) that both multiplies a local damping factor and adds to a membrane accumulator. This is the Juarrero channel-and-dampen split.
Constant: the forcing term. With c the stored constant value, m the (locally adjusted) mitigation, and a Gaussian halo G, the push is
push = eff * (1 - m) * sin(c * (d * 1.65 + theta * 0.35) - 0.25 * t + phase) * G(d)
plus a submerged echo proportional to ingress. Mitigation throttles the constant's surface influence; ingress controls how deeply it penetrates.
Attractor: a recursive Gaussian basin that thickens nascent structure and adds further damping.
The accumulated value is multiplied by the product of all damping factors and passed through tanh for soft saturation. Metrics (energy, coherence, e-leakage, delta-leakage, centre and edge bias, anisotropy, swirl) are then spatial statistics of the resulting field, and a small rule-based classifier assigns one of six morphology labels.
The engine stores five constants as forcing terms: e, the golden ratio phi, pi, the Feigenbaum constant delta (4.6692...), and the silver ratio (1 + sqrt(2)). The first three are exact Math values; delta is a truncated literal; phi and silver are computed from square roots and therefore satisfy their defining identities exactly. The framing of these constants as "trans-real" forcing terms that leave fingerprints on physical form is a deliberately strong, speculative metaphor, flagged as such in the playground's assumptions panel. It should be read as a provocation about the role of mathematical structure in biology, not as an empirical mechanism.
Because the field formula is bespoke, there is no external dataset to calibrate it against in the way one might calibrate a shell model against real molluscs. Instead the calibration suite tests deterministic invariants of the engine, each predicted value computed by the model's own exported functions:
computeField returns exactly FIELD_RESOLUTION^2 = 784 cells.All five reproduce with zero error. They certify that the engine's arithmetic core and readout pipeline behave as documented, which is the honest scope of what a synthetic generative model of this kind can claim.