Skip to main content

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}