← all patterns

Electromagnetic systems

Resonance Match

highlight elements that ring with the user current intent

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

"Resonance Match" — highlight elements that ring with the user current intent. It has a charge layer (attract/repel charged matter), a memory layer (a decaying trail / hysteresis), a cohesion layer (flocking — pull toward neighbours), and a propagate layer (travelling waves through the medium). The active render stack is field-lines, links, particles, trails.

Electric charge lets elements ring with shared terms while memory carries history and propagate spreads the match; resonance shows as coherence, not noise.

Runtime tokens
charge attract/repel charged mattermemory a decaying trail / hysteresiscohesion flocking — pull toward neighbourspropagate travelling waves through the medium
Metrics
resonance a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertintent a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertconfidence written only when the host supplies it — the engine never invents confidence/riskmemory computed every frame by the platform (proximity · engagement · relationships · age) resonance, intent are host-supplied lanes — drive them with data-field-<metric> (or a domain model); without that, their --field-* stays inert.
Diagnostics
causality topology field-lines
Render
field-lines · links · particles · trails
Reduced motion
a related-item list with resonance badges and ranked suggestions
Without motion
resonance becomes a ranked list of matches with explicit strength badges rather than a glow

Copy this pattern

<field-root></field-root>
  <div data-body="charge" data-strength="1" data-range="380" data-spin="1" data-feedback></div>
  <div data-body="memory" data-strength="0.7" data-range="300"></div>
  <div data-body="cohesion" data-strength="0.6" data-range="280"></div>
  <div data-body="propagate" data-strength="0.5" data-range="320"></div>

See also