use super::*;
#[derive(Clone, Copy, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
pub struct Engine;
#[derive(Clone, Data, New)]
pub struct EngineHandle {
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub config: EngineConfig,
#[get(pub(crate), type(clone))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) canvas_renderer: Option<CanvasRenderer>,
#[get(pub(crate), type(clone))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) webgpu_renderer: Option<WebGpuRenderer>,
#[get(pub(crate), type(clone))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) webgl_renderer: Option<WebGl2Backend>,
#[new(skip)]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub input_cell: Option<InputStateCell>,
#[new(skip)]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) tasks: TaskRegistryRc,
#[new(skip)]
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) asset_loader: Option<AssetLoader>,
#[get(pub(crate))]
#[get_mut(pub(crate))]
#[set(pub(crate))]
pub(crate) scheduler_handle: Option<SchedulerHandle>,
}