← all patterns

Weak operational

Anomaly Bloom

surface unusual behavior as local heat and instability

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

"Anomaly Bloom" — surface unusual behavior as local heat and instability. It has a thermal layer (agitate matter at a temperature), a diffuse layer (spread a quantity over the medium), a pressure layer (relax crowding (incompressibility)), a morph layer (assemble matter into a mark/shape (never words, §11)), and a memory layer (a decaying trail / hysteresis). The active render stack is heatmap, metaballs, particles.

Anomalies bloom locally as thermal heat that diffuses outward; they never auto-alarm, instead letting heat, pressure, and spread reveal whether the event is isolated, growing, or cooling into memory (the weak interaction is the local instability that lets behavior morph).

Runtime tokens
thermal agitate matter at a temperaturediffuse spread a quantity over the mediumpressure relax crowding (incompressibility)morph assemble matter into a mark/shape (never words, §11)memory a decaying trail / hysteresis
Concepts
anomaly bloom
Metrics
anomaly a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertheat a semantic lane — drive it with data-field-<metric> (or a domain model); without that its --field-<metric> stays inertspread 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/risk anomaly, heat, spread are host-supplied lanes — drive them with data-field-<metric> (or a domain model); without that, their --field-* stays inert.
Diagnostics
heatmap contours energy causality
Conditions
threshold
Render
heatmap · metaballs · particles
Reduced motion
anomaly badges with an affected-region list and a severity gradient
Without motion
each anomaly is a labelled badge with a severity value and the region it affects, ranked by heat

Copy this pattern

<field-root></field-root>
  <div data-body="thermal" data-strength="1" data-range="320" data-feedback></div>
  <div data-body="diffuse" data-strength="0.7" data-range="300"></div>
  <div data-body="pressure" data-strength="0.6" data-range="260"></div>
  <div data-body="morph" data-strength="0.4" data-range="220"></div>
  <div data-body="memory" data-strength="0.4" data-range="260"></div>

See also