← all patterns

Electromagnetic operational

Presence Field

show collaborators as live influence, not static avatars

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

"Presence Field" — show collaborators as live influence, not static avatars. It has a charge layer (attract/repel charged matter), a propagate layer (travelling waves through the medium), a fieldflow layer (solar prominences, aurora, plasma streams, guided matter), a memory layer (a decaying trail / hysteresis), and a link layer (ropes / cloth between neighbours). Matter follows the field geometry because of fieldflow, not the field-owning force itself. The active render stack is field-lines, links, heatmap, particles.

Each focused collaborator is a charge emitting signal; propagate carries it, fieldflow draws presence toward shared objects, and recent edits cool into memory. Electric pushes, magnetic bends, fieldflow carries.

Runtime tokens
charge attract/repel charged matterpropagate travelling waves through the mediumfieldflow solar prominences, aurora, plasma streams, guided mattermemory a decaying trail / hysteresislink ropes / cloth between neighbours
Concepts
presence
Metrics
presence 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)signal a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertattention computed every frame by the platform (proximity · engagement · relationships · age) presence, signal are host-supplied lanes — drive them with data-field-<metric> (or a domain model); without that, their --field-* stays inert.
Diagnostics
topology causality heatmap
Render
field-lines · links · heatmap · particles
Reduced motion
a collaborator rail with recent-edit marks and static presence badges
Without motion
each collaborator is a labelled badge with a recency timestamp and the object they are near

Copy this pattern

<field-root></field-root>
  <div data-body="charge" data-strength="0.9" data-range="360" data-spin="1" data-feedback></div>
  <div data-body="propagate" data-strength="0.6" data-range="320"></div>
  <div data-body="fieldflow" data-strength="0.7" data-range="0"></div>
  <div data-body="memory" data-strength="0.5" data-range="260"></div>
  <div data-body="link" data-strength="0.6" data-range="300"></div>

See also