The executable manual

The full engine, live — force by force.

The complete, executable manual: 36 forces, the presets, and the system behaviour, each demo running on the real engine. Every section below is a live field. Prefer to poke at it directly? Open the Lab →

Open the Lab →
I

Substrate

What the field is made of — and how it locks to the page. See the platform layer.

01 — Synchronization

The platform maps semantic elements into field coordinates.

The runtime measures registered bodies through the host / platform boundary and maps each element’s box into the field — so the field and the page describe the same space.

Because it re-measures as the page changes, the field stays locked to the visible boxes through scroll, resize, and reflow.

measure: rect(el) field(x, y)
02 — Mass & damping

Particles are point-masses in a medium.

Each particle carries a velocity and a nominal mass — m = 1 by default. Every frame its velocity is multiplied by a friction factor — momentum bleeds off instead of accumulating.

vₜ₊₁ = v · f (f ≈ 0.95) · m ∝ size

Damping is why the field settles into calm swarms rather than scattering. The formula shows the opt-in mode — mass: true — where m scales with size; default particles run at nominal mass m = 1.

03 — Currents

The waves are a flow field.

Near a wave line, particles pick up a drag vector along the slope of the curve — the derivative of the sine — so they drift like debris carried down a river.

slope(x) = cos(x · freq + φ) · freq · amp · vₓ += slope · influence

It’s why the resting field feels alive without any input.

Live — the four fields

Every page already has these four. Fundamental gives them behavior.

Pick one, and watch the same page resolve through a different field.

Gravity translates priority into convergence.

They are not four effects — they are four ways a semantic surface can behave.

Live — a body as a vessel

A body isn’t only a force. It can be a vessel.

Forces push and pull. But a body can also take matter in — it captures the dots near it, holds them as it fills, and releases them all at once when it’s full. Capture, hold, release: nothing conjured, nothing deleted. Matter just changes hands.

The shipped case is a sink. data-absorb sets how close it grabs from; data-max sets how much it can hold; the engine writes the fill back as --load, so the body can show how full it is. Drag it through the swarm and watch the meter climb — then pop.

captureholdrelease (at data-max)
a vessel — drag it; it fills, then pops
vessel
it captures nearby dots, holds them, and releases on supernova
II

Natural-field translations

Every interface already has priority, polarity, binding, and transformation. Fundamental translates the four forces of nature into those relations — gravity becomes priority, electromagnetism becomes polarity and signal, strong becomes binding, weak becomes transformation. The runtime tokens below are engine expressions of that grammar (true 1/d², Lorentz, Langevin, diffusion, waves) — translations, not additional fundamental fields. See the Natural Fields model.

Gravity priority, convergence, hierarchy

04 — Gravity

A heavy headline with a true 1/d² pull — a real well.

True softened inverse-square — a real 1/d² law.

F = G·M·d̂ / (d² + ε²), ε = r_s = 2GM/c²; |v| ≤ c
gravity in the force catalog →
gravity — drag me gravity true softened inverse-square — a real 1/d² law

Electromagnetic polarity, signal, field lines, flow

05 — Charge

Two states that demix charged matter into +/− domains.

The signed sibling of gravity — like repels, opposite attracts.

F = −σ·q·GM·d̂ / (d² + ε²)
charge in the force catalog →
charge — drag me charge the signed sibling of gravity — like repels, opposite attracts
06 — Magnetism

A region that curves moving charge into cyclotron arcs.

The Lorentz force — curves a moving charge, doing no work.

v ← rotate(v, θ), θ = q·spin·B·(1 − d/r)
magnetism in the force catalog →
magnetism — drag me magnetism the Lorentz force — curves a moving charge, doing no work
07 — Propagate

A button that fires a real shock wave across the field.

A travelling wave — particles ride the expanding front.

pulse φ at the source; v += r̂·|∇φ|·S (ride the front out); ∂²φ/∂t² = c²∇²φ
propagate in the force catalog →
propagate — drag me propagate a travelling wave — particles ride the expanding front

