pub enum RiskOverlayTrigger {
Friction(FrictionLevel),
Proximity,
}Expand description
Why the ActiveOverlay::Risk overlay opened.
Populated at open-time by the auto-open hook so the widget can render context-specific copy (L3 “approaching guardrail”, L4 “engine halted”), and so the rate-limiter can distinguish “same trigger, operator already saw it” from “new escalation, operator must see it again within the cooldown”.
Variants§
Friction(FrictionLevel)
The operator-state snapshot the engine returned carries
FrictionLevel::L3 (TILT + guardrail proximity) or L4
(TILT + halt). The level is carried so re-open logic can
detect L3 → L4 escalations and bypass the dismiss-cooldown.
Proximity
The engine’s Risk.drawdown_pct is within
AppState::GUARDRAIL_PROXIMITY_PP of its
Risk.last_drawdown_alert_pct threshold. This fires even
without an L3 classifier verdict — the engine’s own
proximity reading is authoritative for “you are about to
trip a guardrail.”
Trait Implementations§
Source§impl Clone for RiskOverlayTrigger
impl Clone for RiskOverlayTrigger
Source§fn clone(&self) -> RiskOverlayTrigger
fn clone(&self) -> RiskOverlayTrigger
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for RiskOverlayTrigger
impl Debug for RiskOverlayTrigger
Source§impl PartialEq for RiskOverlayTrigger
impl PartialEq for RiskOverlayTrigger
impl Copy for RiskOverlayTrigger
impl Eq for RiskOverlayTrigger
impl StructuralPartialEq for RiskOverlayTrigger
Auto Trait Implementations§
impl Freeze for RiskOverlayTrigger
impl RefUnwindSafe for RiskOverlayTrigger
impl Send for RiskOverlayTrigger
impl Sync for RiskOverlayTrigger
impl Unpin for RiskOverlayTrigger
impl UnsafeUnpin for RiskOverlayTrigger
impl UnwindSafe for RiskOverlayTrigger
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more