use std::time::Duration;
#[cfg_attr(feature = "diagnostics-serde", derive(serde::Serialize))]
#[derive(Clone, Copy, Debug, Default, Hash, PartialEq, Eq, PartialOrd, Ord)]
pub enum RetentionClass {
Frame,
WhileVisible,
Scene,
#[default]
Session,
Persistent,
}
#[cfg_attr(feature = "diagnostics-serde", derive(serde::Serialize))]
#[derive(Clone, Copy, Debug, Default, Hash, PartialEq, Eq, PartialOrd, Ord)]
pub enum CachePriority {
Low,
#[default]
Normal,
High,
}
#[cfg_attr(feature = "diagnostics-serde", derive(serde::Serialize))]
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
pub enum ImageCachePolicy {
#[default]
ApplicationDefault,
NoStore,
WhileVisible,
Scene,
Session,
Persistent {
max_age: Duration,
revalidate: bool,
},
}
#[doc(hidden)]
#[cfg_attr(feature = "diagnostics-serde", derive(serde::Serialize))]
#[derive(Clone, Copy, Debug, Default, Hash, PartialEq, Eq)]
pub enum ResourceClass {
Live,
Rebuildable,
#[default]
Cache,
Transient,
}