[package] name = "bevy_hanabi" version = "0.14.0" authors = ["Jerome Humbert "] edition = "2021" description = "Hanabi GPU particle system for the Bevy game engine" repository = "https://github.com/djeedai/bevy_hanabi" homepage = "https://github.com/djeedai/bevy_hanabi" documentation = "https://docs.rs/bevy_hanabi" keywords = ["bevy", "particle-system", "particles", "vfx"] license = "MIT OR Apache-2.0" readme = "README.md" exclude = [ "docs/*.svg", "docs/*.png", "examples/*.gif", "examples/*.png", "examples/wasm/*", ".github", "release.md", "run_examples.bat", "run_examples.sh", "deny.toml" ] autoexamples = false [features] default = ["2d", "3d", "serde", "gpu_tests", "examples_world_inspector"] # Enable support for rendering through a 2D camera (Camera2d). # You need to activate either the 2d or 3d feature at least (or both). 2d = [] # Enable support for rendering through a 3D camera (Camera3d). # You need to activate either the 2d or 3d feature at least (or both). 3d = [] # Enable serializing and deserializing of assets. This doesn't work on WASM, # because typetag is not available for the wasm target. serde = ["typetag"] # Enable tracing annotations. This is disabled by default for performance. trace = [] # Special feature to enable GPU-based tests, which otherwise fail # on a CI machine without a graphic adapter or without proper drivers. # This is a testing-only feature, which has no effect on the build. gpu_tests = [] # Enable world inspector in examples, via bevy-inspector-egui. # This has no effect on the crate itself, only affects examples. # Unfortunately cargo doesn't allow example-only features. # We don't force a dependency on the bevy-inspector-egui crate because: # 1. dev-dependencies cannot be optional # 2. there's a bunch of duplicate deps and dodgy licenses pulled examples_world_inspector = [] [dependencies] bytemuck = { version = "1", features = ["derive"] } fixedbitset = "0.5" copyless = "0.1" rand = "0.8" rand_pcg = "0.3" serde = { version = "1.0", features = ["derive"] } anyhow = "1.0" ron = "0.8" bitflags = "2.3" typetag = { version = "0.2", optional = true } thiserror = "1.0" # Same versions as Bevy 0.15 (bevy_render) wgpu = { version = "23.0.1", default-features = false, features = [ "wgsl", "dx12", "metal", "naga-ir", "fragile-send-sync-non-atomic-wasm", ] } naga = { version = "23", features = ["wgsl-in"] } naga_oil = { version = "0.16", default-features = false, features = ["test_shader"] } [dependencies.bevy] version = "0.15" default-features = false features = [ "bevy_core_pipeline", "bevy_render", "bevy_asset", "x11", # Bug in Bevy 0.15.0 [bevy#16563] "png" ] [package.metadata.docs.rs] all-features = true [dev-dependencies] # For world inspector; required if "examples_world_inspector" is used. bevy-inspector-egui = "0.28" bevy_egui = { version = "0.31", default-features = false, features = [ "manage_clipboard", "open_url" ] } egui = "0.29" bevy_sprite = "0.15" bevy_text = "0.15" bevy_ui = "0.15" bevy_window = "0.15" # For glTF animations (Fox.glb) bevy_gltf = { version = "0.15", features = [ "bevy_animation" ] } # For procedural texture generation in examples noise = "0.9" futures = "0.3" [[example]] name = "firework" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "portal" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "expr" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "spawn" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "multicam" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "visibility" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "random" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "spawn_on_command" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "activate" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "bevy/bevy_ui", "bevy/default_font", "3d" ] [[example]] name = "force_field" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "lifetime" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "init" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "instancing" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "bevy/png", "3d" ] [[example]] name = "gradient" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "bevy/png", "3d" ] [[example]] name = "circle" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "bevy/png", "3d" ] [[example]] name = "billboard" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "bevy/png", "3d" ] [[example]] name = "2d" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_sprite", "2d" ] [[example]] name = "worms" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "bevy/png", "3d" ] [[example]] name = "ribbon" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "ordering" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "3d" ] [[example]] name = "puffs" required-features = [ "bevy/bevy_winit", "bevy/bevy_window", "bevy/bevy_pbr", "bevy/bevy_scene", "bevy/bevy_gltf", "bevy/bevy_animation", "bevy/png", "3d", ] [[test]] name = "empty_effect" path = "gpu_tests/empty_effect.rs" harness = false required-features = [ "bevy/bevy_winit", "bevy/bevy_window", ] [workspace] resolver = "2" members = ["."]