← all patterns

Diagnostic / platform operational

Scope Lens

reveal what a component, recipe, or action can affect

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

"Scope Lens" — reveal what a component, recipe, or action can affect. It has a link layer (ropes / cloth between neighbours), a wall layer (bounce matter off a boundary), and a lens layer (bend passing matter (refraction)). The active render stack is links, field-lines, voronoi, particles.

A diagnostic overlay, not a field of its own: links trace what an action can reach, walls mark where its scope stops, and the lens focuses the view on reach before mutation. It reads the relationship graph rather than translating a natural field.

Runtime tokens
link ropes / cloth between neighbourswall bounce matter off a boundarylens bend passing matter (refraction)
Concepts
scope
Metrics
scope a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertimpact a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertrisk written only when the host supplies it — the engine never invents confidence/riskrelation-strength a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inert scope, impact, relation-strength are host-supplied lanes — drive them with data-field-<metric> (or a domain model); without that, their --field-* stays inert.
Diagnostics
topology inspector causality
Render
links · field-lines · voronoi · particles
Reduced motion
an affected-item table with an impact list and a scope outline
Without motion
activating the lens lists every item an action can affect in a table, each with a relation strength

Copy this pattern

<field-root></field-root>
  <div data-body="link" data-strength="0.8" data-range="340" data-feedback></div>
  <div data-body="wall" data-strength="0.6" data-range="280"></div>
  <div data-body="lens" data-strength="0.5" data-range="300"></div>

See also