[package]
edition = "2024"
name = "bevy_carnage"
version = "0.5.0"
build = false
exclude = ["docs/*.gif"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Deterministic runtime gore for Bevy: plane-cut a character's own meshes into watertight-capped chunks, bore bullet channels through them, and drive blood, spatter and impact feel off the wounds that result."
readme = "README.md"
keywords = [
"bevy",
"gamedev",
"gore",
"fracture",
"destruction",
]
categories = [
"game-development",
"graphics",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Ladvien/bevy_carnage"
[features]
default = [
"serde",
"vfx",
"flesh",
]
flesh = []
serde = ["dep:serde"]
strict-order = []
vfx = [
"dep:bevy_hanabi",
"bevy/bevy_render",
"bevy/bevy_core_pipeline",
"bevy/bevy_image",
"bevy/bevy_camera",
]
[lib]
name = "bevy_carnage"
path = "src/lib.rs"
[[example]]
name = "bench_carnage"
path = "examples/bench_carnage.rs"
[[example]]
name = "bullet_holes"
path = "examples/bullet_holes.rs"
[[example]]
name = "canvas_digest"
path = "examples/canvas_digest.rs"
[[example]]
name = "capture"
path = "examples/capture.rs"
[[example]]
name = "capture_carnage"
path = "examples/capture_carnage.rs"
required-features = ["vfx"]
[[example]]
name = "capture_entrails"
path = "examples/capture_entrails.rs"
[[example]]
name = "capture_family"
path = "examples/capture_family.rs"
[[example]]
name = "capture_flesh"
path = "examples/capture_flesh.rs"
required-features = ["flesh"]
[[example]]
name = "capture_gore"
path = "examples/capture_gore.rs"
[[example]]
name = "capture_holes"
path = "examples/capture_holes.rs"
[[example]]
name = "capture_pooling"
path = "examples/capture_pooling.rs"
required-features = ["vfx"]
[[example]]
name = "capture_preset"
path = "examples/capture_preset.rs"
required-features = ["flesh"]
[[example]]
name = "capture_ribbons"
path = "examples/capture_ribbons.rs"
required-features = ["vfx"]
[[example]]
name = "capture_sever"
path = "examples/capture_sever.rs"
[[example]]
name = "carnage"
path = "examples/carnage.rs"
required-features = ["vfx"]
[[example]]
name = "carnage_web"
path = "examples/carnage_web.rs"
required-features = ["flesh"]
[[example]]
name = "cross_section"
path = "examples/cross_section.rs"
[[example]]
name = "cross_section_strip"
path = "examples/cross_section_strip.rs"
[[example]]
name = "dry_timeline"
path = "examples/dry_timeline.rs"
[[example]]
name = "drying"
path = "examples/drying.rs"
[[example]]
name = "entrails"
path = "examples/entrails.rs"
[[example]]
name = "explode"
path = "examples/explode.rs"
[[example]]
name = "fault_modes"
path = "examples/fault_modes.rs"
[[example]]
name = "flay_digest"
path = "examples/flay_digest.rs"
[[example]]
name = "flaymap_peel"
path = "examples/flaymap_peel.rs"
[[example]]
name = "flesh"
path = "examples/flesh.rs"
required-features = ["flesh"]
[[example]]
name = "fracture_cube"
path = "examples/fracture_cube.rs"
[[example]]
name = "fracture_modes"
path = "examples/fracture_modes.rs"
[[example]]
name = "fracture_modes_bar"
path = "examples/fracture_modes_bar.rs"
[[example]]
name = "fragment_energy"
path = "examples/fragment_energy.rs"
[[example]]
name = "gore_tier"
path = "examples/gore_tier.rs"
[[example]]
name = "laceration_curve"
path = "examples/laceration_curve.rs"
[[example]]
name = "laceration_open"
path = "examples/laceration_open.rs"
[[example]]
name = "pattern_classes"
path = "examples/pattern_classes.rs"
[[example]]
name = "pooling"
path = "examples/pooling.rs"
required-features = ["vfx"]
[[example]]
name = "preset"
path = "examples/preset.rs"
required-features = ["flesh"]
[[example]]
name = "rheology"
path = "examples/rheology.rs"
[[example]]
name = "ribbons"
path = "examples/ribbons.rs"
required-features = ["vfx"]
[[example]]
name = "rod_determinism"
path = "examples/rod_determinism.rs"
[[example]]
name = "sever"
path = "examples/sever.rs"
[[example]]
name = "spill"
path = "examples/spill.rs"
[[example]]
name = "stain_morphology"
path = "examples/stain_morphology.rs"
[[example]]
name = "stain_sweep"
path = "examples/stain_sweep.rs"
[[example]]
name = "viscera_spill"
path = "examples/viscera_spill.rs"
[[example]]
name = "wetmap_paint"
path = "examples/wetmap_paint.rs"
[[test]]
name = "cross_section_plugin"
path = "tests/cross_section_plugin.rs"
[[test]]
name = "expressive_range"
path = "tests/expressive_range.rs"
[[test]]
name = "fault_modes"
path = "tests/fault_modes.rs"
[[test]]
name = "laceration_plugin"
path = "tests/laceration_plugin.rs"
[[test]]
name = "leaf"
path = "tests/leaf.rs"
[[test]]
name = "origin"
path = "tests/origin.rs"
[[test]]
name = "tear"
path = "tests/tear.rs"
[[test]]
name = "viscera"
path = "tests/viscera.rs"
[[test]]
name = "wetmap"
path = "tests/wetmap.rs"
[dependencies.bevy]
version = "0.19.0"
features = [
"bevy_asset",
"bevy_mesh",
"bevy_pbr",
"bevy_image",
"bevy_render",
"bevy_world_serialization",
"bevy_scene",
"bevy_log",
"std",
]
default-features = false
[dependencies.bevy_hanabi]
version = "0.19"
features = ["3d"]
optional = true
default-features = false
[dependencies.isomesh]
version = "0.0.10"
default-features = false
[dependencies.libm]
version = "0.2"
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dev-dependencies.bevy]
version = "0.19.0"
[dev-dependencies.ron]
version = "0.12"
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.bevy]
version = "0.19"
features = [
"web",
"webgpu",
]
default-features = false