Ambient Tutor
teach the interface quietly based on hesitation, return, and attention
Running the actual pattern live via applyPattern() — switch the substrate, stack overlays, watch the signals, or reverse the dynamics. Not a mock.
"Ambient Tutor" — teach the interface quietly based on hesitation, return, and attention. It has a memory layer (a decaying trail / hysteresis), a gravity layer (universal attraction toward mass), a propagate layer (travelling waves through the medium), and a link layer (ropes / cloth between neighbours). The active render stack is heatmap, trails, particles, links.
Memory watches hesitation and repeated returns while gravity gives the right explanation subtle priority near the point of need; propagate and link carry help to related controls.
Copy this pattern
<field-root></field-root>
<div data-body="memory" data-strength="1" data-range="300" data-feedback></div>
<div data-body="gravity" data-strength="0.7" data-range="360"></div>
<div data-body="propagate" data-strength="0.5" data-range="320"></div>
<div data-body="link" data-strength="0.6" data-range="280"></div> <script type="module">
import '@fundamental-engine/elements';
</script>
<field-root></field-root>
<div data-body="memory" data-strength="1" data-range="300" data-feedback></div>
<div data-body="gravity" data-strength="0.7" data-range="360"></div>
<div data-body="propagate" data-strength="0.5" data-range="320"></div>
<div data-body="link" data-strength="0.6" data-range="280"></div> import { FieldField } from '@fundamental-engine/react';
export default function AmbientTutor() {
return (
<FieldField>
<div data-body="memory" data-strength="1" data-range="300" data-feedback />
<div data-body="gravity" data-strength="0.7" data-range="360" />
<div data-body="propagate" data-strength="0.5" data-range="320" />
<div data-body="link" data-strength="0.6" data-range="280" />
</FieldField>
);
} {
"id": "ambient-tutor",
"name": "Ambient Tutor",
"intent": "teach the interface quietly based on hesitation, return, and attention",
"naturalField": "gravity",
"primitives": [
"memory",
"gravity",
"propagate",
"link"
],
"bodies": [
{
"body": "memory",
"strength": 1,
"range": 300,
"feedback": true
},
{
"body": "gravity",
"strength": 0.7,
"range": 360
},
{
"body": "propagate",
"strength": 0.5,
"range": 320
},
{
"body": "link",
"strength": 0.6,
"range": 280
}
],
"render": [
"heatmap",
"trails",
"particles",
"links"
],
"metrics": [
"hesitation",
"return",
"helpfulness",
"attention"
],
"diagnostics": [
"heatmap",
"causality",
"inspector"
],
"accessibility": {
"reducedMotion": "contextual tips with a help rail and related-explanation markers",
"meaningWithoutMotion": "help surfaces as a contextual tip near the point of need with a list of related explanations"
},
"notes": "Memory watches hesitation and repeated returns while gravity gives the right explanation subtle priority near the point of need; propagate and link carry help to related controls.",
"tier": "systems",
"status": "shipped",
"conditions": [
"dwell",
"return"
]
} 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