viewport_lib/runtime/mode.rs
1//! Runtime mode enum for [`super::ViewportRuntime`].
2
3/// Execution mode for [`super::ViewportRuntime`].
4///
5/// Selects default behavior for timestep, gizmo, and camera policies.
6/// Individual settings can always be overridden after construction.
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)]
8#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
9pub enum SceneRuntimeMode {
10 /// No fixed timestep. Picking, selection, and manipulation gizmo are active.
11 /// Default for visualization and CAD-style applications.
12 #[default]
13 Visualization,
14 /// Variable-dt animation steps. No fixed timestep or physics.
15 Animation,
16 /// Fixed timestep with physics plugins active.
17 /// Picking and selection remain on.
18 Simulation,
19 /// Fixed timestep with physics. Manipulation gizmo is off by default.
20 /// Orbit camera can be overridden by a camera tracking binding.
21 Game,
22}