[package]
name = "veloren-world"
version = "0.10.0"
authors = ["Joshua Barretto <joshua.s.barretto@gmail.com>"]
edition = "2021"

[features]
simd = ["vek/platform_intrinsics", "packed_simd"]
bin_compression = ["lz-fear", "deflate", "flate2", "image/jpeg", "num-traits", "fallible-iterator", "clap", "rstar"]

default = ["simd"]

[dependencies]
common = { package = "veloren-common", path = "../common" }
common_base = { package = "veloren-common-base", path = "../common/base"}
common-net = { package = "veloren-common-net", path = "../common/net" }

bincode = "1.3.1"
bitvec = "0.22"
enum-iterator = "0.7"
fxhash = "0.2.1"
image = { version = "0.23.12", default-features = false, features = ["png"] }
itertools = "0.10"
vek = { version = "0.15.8", features = ["serde"] }
noise = { version = "0.7", default-features = false }
num = "0.4"
ordered-float = "2.0.1"
hashbrown = { version = "0.11", features = ["rayon", "serde", "nightly"] }
lazy_static = "1.4.0"
tracing = { version = "0.1", default-features = false }
rand = "0.8"
rand_chacha = "0.3"
arr_macro = "0.1.2"
packed_simd = { package = "packed_simd_2", version = "0.3.5", optional = true }
rayon = "1.5"
serde = { version = "1.0.110", features = ["derive"] }
ron = { version = "0.7", default-features = false }
# inline_tweak = "1.0.2"
kiddo = "0.2"

# compression benchmarks
lz-fear = { version = "0.1.1", optional = true }
deflate = { version = "1.0.0", optional = true }
flate2 = { version = "1.0.20", optional = true }
num-traits = { version = "0.2", optional = true }
fallible-iterator = { version = "0.2.0", optional = true }
rstar = { version = "0.9", optional = true }
clap = { version = "3.1.8", optional = true }


[dev-dependencies]
common-frontend = { package = "veloren-common-frontend", path = "../common/frontend" }
criterion = "0.3"
csv = "1.1.3"
tracing-subscriber = { version = "0.3.7", default-features = false, features = ["fmt", "time", "ansi", "smallvec", "env-filter"] }
minifb = "0.22"
rusqlite = { version = "0.24.2", features = ["array", "vtab", "bundled", "trace"] }
svg_fmt = "0.4"
structopt = "0.3"
strum = "0.24"

[[bench]]
harness = false
name = "tree"

[[example]]
name = "chunk_compression_benchmarks"
required-features = ["bin_compression"]

[[example]]
name = "world_block_statistics"
required-features = ["bin_compression"]

[[example]]
name = "heightmap_visualization"
required-features = ["bin_compression"]
