← all patterns

Weak systems

Drift Correction

bring wandering attention or unstable layout back into coherence

Running the actual pattern live via applyPattern() — switch the substrate, stack overlays, watch the signals, or reverse the dynamics. Not a mock.

"Drift Correction" — bring wandering attention or unstable layout back into coherence. It has a gravity layer (universal attraction toward mass), a tether layer (bind matter to an anchor), a memory layer (a decaying trail / hysteresis), and a morph layer (assemble matter into a mark/shape (never words, §11)). The active render stack is streamlines, trails, particles, dots.

A weak corrective pull is the gentle counterpart to gravity: tether (spring) remembers the stable relation and morph eases the return so wandering settles without snapping.

Runtime tokens
gravity universal attraction toward masstether bind matter to an anchormemory a decaying trail / hysteresismorph assemble matter into a mark/shape (never words, §11)
Concepts
spring
Metrics
drift a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertreturn a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertstability a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inert drift, return, stability are host-supplied lanes — drive them with data-field-<metric> (or a domain model); without that, their --field-* stays inert.
Diagnostics
prediction force-vectors inspector
Conditions
stale
Render
streamlines · trails · particles · dots
Reduced motion
a snap guide with a restore marker and a stable-state outline
Without motion
drift reads as a labeled distance from the stable state with a one-step restore control

Copy this pattern

<field-root></field-root>
  <div data-body="gravity" data-strength="0.6" data-range="360" data-feedback></div>
  <div data-body="tether" data-strength="0.7" data-range="320"></div>
  <div data-body="memory" data-strength="0.5" data-range="280"></div>
  <div data-body="morph" data-strength="0.4" data-range="240"></div>

See also