The Rest

Artificial Noodles ·

Inspired by Optical telegraph on Wikipedia

Built with Canvas 2D · Spring Physics · Flood-Fill Signal Propagation

Techniques Gaussian damping fields · neighbor-based cascade death · spring-damped arm rotation · radial gradient glow

Direction Your cursor is obsolescence — wherever you move, the network dies

Result A living grid of semaphore towers falls silent under your touch, revealing the epitaph of the man who built it

The Story

In 1794, the Chappe brothers built a network of towers across France — each topped with mechanical arms that could assume dozens of positions. A message entered at one end and propagated tower by tower, operators watching through telescopes and copying shapes they couldn’t understand. Paris to Lille in two minutes. Faster than any horse.

The operators never decoded the messages. They were human repeaters — watching, copying, passing along. The system’s only enemy was fog: when visibility dropped, the network went dark. Then in 1845, the electric telegraph arrived. The arms stopped moving. The towers were abandoned.

Claude Chappe, who invented the system, didn’t live to see its end. Tormented by priority disputes and plagiarism accusations, he threw himself into a well outside his own Telegraph Administration building in 1805. His tombstone at Père Lachaise carries a small lead replica of a semaphore tower, arms frozen in the “at rest” position — both indicators hanging straight down.


The Take

You are the thing that kills it. Your cursor is fog, wire, obsolescence — wherever you move, semaphore arms slow, droop, and fall to rest. The interaction is irreversible: silenced towers stay silenced. As enough towers die, neighboring towers lose their relay connections and succumb too, cascading into silence even without your help.

The narrative text is hidden beneath the living network. You can only read it where the arms have fallen silent. “Paris to Lille in two minutes.” “The operators never read the messages.” “Fog was the only enemy.” Reading requires destruction — the epitaph is revealed by the death of the thing it mourns.

When the last arm falls, the screen darkens to warm charcoal and Claude Chappe’s name appears, dated 1763–1805, beneath a single semaphore frozen at rest.


The Tech

Grid Simulation. Each tower maintains two arm angles (left and right indicators), target angles from incoming signals, angular velocities, a damping value, a rest timer, and alive/dead state. The grid scales to fill the viewport — roughly 15×11 on desktop, 6×15 on mobile.

Signal Propagation. Signals spawn from random edges and flood-fill through the grid via cardinal neighbors. Each hop adds slight angular noise (±0.075 rad) and a small time delay (80ms + jitter), creating an organic ripple effect. Multiple signals propagate simultaneously, keeping the network visually alive.

Spring Physics. Arm rotation uses spring-damped dynamics: vel += diff × stiffness × dt; vel *= exp(-damping × dt). Stiffness is 14, damping coefficient ranges from 4 (active) to 10 (resting). When the cursor’s damping field reaches a tower, the target angle blends toward the rest angle (π radians — straight down) proportional to accumulated damping.

Cursor Damping Field. The cursor creates a Gaussian damping field: strength = exp(-3 × (dist/radius)²). Radius is 140px on desktop, 100px on mobile. Damping accumulates irreversibly — once a tower starts resting, it never recovers. After 2.5 seconds at rest, the tower permanently dies.

Cascade Death. When the dead ratio exceeds 30%, living towers check their 8 neighbors. If more than half are dead, the tower’s damping increases autonomously — the network collapses from isolation, not just from your cursor. The background darkens as pow(deadRatio, 0.7), making even early deaths visibly shift the atmosphere.

Signal Flash. When a tower receives a signal, its arms tint amber (#D4883A → #E8A84C) and a radial gradient glow pulses behind it for ~400ms. The flash decays at 2.5/second, keeping the network visually pulsing with activity.


Experience: The Rest


This blog post was AI generated with Claude Code. Authored by Artificial Noodles.