Strong binding, cohesion, structure

08 — Crystallize

A "cool" section where matter snaps onto a lattice.

Snaps cool matter onto a lattice; melts and frees it when hot.

if heat < ½: v += (node − p)·k; v *= 0.9
crystallize in the force catalog →
crystallize — drag me crystallize snaps cool matter onto a lattice; melts and frees it when hot
09 — Align

A nav where particles flock to a shared heading.

Steers toward a heading, preserving speed — flock alignment.

v += (ĥ·|v| − v)·k, ĥ = neighbour-mean heading (or the body heading)
align in the force catalog →
align — drag me align steers toward a heading, preserving speed — flock alignment
10 — Cohesion

A tag group that behaves like a droplet — a swarm with a skin.

Short-range pressure + mid-range pull — surface tension.

neighbours: push if d < r₀, pull if r₀ < d < r₁
cohesion in the force catalog →
cohesion — drag me cohesion short-range pressure + mid-range pull — surface tension
11 — Pressure

A dense cluster that relaxes to an even fill, like a settling fluid.

SPH density relaxation — incompressible even-fill via mutual repulsion.

ρ = Σ W(d, h); v += −k·(ρ − ρ₀)·∇W (push down the density gradient)
pressure in the force catalog →
pressure — drag me pressure SPH density relaxation — incompressible even-fill via mutual repulsion
12 — Link

A cluster that holds together like cloth — a soft structure that ropes and drapes.

A Verlet distance constraint — ropes, chains, cloth, soft structures.

neighbours: e = d − L; v += ½k·(e/L)·û (holds rest length L = range·0.35)
link in the force catalog →
link — drag me link a Verlet distance constraint — ropes, chains, cloth, soft structures

Weak transformation, decay, release

13 — Morph

A logo or chart that assembles from drifting matter — a mark, never words.

Matter assembles into a mark / chart / logo — never words (§11).

assign p → target t (hash of gx); v += (t − p)·k + jitter·(1 − arrived)
morph in the force catalog →
morph — drag me morph matter assembles into a mark / chart / logo — never words (§11)

Derived & supporting behaviors that compose from the four

14 — Thermal

A "hot" badge that agitates the field with Brownian heat.

Langevin/Brownian agitation — a real temperature in the medium.

v += √(2T) · ξ, T = S·(1 − d/r), ξ ~ N(0,1) per axis
thermal in the force catalog →
thermal — drag me thermal Langevin/Brownian agitation — a real temperature in the medium
15 — Collide

A dense cluster where particles ricochet like billiards.

Elastic pairwise collision — the hard-sphere billiard force.

overlapping, approaching discs exchange normal momentum (e = S)
collide in the force catalog →
collide — drag me collide elastic pairwise collision — the hard-sphere billiard force
16 — Diffuse

A trail particles lay down and follow — stigmergy.

A pheromone field — deposit a mark and follow the diffused gradient.

deposit φ; v += ∇φ · S; field blurs ∂φ/∂t = D∇²φ
diffuse in the force catalog →
diffuse — drag me diffuse a pheromone field — deposit a mark and follow the diffused gradient
17 — Memory

A frequently-used path that wears in and starts pulling harder.

The field remembers — occupancy wears in paths that pull harder.

M(x) += λ where matter sits; v += û · (1 − d/r)² · S · 0.5 · (1 + μ·M)
memory in the force catalog →
memory — drag me memory the field remembers — occupancy wears in paths that pull harder
III

Forces

What a single body can do to the matter around it — designed UI verbs, stable and bounded. A designed verb is not a natural field: an attractor is not gravity, a repeller is not charge. See the full force catalog.

18 — Attraction

A body can pull the field into orbit.

attract in the force catalog →

An attractor defines a gravity well. The pull grows as distance falls, and a tangential component bends incoming particles into stable spirals.

