silk

An agent that weaves orb webs with no plan, no map and no memory of where it has been — only the silk it has already hung. Give it a set of boundary conditions and it returns not a web but a family of them, and the spread inside that family is construction order, not chance.

Same boundary conditions. Sixteen seeds. Every web below is correct — each satisfies every rule the agent has — and no two of them share a single thread position. What they do share is a short list of numbers, and how tightly they share it is the measurement.

boundary

Hold the boundary and the seed. Change exactly one decision, and change nothing else — the streams are separated per decision class, so the spiral's own draws stay bit-identical. Then measure how far the finished web moved. An agent whose environment is its memory cannot un-lay a thread, so the answer depends almost entirely on when you interfered.

boundary seed

Has this agent already been made?

Partly, twice, in two literatures that do not cite each other much.

Rule-based orb-web builders exist and are thirty years old. Krink & Vollrath's 1997 Journal of Theoretical Biology paper built "cyber spiders" whose construction was driven by rule parameters encoded as artificial genes, then ran a genetic algorithm over a population of them against an adjustable ecological niche. They compared the winners to real Araneus diadematus webs grown in the lab and matched spiral distances, eccentricity and vertical hub position. A follow-up put a virtual spider robot under a rule system and evolved the path-finding rules under cost–benefit evaluation. So "an agent that builds a plausible orb from local rules" is settled work, not an open question.

The behavioural side got a great deal sharper in 2021. Corver, Wilkerson, Miller & Gordus tracked millions of individual leg movements of Uloborus diversus with machine vision and clustered them without supervision (Current Biology; code). The result that matters here: a hierarchical hidden Markov model recovers stages of web-building as stereotyped action sequences shared across individuals — and those stages can run in atypical order without becoming different behaviour. That is a stage machine with local triggers, which is exactly the shape of the agent on this page.

The Physarum side is also well developed, separately. Jeff Jones' multi-agent model of Physarum polycephalum (arXiv:1503.06579, and the 2015 book From Pattern Formation to Material Computation) gets transport networks to form, grow and minimise from particles that only deposit a trace and steer up its gradient. It is the canonical environment-as-memory agent, and it is what "physarum" now means in a simulation context — Fogleman's and others' slime-mould renderers are all downstream of it.

What is not in the literature, as far as I can find, is the join. Searching for work that treats web-building explicitly as a stigmergic deposition problem — the Physarum framing applied to silk, with the boundary conditions as the input and the admissible family as the output — turns up the two literatures separately and nothing that puts them together. Web-simulation code on the open web is almost all either decorative (mouse-reactive canvas cobwebs) or Verlet cloth with a spider sprite on it; the one honourable exception, Prajwal Souza's physics simulation, credits Krink & Vollrath and simulates the finished web's mechanics rather than the construction sequence.

So: the agent has been made. The reading of it offered here — as an undecaying-trace Physarum, whose admissible outputs form a measurable family, and whose within-family spread is generated by construction order — I could not find made anywhere, and it is what this page is for. Treat that as a literature search, not a priority claim.

What properties does such an agent have?

Ten, and each one is visible in the code and testable from the page.

  1. It is embodied and local. It has a position, a heading and two reaches. It cannot see the web; it can only touch what it is standing on.
  2. Its own output is its only road. It moves on substrate and on silk it has already laid, and nothing else. This is the source of every other property on this list: the structure under construction is simultaneously the scaffolding, the ruler and the map.
  3. The environment holds the state. Its internal registers never exceed what an animal could plausibly carry — which side it last worked, which radius it is on, how far out it is. Every other question is answered by measuring the fabric. This is the Physarum correspondence, and it is exact.
  4. The trace does not decay. This is where it stops being Physarum. A chemoattractant evaporates, so a slime mould can forget a bad early commitment and re-optimise; the final network is largely independent of the order the tubes were laid in. Silk cannot be un-laid. Construction order is therefore carried into the finished object, and the family is generated by path dependence rather than by noise.
  5. It runs a stage machine, not a plan. Bridge, frame, hub, radii, auxiliary spiral, capture spiral, finish. Transitions fire on local conditions — "no rim gap wider than a leg span remains" — never on a clock or a target count.
  6. Its stopping rules are bodily. The number of radii is not a parameter. It is rim perimeter divided by leg span, because a gap it cannot straddle is a gap it must split. Mesh height is a different, much shorter reach. Change the animal's size and both move together.
  7. It is gravity-asymmetric by behaviour, not by mechanics. It stops short on its drop, so the hub rides high; it lets the mesh run wider above the hub than below. On the square reveal that shows up as a hub rise of about +0.11, roughly 1.4× as much capture area hanging below the hub as above, and a mesh about 1.2× wider above. Set gravity to zero and all three collapse to 0.00, 0.95 and 1.05 — the no gravity preset is the control that proves the asymmetry is the agent's doing and not something the algorithm was going to produce anyway. (The sheet's physical sag is a separate, deliberately small term: at full strength it dragged the hub back down to centre and cancelled the behaviour it was supposed to be illustrating.)
  8. It destroys as it builds. The auxiliary spiral is a handrail, not a product. The capture spiral eats it turn by turn, and recovers most of the protein. The agent is standing on the thing it is removing.
  9. It is resource-bounded, and degrades in a specific order. Frame and radii are non-negotiable; the capture spiral is what a shortfall lands on. Run it short of silk and it stops mid-inward with a real, usable, unfinished web — not a failure.
  10. It is deterministic given a seed. Without this there is no family, only anecdotes. Separate random streams per decision class are what let the path-dependence sweep perturb one decision while holding every other draw bit-identical.

How to read the three views

weave is one run, animated, with the stage it is in and what it has built so far. the family runs sixteen seeds against one boundary and reports the coefficient of variation of each invariant — tight numbers beside wildly different geometry is the claim. path dependence nudges a single decision and measures how far the finished web moved, as a function of when the nudge happened.

The long form of both sections above — the full literature search with citations, the ten properties, the measurement tables, and a list of what this model does not capture and how that would change the answer — is in RESEARCH.md. The surface's own operating notes, including the four modelling mistakes that had to be found and fixed before the webs looked like webs, are in silk/CLAUDE.md.

Everything runs in your browser; nothing is sent anywhere. The engine is four dependency-free modules — fabric.mjs, weaver.mjs, boundary.mjs, metrics.mjs — and has a node selftest that asserts determinism, stage completion, the gravity control and the shape of the path-dependence curve.