Skip to main content

ursus_core/
flags.rs

1use clap::Parser;
2
3#[derive(Parser, Debug, Clone, Copy)]
4#[command(name = "engine", about = "Ursus engine runtime flags")]
5pub struct EngineFlags {
6    /// Enable puffin profiler (starts puffin_http server)
7    #[arg(long, default_value_t = cfg!(debug_assertions))]
8    pub profile: bool,
9
10    /// Enable Vulkan validation layers
11    #[arg(long, default_value_t = cfg!(debug_assertions))]
12    pub validation: bool,
13
14    /// Enable Vulkan debug_utils labels (RenderDoc/Nsight object names)
15    #[arg(long, default_value_t = cfg!(debug_assertions))]
16    pub debug_labels: bool,
17}
18
19impl EngineFlags {
20    pub fn from_args() -> Self {
21        Self::parse()
22    }
23}