Expand description
Full-screen-ish modal overlays painted on top of the mode pane.
The only overlay in M1 is StateOverlay — the operator-state
overview triggered by /state. It is sourced from the engine’s
operator_state mirror (ADR-016); the CLI never computes the
label locally. When the mirror is unpopulated the overlay says
so, honestly, rather than inventing a default.
Design constraints (Addendum A §2.3 / §2.4):
- Descriptive, not judgmental. No emoji, no “you’re doing great”, no “calm down.” The label + vector speak for themselves.
- Shows its work. Every classifier input (velocity, deviation, session, loss-reaction, re-entry, sleep-proxy) is printed, so the operator can see why a label is what it is.
- One-key dismiss. No buttons. Any key press closes the
overlay; Ctrl+C still exits the terminal. See
input.rs.
Structs§
- Friction
Pause Overlay - Friction-pause overlay — renders a visible countdown (L1) or a
countdown-plus-typed-confirm field (L2+). The overlay is read
from
FrictionPause; completion is the event loop’s job, not the widget’s. - Risk
Overlay - M2 §4 risk overlay. Surfaces the engine’s current
Riskblock alongside the operator-state snapshot’s vector components so a TILT + guardrail-proximity situation is unambiguous: the operator sees exactly how close to the hard alert they are, and why the classifier flagged the operator as TILT. - State
Overlay - The
/stateoverlay. See module docs. - Verdict
Overlay - Verdict overlay — centered modal that wraps
VerdictBlockin a bordered, titled frame and paints a close hint.