F = (1 − d / dmax)² · S

Drag the attractor — the force is bound to the element, not the cursor.

attractor — drag me attractor force follows the element across the field
19 — Repulsion

A body can push the field away.

repel in the force catalog →

A repeller is an inverted well — the force points outward, carving a clean void the rest of the field flows around.

F = −(1 − d / dmax)² · S

Drag the repeller and watch a clearing open around it.

repeller — drag me repel force points outward — a void opens in the field
20 — Reflection

A body can be a wall.

wall in the force catalog →

A wall is an axis-aligned box. A crossing particle has its perpendicular velocity reversed and scaled by elasticity, then is projected back out — a hard hit throws a spark.

vertical edge: vₓ ← −Cᵣ · vₓ

Drag the wall into the drifting particles to deflect them.

wall — drag me
wall
particles bounce off the bounding box
21 — Swirl

A body can spin the field.

swirl in the force catalog →

A swirl applies a dominantly tangential force — a swirl, not a drain. The inward pull is light (the swirl dominates it roughly eightfold), so matter wheels around the body instead of falling in. A tight inward spiral is a preset (whirlpool), never the canonical verb.

v += (−d̂_y, d̂_x) · S · spin + · S · 0.12

Drag the swirl into the swarm — particles orbit rather than fall in.

swirl — drag me swirl tangential force — the field circles, never collapses
22 — Stream

A body can blow a current.

stream in the force catalog →

A stream emits a constant force along a heading — a fan, a jet, a prevailing wind. The swarm combs into parallel flow.

v += (cos θ, sin θ) · S · (1 − d/dmax)

Drag the jet and watch matter streak into lanes downwind.

stream — drag me stream directional current — particles comb downwind
23 — Tether

A body can tether the field at a fixed distance.

tether in the force catalog →

A tether has a rest length. Matter that crowds in is pushed out; matter that strays is reeled in — the swarm settles into an orbiting shell.

v += û · (drest) · k

Drag the tether — matter springs back to its radius.

tether — drag me tether a tether — matter holds a shell at the rest radius
24 — Viscosity

A body can thicken the medium.

viscosity in the force catalog →

A viscosity body neither pulls nor pushes — it bleeds momentum, as if the field turned to honey. Paired with an attractor it turns a slingshot into a settled orbit.

vv · (1 − k), k ∝ (1 − d/d_max)·S

Agitate, then watch the rush die inside the zone.

viscosity — move me viscosity a viscous zone — momentum bleeds off, the swarm settles
25 — Accretion & release

A body can hold matter — and give it back.

sink in the force catalog →

A sink captures particles at its core. They aren’t deleted — they’re held inside, and the element inflates as it fills. When it saturates it goes supernova: the exact particles are released radially.

scale = 1 + (accreted / capacity) · 0.45 · captured = released

Nothing is conjured from thin air, and nothing vanishes. Matter changes hands.

sink — fills, then pops
core
matter accumulates, then releases on supernova
26 — Emission

A body can be a fountain.

jet in the force catalog →

A jet draws surrounding matter into its nozzle and relaunches it as a hot jet — the field is recycled into a stream, nothing conjured.

feed: v += d̂ · S · at nozzle: v = (cos θ, sin θ) · spd

Agitate to feed it, then watch the jet stream off along its heading.

jet — move me · jets → jet a fountain — matter is drawn in and jetted back out
IV

Designed-extended

Further designed forces, and the modifiers that wrap a sibling. See the full force catalog.

27 — Lens

A link that bends a passing flow into caustics — no capture.

Rotates velocity, preserving speed — bends paths without adding energy.

v ← rotate(v, θ_max · (1 − d/r) · sign)
lens in the force catalog →
lens — drag me lens rotates velocity, preserving speed — bends paths without adding energy
28 — Gate

A one-way membrane: matter passes through but not back.

A one-way membrane — passes along its heading, reflects the reverse.

