Risk Horizon
reveal approaching risk before it becomes an error
Running the actual pattern live via applyPattern() — switch the substrate, stack overlays, watch the signals, or reverse the dynamics. Not a mock.
"Risk Horizon" — reveal approaching risk before it becomes an error. It has a gravity layer (universal attraction toward mass), a pressure layer (relax crowding (incompressibility)), a morph layer (assemble matter into a mark/shape (never words, §11)), a diffuse layer (spread a quantity over the medium), and a memory layer (a decaying trail / hysteresis). The active render stack is heatmap, field-lines, metaballs, particles.
Risk forms a horizon that pulls like gravity: as it rises, affected elements gain pressure, draw attention, and drift toward the threshold, diffusing the warning outward before any error lands (the weak interaction lets the state morph as it crosses).
Copy this pattern
<field-root></field-root>
<div data-body="gravity" data-strength="1" data-range="400" data-feedback></div>
<div data-body="pressure" data-strength="0.7" data-range="300"></div>
<div data-body="morph" data-strength="0.5" data-range="240"></div>
<div data-body="diffuse" data-strength="0.4" data-range="280"></div>
<div data-body="memory" data-strength="0.4" data-range="260"></div> <script type="module">
import '@fundamental-engine/elements';
</script>
<field-root></field-root>
<div data-body="gravity" data-strength="1" data-range="400" data-feedback></div>
<div data-body="pressure" data-strength="0.7" data-range="300"></div>
<div data-body="morph" data-strength="0.5" data-range="240"></div>
<div data-body="diffuse" data-strength="0.4" data-range="280"></div>
<div data-body="memory" data-strength="0.4" data-range="260"></div> import { FieldField } from '@fundamental-engine/react';
export default function RiskHorizon() {
return (
<FieldField>
<div data-body="gravity" data-strength="1" data-range="400" data-feedback />
<div data-body="pressure" data-strength="0.7" data-range="300" />
<div data-body="morph" data-strength="0.5" data-range="240" />
<div data-body="diffuse" data-strength="0.4" data-range="280" />
<div data-body="memory" data-strength="0.4" data-range="260" />
</FieldField>
);
} {
"id": "risk-horizon",
"name": "Risk Horizon",
"intent": "reveal approaching risk before it becomes an error",
"naturalField": "gravity",
"primitives": [
"gravity",
"pressure",
"morph",
"diffuse",
"memory"
],
"bodies": [
{
"body": "gravity",
"strength": 1,
"range": 400,
"feedback": true
},
{
"body": "pressure",
"strength": 0.7,
"range": 300
},
{
"body": "morph",
"strength": 0.5,
"range": 240
},
{
"body": "diffuse",
"strength": 0.4,
"range": 280
},
{
"body": "memory",
"strength": 0.4,
"range": 260
}
],
"render": [
"heatmap",
"field-lines",
"metaballs",
"particles"
],
"metrics": [
"risk",
"pressure",
"threshold",
"entropy"
],
"diagnostics": [
"potential",
"contours",
"prediction"
],
"accessibility": {
"reducedMotion": "a risk-horizon line with threshold markers and an affected-region list",
"meaningWithoutMotion": "risk is a labelled threshold line; affected regions are listed with their distance to it"
},
"notes": "Risk forms a horizon that pulls like gravity: as it rises, affected elements gain pressure, draw attention, and drift toward the threshold, diffusing the warning outward before any error lands (the weak interaction lets the state morph as it crosses).",
"tier": "operational",
"status": "shipped",
"concepts": [
"risk horizon"
],
"conditions": [
"threshold"
]
} See also
- Priority Well make important elements feel naturally weighted without shouting
- Focus Orbit keep related options moving around the active item
- Search Relevance Field let search results settle by relevance, confidence, and recency
- Reading Field make long content pages reveal attention, memory, and concept links
- Attention Weather show system urgency, density, and activity across a dashboard
- Command Intent Field let command palettes settle around likely intent