[package] name = "maze-ascension" authors = ["Kristofers Solo "] version = "1.1.0" edition = "2021" [dependencies] bevy = { version = "0.15", features = ["wayland"] } rand = "0.8" # Compile low-severity logs out of native builds for performance. log = { version = "0.4", features = [ "max_level_debug", "release_max_level_warn", ] } # Compile low-severity logs out of web builds for performance. tracing = { version = "0.1", features = [ "max_level_debug", "release_max_level_warn", ] } hexx = { version = "0.19", features = ["bevy_reflect", "grid"] } hexlab = { version = "0.6", features = ["bevy", "pathfinding"] } bevy-inspector-egui = { version = "0.28", optional = true } bevy_egui = { version = "0.31", optional = true } thiserror = "2.0" anyhow = "1" strum = { version = "0.26", features = ["derive"] } [dev-dependencies] claims = "0.8.0" rayon = "1.10.0" rstest = "0.24" rstest_reuse = "0.7" test-log = { version = "0.2.16", default-features = false, features = [ "trace", ] } [features] default = [ # Default to a native dev build. "dev_native", ] dev = [ # Improve compile times for dev builds by linking Bevy as a dynamic library. "bevy/dynamic_linking", "bevy/bevy_dev_tools", "dep:bevy-inspector-egui", "dep:bevy_egui", ] dev_native = [ "dev", # Enable asset hot reloading for native dev builds. "bevy/file_watcher", # Enable embedded asset hot reloading for native dev builds. "bevy/embedded_watcher", ] # Idiomatic Bevy code often triggers these lints, and the CI workflow treats them as errors. # In some cases they may still signal poor code quality however, so consider commenting out these lines. [lints.clippy] # Bevy supplies arguments to systems via dependency injection, so it's natural for systems to # request more than 7 arguments -- which triggers this lint. too_many_arguments = "allow" # Queries that access many components may trigger this lint. type_complexity = "allow" nursery = { level = "warn", priority = -1 } unwrap_used = "warn" # Compile with Performance Optimizations: # https://bevyengine.org/learn/quick-start/getting-started/setup/#compile-with-performance-optimizations # Enable a small amount of optimization in the dev profile. [profile.dev] opt-level = 1 # Enable a large amount of optimization in the dev profile for dependencies. [profile.dev.package."*"] opt-level = 3 # Remove expensive debug assertions due to [profile.dev.package.wgpu-types] debug-assertions = false # The default profile is optimized for Wasm builds because # that's what [Trunk reads](https://github.com/trunk-rs/trunk/issues/605). # Optimize for size in the wasm-release profile to reduce load times and bandwidth usage on web. [profile.release] # Compile the entire crate as one unit. # Slows compile times, marginal improvements. codegen-units = 1 # Do a second optimization pass over the entire program, including dependencies. # Slows compile times, marginal improvements. lto = "thin" # Optimize with size in mind (also try "z", sometimes it is better). # Slightly slows compile times, great improvements to file size and runtime performance. opt-level = "s" # Strip all debugging information from the binary to slightly reduce file size. strip = "debuginfo" # Override some settings for native builds. [profile.release-native] # Default to release profile values. inherits = "release" # Optimize with performance in mind. opt-level = 3 # Keep debug information in the binary. strip = "none"