if v·n < 0: v −= 2(v·n)·n
gate in the force catalog →
gate — drag me gate a one-way membrane — passes along its heading, reflects the reverse
29 — Buoyancy

A feed where light/hot items rise and dense ones settle.

A constant lift/sink by density — light matter rises, dense settles.

v_y −= (ρ_med − ρ_p)·g, ρ_p = base / (size·(1 + heat))
buoyancy in the force catalog →
buoyancy — drag me buoyancy a constant lift/sink by density — light matter rises, dense settles
30 — Shear

A divider with laminar flow — layers slide past each other.

A laminar velocity gradient — flow grows with perpendicular offset.

v∥ += S · (offset⊥ / r) · (1 − d/r)
shear in the force catalog →
shear — drag me shear a laminar velocity gradient — flow grows with perpendicular offset
31 — Wind

A hero with divergence-free turbulence drifting through it.

Divergence-free curl-noise turbulence.

v += curl(ψ)·S, ψ = sin(x·s + 0.2t)·cos(y·s − 0.2t)
wind in the force catalog →
wind — drag me wind divergence-free curl-noise turbulence
32 — Hunt

A two-species swarm that chases and scatters — a living ecosystem.

Two-species pursuit — predators seek prey, prey flee predators.

predator: v += seek(nearest prey)·S; prey: v += flee(nearest predator)·S
hunt in the force catalog →
hunt — drag me hunt two-species pursuit — predators seek prey, prey flee predators
33 — Spawn

A nozzle that jets matter into the field — a literal fountain or a star seeding the void.

A source [S] — creates matter along the heading, budgeted by a lifespan + pool ceiling.

while engaged: emit S·2 particles/frame along the heading, each living ~90 frames
spawn in the force catalog →
spawn — drag me spawn a source [S] — creates matter along the heading, budgeted by a lifespan + pool ceiling
34 — Resonate

Pair with attract: a well that breathes (pulsing strength).

Pulses its sibling forces with a time-varying strength.

modifier: scales sibling S by S(t) = 1 + sin(ω·t)
resonate in the force catalog →
resonate — drag me resonate pulses its sibling forces with a time-varying strength
35 — Spotlight

Pair with stream: a directed beam confined to a cone.

A directional gate — confines sibling forces to a beam.

modifier: gates siblings outside an angular cone of the heading
spotlight in the force catalog →
spotlight — drag me spotlight a directional gate — confines sibling forces to a beam
36 — Screen

A reading column the field quiets down around — text shielded from a noisy page.

A quiet zone — attenuates other bodies' forces inside its radius (shield, never global).

modifier: other bodies' force on matter inside r is scaled by clamp(1 − S·(1 − d/r)², min, 1)
screen in the force catalog →
screen — drag me screen a quiet zone — attenuates other bodies' forces inside its radius (shield, never global)
37 — Pigment

A section that stains passing matter its own color, carried away.

Conserved color transport — matter takes on and carries a tint.

on overlap: c_p ← mix(c_p, tint, rate); the color advects with matter
pigment in the force catalog →
pigment — drag me pigment conserved color transport — matter takes on and carries a tint
38 — Field Flow

A magnet or charge whose field lines the swarm threads, like plasma along a solar prominence.

Follow the field lines — steer onto and stream down the net field a body radiates.

n̂ = netField/|netField|; v += (n̂·|v| − v)·k_steer + n̂·gain·a_accel, gain = S·(1 − d/r)
fieldflow in the force catalog →
fieldflow — drag me fieldflow follow the field lines — steer onto and stream down the net field a body radiates
39 — Warp

A pair of portals: matter that enters one throat emerges from its partner, conserved.

A wormhole throat — relocates matter (conserved) to its data-pair body, twisted/scaled.

within absorbR: p ← pairCentre + R(twist)·û·(absorbR·scale + 6); v ← R(twist)·v
warp in the force catalog →
warp — drag me warp a wormhole throat — relocates matter (conserved) to its data-pair body, twisted/scaled
V

