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}