← all recipes

Electromagnetic systems

Polarity Filter

let opposing states, tags, or preferences sort themselves visibly

frame bodies 0 relationships 0

Running the actual recipe live via applyRecipe() — not a mock.

"Polarity Filter" — let opposing states, tags, or preferences sort themselves visibly. It has a charge layer (attract/repel charged matter), a repel layer (carve a void / keep-clear region), a attract layer (draw matter into a focus / well), and a diffuse layer (spread a quantity over the medium). The active render stack is field-lines, particles, dots, trails.

Electric pushes and pulls by sign: matching charge attracts toward the active filter, opposing charge repels, and diffuse keeps neutral items quietly stable.

Runtime tokens
charge repel attract diffuse
Metrics
polarity match distance polarity, match, distance are host-supplied lanes — drive them with data-field-<metric> (or a domain model); without that, their --field-* stays inert.
Diagnostics
field-lines causality potential
Render
field-lines · particles · dots · trails
Reduced motion
grouped filter lanes with signed badges and separate match and conflict sections
Without motion
polarity reads as a signed badge and items live in labeled match or conflict groups

Copy this recipe

<field-root></field-root>
  <div data-body="charge" data-strength="1" data-range="380" data-spin="1" data-feedback></div>
  <div data-body="repel" data-strength="0.8" data-range="320"></div>
  <div data-body="attract" data-strength="0.7" data-range="340"></div>
  <div data-body="diffuse" data-strength="0.5" data-range="260"></div>

See also