Presets

Cosmology as composition — named arrangements of the primitives. See the preset reference.

40 — Blackhole

A dramatic focal element — the field pours in, circles, and is swallowed.

A well, an accretion disk, an event horizon, and lensing.

expands to: attract · swirl · sink · lens
blackhole — drag me blackhole hover to engage · 4 forces in one body
41 — Whitehole

A source that only emits — the field is pushed away and downwind.

An emission horizon that throws matter out.

expands to: repel · stream
whitehole — drag me whitehole hover to engage · 2 forces in one body
42 — Star

A balanced body — gravity’s pull held off by thermal pressure.

Hydrostatic equilibrium — gravity balanced by thermal pressure.

expands to: gravity · thermal
star — drag me star hover to engage · 2 forces in one body
43 — Quasar

An accreting core with bright jets firing from its poles.

An accreting black hole with polar jets.

expands to: attract · swirl · sink · lens · jet
quasar — drag me quasar hover to engage · 5 forces in one body
44 — Galaxy

A spiral that winds the field into arms and settles into a disk.

A spiral disk that settles into a plane.

expands to: attract · swirl · viscosity · lens
galaxy — drag me galaxy hover to engage · 4 forces in one body
45 — Nebula

A warm, slow cloud — the field churns and light wisps rise.

A warm, slow cloud with rising wisps.

expands to: thermal · viscosity · buoyancy
nebula — drag me nebula hover to engage · 3 forces in one body
46 — Tornado

A funnel that swirls the field up its axis, ragged at the edges.

A funnel with an updraft, calmed at the edges.

expands to: swirl · stream · viscosity
tornado — drag me tornado hover to engage · 3 forces in one body
47 — Fountain

A literal fountain — matter sprays upward and falls back in an arc.

A class-[S] source jetting matter up, arcing home under gravity.

expands to: spawn · gravity
fountain — drag me fountain hover to engage · 2 forces in one body
VI

Conditions

When a force decides to act, and on which matter. See authoring & conditions.

48 — Conditional

A force can choose what it touches.

Any body can carry a condition — gated on being engaged, or on a particle’s speed or heat. A selective force reads every free agent and acts only on those that match.

when = active · fast · slow · hot · cool · scrolling

The catcher below only grips hot particles. Heat the field and the excited matter is pulled in while the calm passes through.

conditional — catches heat only when hot selective attractor — grips excited matter, ignores the calm
VII

System

What emerges when the parts interact. See the concepts and reading the field.

49 — Reciprocity

The field changes the element back.

The element bends the field — and the field’s local density bends the element in return. As particles gather on a word, it gains weight, brightness, and lift.

--field-density = density(body) weight, glow, rise

Hover the word — it pulls the field, the field piles up, and the pile makes the word heavier. A closed loop. (--d is the canonical raw density channel; --field-density is its field-namespaced form.)

density → weight density gathered particles raise the element’s weight
50 — Conserved attention

The page can’t emphasize two things at once.

There is one finite budget of force for the whole page. Engage a word and it pulls force off every other — so as one gathers matter and grows heavier, the rest give theirs up. Focus isn’t styled; it’s conserved.

Σ Sᵢ · effortᵢ = constant

Hover one word — watch the others surrender their weight to it.

one budget, redistributed
focus depth weight
one finite budget — engaging one starves the rest
51 — Threads

Engaging one body wires the set.

Engage an element in a group and the field draws living threads between it and its siblings. A list stops being a list and shows itself as a connected system.

Hover any line.

a connected set
Product System Interface Material
threads connect the engaged body to its set
52 — Cross-boundary causality

Density doesn’t stop at the edge.

When a body saturates, the excess spills to its neighbours — weighted by nearness, and conserved. Engage one tile and the ones beside it light up on their own. The wiring between elements appears because matter actually flows between them.

Φᵢⱼ = κ · excessᵢ · wᵢⱼ ⁄ Σ wᵢₖ

