pub enum RouteOutcome {
Normal(Vec<RoutedIntent>),
EnterSelection {
edge_id: String,
mapping_id: Uuid,
glyph: String,
},
UpdateSelection {
mapping_id: Uuid,
glyph: String,
},
CommitSelection {
edge_id: String,
mapping_id: Uuid,
service_target: String,
},
CancelSelection {
mapping_id: Uuid,
},
CycleSwitch {
device_type: String,
device_id: String,
active_mapping_id: Uuid,
},
}Expand description
One outcome of routing a single input primitive. Normal is the
existing “route to zero or more intents” path; the other variants are
target-selection side effects that the caller must translate into LED
feedback or a server-bound SwitchTarget frame.
Variants§
Normal(Vec<RoutedIntent>)
EnterSelection
Device just entered selection mode; show glyph on the LED.
UpdateSelection
Device still in selection mode, cursor moved; show glyph.
CommitSelection
Device committed the selection; caller sends
EdgeToServer::SwitchTarget and optionally clears the LED.
CancelSelection
Device exited selection mode without committing (non-rotate/press input). Caller should clear any lingering LED feedback.
CycleSwitch
Cycle gesture matched on a device with a DeviceCycle. Caller updates
active locally (the engine has already done so) and sends
EdgeToServer::SwitchActiveConnection so the server can persist
and broadcast to peer edges + the web UI.
Trait Implementations§
Source§impl Clone for RouteOutcome
impl Clone for RouteOutcome
Source§fn clone(&self) -> RouteOutcome
fn clone(&self) -> RouteOutcome
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more