#[repr(C)]pub enum Capability {
Show 18 variants
Camera = 0,
Microphone = 1,
ScreenCapture = 2,
Geolocation = 3,
GeolocationBackground = 4,
Biometric = 5,
Motion = 6,
PhotoLibrary = 7,
PhotoLibraryWrite = 8,
Contacts = 9,
Calendars = 10,
Reminders = 11,
Notifications = 12,
Bluetooth = 13,
BluetoothBackground = 14,
NearbyWifi = 15,
LocalNetwork = 16,
AppTrackingTransparency = 17,
}Expand description
One closed enum covering every capability the framework can request.
The variant set deliberately omits fields like facing / accuracy /
mode from the research brief — those parameters belong on the bearing
NodeType (e.g. NodeType::CameraPreview(CameraSource::Front)) so they
can change between layout passes without forcing a re-prompt. The
Reconfigure diff event carries the new params when a node mutates.
Variants§
Camera = 0
Camera access (front or back, declared per node).
Microphone = 1
Microphone access. iOS gates this separately from camera.
ScreenCapture = 2
Entire-screen or per-window capture.
Geolocation = 3
Geolocation (precise vs approximate is per-node, not per-capability).
GeolocationBackground = 4
Background geolocation. A separate iOS / Android permission gate.
Biometric = 5
FaceID / TouchID / Hello / BiometricPrompt.
Motion = 6
Motion sensor data (accelerometer + gyro + magnetometer).
PhotoLibrary = 7
PhotoKit / MediaStore read.
PhotoLibraryWrite = 8
PhotoKit add-only / MediaStore write.
Contacts = 9
Contacts list.
Calendars = 10
Calendar entries.
Reminders = 11
Reminders (iOS only — Android collapses into Calendars).
Notifications = 12
Push / local notification scheduling.
Bluetooth = 13
Bluetooth foreground.
BluetoothBackground = 14
Bluetooth background. Separate iOS Info.plist key + Android permission.
NearbyWifi = 15
Nearby Wi-Fi (Android 13+).
LocalNetwork = 16
Local network multicast (iOS 14+).
AppTrackingTransparency = 17
iOS App Tracking Transparency (IDFA consent, iOS 14.5+).
Trait Implementations§
Source§impl Clone for Capability
impl Clone for Capability
Source§fn clone(&self) -> Capability
fn clone(&self) -> Capability
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Capability
impl Debug for Capability
Source§impl Hash for Capability
impl Hash for Capability
Source§impl Ord for Capability
impl Ord for Capability
Source§fn cmp(&self, other: &Capability) -> Ordering
fn cmp(&self, other: &Capability) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for Capability
impl PartialEq for Capability
Source§fn eq(&self, other: &Capability) -> bool
fn eq(&self, other: &Capability) -> bool
self and other values to be equal, and is used by ==.Source§impl PartialOrd for Capability
impl PartialOrd for Capability
impl Copy for Capability
impl Eq for Capability
impl StructuralPartialEq for Capability
Auto Trait Implementations§
impl Freeze for Capability
impl RefUnwindSafe for Capability
impl Send for Capability
impl Sync for Capability
impl Unpin for Capability
impl UnsafeUnpin for Capability
impl UnwindSafe for Capability
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> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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