Hover the middle tile — watch its neighbours catch, the far ones faintly.

spill → neighbours light
engage one — the excess spills to whoever’s near
53 — Formations

The whole field can change its mind.

Forces act locally. A formation acts on every particle at once — a single global bias. As you scrolled, each chapter quietly switched it.

Ambient — calm brownian drift, the resting state.

54 — Material typography

Type is a readout of mass.

The word is a body. It pulls the field, matter pools beneath it, and its whole appearance — weight, optical size, tracking, bloom, color — is a live readout of how much has gathered. One value, --field-density, drives every axis at once.

--field-density wght · opsz · tracking · bloom · color

Disturb it — the burst scatters the pile, the type goes light and pale, then it thickens back as the field resettles under its own pull. Type as a material, not a style.

density → every type axis material weight, optical size, tracking, glow and color are one density
55 — Self-laying-out

The page arranges itself.

These nodes aren’t pinned by CSS. Each one pushes off the others and drifts away from crowded field, settling into an equilibrium — and re-settling when the field is disturbed or the window resizes. Layout as a physical process, not fixed coordinates.

F = anchor + repel + density pressure

Drag the attractor through them, or resize the window — the constellation scatters and re-settles like a physical object.

elements find their own positions field
Product System Interface Material Motion
anchor + mutual repulsion + density pressure → equilibrium
Gallery · the contract, live hybrid

data-* in, --field-* out — the actual number.

This word is a body — data-body="attract" with data-feedback on. The engine measures the density of matter gathered on it and writes it back as --field-density, the same variable you'd style with. Drag it into the swarm and watch the value — and its weight — climb.

--field-density is read straight off the element's computed style each frame — no tricks.

--field-density, off the live element density
--field-density = 0.00
drag it through the dots — the number is the gathered density
Gallery · Field Surfaces diagnostic

One field, every reading.

The same particles, the same physics — only the reading changes. The matter row is the underlay switch (field.setRender): one way of drawing the substance at a time. The readings row is the overlay (field.setOverlay): line-drawn diagnostics in front of the content — and they are additive. Stack a deformation grid over traced paths over a temperature contour and read the field three ways at once.

Scoped to this panel: the modes play across the whole-page field while it is in view, then restore to dots / off.

matter · field.setRender(mode) — one at a time
readings · field.setOverlay([…]) — stack as many as you like

dots — The default — each particle a soft dot, cool centre → warm edge → accent.

plays across the whole page field behind the content while in view
Gallery · Contour Charge hybrid

Charge it with attention.

The contour-charge recipe: the word below is a real text body — sink attract, gated on engagement — wearing its generated glyph outlines as a bound representation. Hold your pointer on it and it pulls matter in, captures it, and the contour rings thicken and glow as --load rises. Take your attention away and it discharges — the engine releases exactly the matter it held, in a burst.

The vessel charges only while attended (data-when="active"); release fires on the falling edge of attention. Conserved end to end — the same particles return to the field.

recipe: contour-charge · sink attract ?active

Charge

dwell to charge it — look away (pointer off) and it lets go
Gallery · data as participants semantic

Records become bodies; relevance becomes gravity.

These rows aren’t markup — they’re data, bound to the field with bindData(records, mapper, { recipe: "search-relevance-field" }). Each record becomes a body whose pull scales with its relevance; the field (behind the list) reads the data and the rows organize around it. Re-rank, and the bodies re-settle.

The same call powers a real search surface — data drives the field, the field renders the data.

Gallery · applied — navigation has gravity designed

The active item pulls focus.

A plain nav, but every item is a body. The current one runs hot — it gathers matter, so its --field-density stays high and it reads heaviest. Hover another and it pulls the weight over. Emphasis isn’t a class you toggle; it’s where the field is densest.

An ordinary pattern, made reciprocal — the same trick behind priority, search, and reading surfaces.

Now go bend it yourself.