[package] name = "flax" version = "0.7.1" edition = "2021" authors = ["Tei Leelo Roberts "] description = "An ergonomic archetypical ECS" documentation = "https://docs.rs/flax" repository = "https://github.com/ten3roberts/flax" keywords = ["ecs", "hierarchy", "entity"] categories = ["data-structures", "game-engines", "no-std"] license = "MIT" [workspace] members = ["flax-derive", "asteroids"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] flax-derive = { path = "./flax-derive", version = "0.7.1", optional = true } flume = { version = "0.11.0", default-features = false, optional = true } atomic_refcell = { version = "0.1.13", default-features = false } bitflags = { version = "2.4.1", default-features = false } anyhow = { version = "1.0.75", default-features = false } itertools = "0.12.1" rayon = { version = "1.8.0", default-features = false, optional = true } tokio = { version = "1.33.0", default-features = false, features = [ "sync", ], optional = true } smallvec = { version = "1.11.1", default-features = false } tracing = { version = "0.1.40", optional = true } tynm = "0.1.9" serde = { version = "1.0.190", features = ["derive"], optional = true } erased-serde = { version = "0.3.31", features = [], optional = true } once_cell = "1.18.0" puffin = { version = "0.19", optional = true } [dev-dependencies] tokio = { version = "1.33.0", features = ["test-util", "macros"] } futures = "0.3.29" itertools = { version = "0.12.1", default-features = false } tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } serde_json = "1.0.107" glam = { version = "0.27.0", features = ["rand", "serde", "scalar-math"] } rand = "0.8.5" tracing-tree = "0.3.0" bincode = "1.3.3" ron = "0.8.1" tracing = "0.1.40" criterion = "0.5.1" pretty_assertions = "1.4.0" [profile.bench] debug = true [features] std = ["itertools/use_std", "itertools/use_alloc", "anyhow/std"] default = ["std", "rayon", "flume"] serde = ["dep:serde", "erased-serde"] derive = ["flax-derive"] [[example]] name = "guide" required-features = ["std"] path = "./examples/guide.rs" [[example]] name = "query" required-features = ["std"] path = "./examples/guide/query.rs" [[example]] name = "builder" path = "./examples/guide/builder.rs" required-features = ["std"] [[example]] name = "query_advanced" path = "./examples/guide/query_advanced.rs" required-features = ["std"] [[example]] name = "relations" path = "./examples/guide/relations.rs" required-features = ["std"] [[example]] name = "commandbuffer" path = "./examples/guide/commandbuffer.rs" required-features = ["std"] [[example]] name = "serialize" path = "./examples/guide/serialize.rs" required-features = ["std"] [[example]] name = "change_detection" path = "./examples/guide/change_detection.rs" required-features = ["std"] [[example]] name = "query_basic" path = "./examples/query/basic.rs" required-features = ["std"] [[example]] name = "graphs" path = "./examples/query/graphs.rs" required-features = ["std"] [[example]] name = "transform" path = "./examples/query/transform.rs" required-features = ["std"] [[example]] name = "systems" path = "./examples/guide/systems.rs" required-features = ["std", "rayon"] [[example]] name = "springs" path = "./examples/guide/springs.rs" required-features = ["std"] [[bench]] name = "benchmarks" harness = false required-features = ["std"] [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]