use halley_core::cluster::ClusterId;
#[derive(Clone, Debug)]
pub(crate) struct OverlayActionHint {
pub(crate) key: String,
pub(crate) label: String,
}
#[derive(Clone, Debug)]
pub(crate) struct OverlayBannerState {
pub(crate) title: String,
pub(crate) subtitle: Option<String>,
pub(crate) actions: Vec<OverlayActionHint>,
pub(crate) visible: bool,
pub(crate) mix: f32,
}
#[derive(Clone, Debug)]
pub(crate) struct OverlayBannerSnapshot {
pub(crate) title: String,
pub(crate) subtitle: Option<String>,
pub(crate) actions: Vec<OverlayActionHint>,
pub(crate) mix: f32,
}
#[derive(Clone, Debug, Default)]
pub(crate) struct OverlayToastState {
pub(crate) message: Option<String>,
pub(crate) visible_until_ms: u64,
pub(crate) mix: f32,
}
#[derive(Clone, Debug)]
pub(crate) struct OverlayToastSnapshot {
pub(crate) message: String,
pub(crate) mix: f32,
}
#[derive(Clone, Debug, Default)]
pub(crate) struct ExitConfirmOverlayState {
pub(crate) visible: bool,
pub(crate) mix: f32,
}
#[derive(Clone, Copy, Debug)]
pub(crate) struct ExitConfirmOverlaySnapshot {
pub(crate) mix: f32,
}
#[derive(Clone, Copy, Debug, Default)]
pub(crate) struct ClusterBloomAnimState {
pub(crate) cluster_id: Option<ClusterId>,
pub(crate) visible: bool,
pub(crate) mix: f32,
}
#[derive(Clone, Copy, Debug)]
pub(crate) struct ClusterBloomAnimSnapshot {
pub(crate) cluster_id: ClusterId,
pub(crate) mix: f32,
}