[package] name = "chain-reaction-collapse" authors = ["RobertoMaurizzi "] version = "0.1.0" edition = "2024" [dependencies] bevy = { version = "0.16", 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", ] } bevy_ecs_ldtk = "0.12.0" bevy-inspector-egui = { version = "0.31.0", optional = true } # Your web builds will start failing if you add a dependency that pulls in `getrandom` v0.3+. # To fix this, you should tell `getrandom` to use the `wasm_js` backend on Wasm. # See: . #[target.wasm32-unknown-unknown.dependencies] #getrandom = { version = "0.3", features = ["wasm_js"] } # In addition to enabling the `wasm_js` feature, you need to include `--cfg 'getrandom_backend="wasm_js"'` # in your rustflags for both local and CI/CD web builds, taking into account that rustflags specified in # multiple places are NOT combined (see ). # Alternatively, you can opt out of the rustflags check with this patch: #[patch.crates-io] #getrandom = { git = "https://github.com/benfrankel/getrandom" } [features] # Default to a native dev build. default = ["dev_native"] dev = [ # Improve compile times for dev builds by linking Bevy as a dynamic library. "bevy/dynamic_linking", "bevy/bevy_dev_tools", "bevy/bevy_ui_debug", # Improve error messages coming from Bevy "bevy/track_location", ] 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", ] inspector = ["bevy-inspector-egui"] [package.metadata.bevy_cli.release] # Disable dev features for release builds. default-features = false [package.metadata.bevy_cli.web] # Disable native features for web builds. default-features = false [package.metadata.bevy_cli.web.dev] features = ["dev"] [lints.rust] # Mark `bevy_lint` as a valid `cfg`, as it is set when the Bevy linter runs. unexpected_cfgs = { level = "warn", check-cfg = ["cfg(bevy_lint)"] } [lints.clippy] # Bevy supplies arguments to systems via dependency injection, so it's natural for systems to # request more than 7 arguments, which would undesirably trigger this lint. too_many_arguments = "allow" # Queries may access many components, which would undesirably trigger this lint. type_complexity = "allow" # Make sure macros use their standard braces, such as `[]` for `bevy_ecs::children!`. nonstandard_macro_braces = "warn" # You can configure the warning levels of Bevy lints here. For a list of all lints, see: # [package.metadata.bevy_lint] # panicking_methods = "deny" # pedantic = "warn" # 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 [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" # This profile will be used by `bevy run web` automatically. [profile.web-release] # Default to release profile values. inherits = "release" # 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" # Optimize for build time in CI. [profile.ci] inherits = "dev" opt-level = 0 debug = "line-tables-only" codegen-units = 4 [profile.ci.package."*"] opt-level = 0