[package]
name = "all-is-cubes"
version = "0.7.0"
authors = ["Kevin Reid <kpreid@switchb.org>"]
edition = "2021"
rust-version = "1.73"
description = "Recursive voxel game engine. Can be used for voxel raytracing."
repository = "https://github.com/kpreid/all-is-cubes"
license = "MIT OR Apache-2.0"
categories = ["games", "graphics", "rendering::engine"]
[package.metadata.docs.rs]
features = ["arbitrary", "save", "std"]
[lib]
bench = false
[[bench]]
name = "block_bench"
harness = false
[[bench]]
name = "chunk_bench"
harness = false
[[bench]]
name = "lighting_bench"
harness = false
[[bench]]
name = "raycast_bench"
harness = false
[[bench]]
name = "raytrace_bench"
harness = false
[[bench]]
name = "save_bench"
harness = false
[[bench]]
name = "space_bench"
harness = false
[features]
default = ["std"]
std = [
"dep:once_cell",
"arcstr/std",
"yield-progress/sync",
]
arbitrary = ["dep:arbitrary", "ordered-float/arbitrary"]
save = [
"dep:base64",
"dep:flate2",
"dep:serde",
"dep:serde_repr",
"bytemuck/extern_crate_std",
"ordered-float/serde",
]
rerun = [
"std",
"dep:re_log_types",
"dep:re_sdk",
"dep:re_types",
]
threads = ["std", "dep:rayon"]
[dependencies]
arbitrary = { workspace = true, optional = true }
arcstr = { version = "1.1.5", default-features = false, features = ["serde", "substr"] }
base64 = { workspace = true, optional = true, features = ["std"] }
bitflags = { workspace = true }
bytemuck = { workspace = true, features = ["derive"] }
cfg-if = { workspace = true }
displaydoc = { workspace = true }
downcast-rs = { version = "1.2.0", default-features = false }
euclid = { version = "0.22.9", default-features = false, features = ["libm", "mint"] }
embedded-graphics = "0.8.0"
exhaust = { workspace = true, default-features = false }
flate2 = { version = "1.0.26", optional = true }
futures-core = { workspace = true }
futures-util = { workspace = true }
hashbrown = { workspace = true }
indoc = { workspace = true }
itertools = { workspace = true }
log = { workspace = true }
manyfmt = { workspace = true }
mutants = { workspace = true }
num-traits = { workspace = true }
once_cell = { workspace = true, optional = true }
ordered-float = { workspace = true }
polonius-the-crab = { workspace = true }
png-decoder = { version = "0.1.1" }
rand = { workspace = true }
rand_xoshiro = { workspace = true }
rayon = { workspace = true, optional = true }
re_log_types = { workspace = true, optional = true }
re_sdk = { workspace = true, optional = true }
re_types = { workspace = true, optional = true }
serde = { workspace = true, optional = true, features = ["derive", "rc"] }
serde_repr = { version = "0.1.12", optional = true, default-features = false }
unicode-segmentation = { workspace = true }
yield-progress = { workspace = true }
[build-dependencies]
euclid = { version = "0.22.9", default-features = false, features = ["libm", "mint"] }
[dev-dependencies]
allocation-counter = { workspace = true }
criterion = { workspace = true }
pretty_assertions = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt", "sync"] }
[lints]
workspace = true