← all patterns

Gravity operational

Version Gravity

show which version, branch, or draft is becoming canonical

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

"Version Gravity" — show which version, branch, or draft is becoming canonical. It has a gravity layer (universal attraction toward mass), a memory layer (a decaying trail / hysteresis), a link layer (ropes / cloth between neighbours), and a morph layer (assemble matter into a mark/shape (never words, §11)). The active render stack is metaballs, links, field-lines, particles.

Versions gain and lose mass by recency, approval, references, and edits, so the canonical draft becomes a gravity center pulling the rest while forks stay visible as related bodies that may morph toward it.

Runtime tokens
gravity universal attraction toward massmemory a decaying trail / hysteresislink ropes / cloth between neighboursmorph assemble matter into a mark/shape (never words, §11)
Concepts
canonical version
Metrics
version-weight a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertrecency computed every frame by the platform (proximity · engagement · relationships · age)approval a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertfork-distance a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inert version-weight, approval, fork-distance are host-supplied lanes — drive them with data-field-<metric> (or a domain model); without that, their --field-* stays inert.
Diagnostics
topology potential causality
Render
metaballs · links · field-lines · particles
Reduced motion
a version tree with a canonical badge and a fork list
Without motion
versions form a tree; the canonical one carries a badge and a weight, forks list their distance from it

Copy this pattern

<field-root></field-root>
  <div data-body="gravity" data-strength="1.1" data-range="400" data-feedback></div>
  <div data-body="memory" data-strength="0.6" data-range="280"></div>
  <div data-body="link" data-strength="0.6" data-range="300"></div>
  <div data-body="morph" data-strength="0.4" data-range="220"></div>

See also