[package]
edition = "2021"
name = "nucleation"
version = "0.3.2"
authors = ["Nano nano@schem.at"]
build = "build.rs"
include = [
"src/**",
"build.rs",
"data/blockpedia/**",
"tools/mc-data/**",
"Cargo.toml",
"README.md",
"LICENSE",
"RELEASE_NOTES.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A high-performance Minecraft schematic parser and utility library"
readme = "README.md"
keywords = [
"minecraft",
"schematic",
"parser",
"voxel",
]
categories = [
"game-development",
"parser-implementations",
"wasm",
]
license = "MIT"
repository = "https://github.com/Schem-at/Nucleation"
[features]
autostack = []
bridge = [
"dep:diplomat",
"dep:diplomat-runtime",
"dep:base64",
"autostack",
]
bridge-full = [
"bridge",
"scripting-lua",
"scripting-js",
]
default = [
"store-fs",
"autostack",
]
mc-data-refresh = [
"dep:image",
"dep:reqwest",
]
scripting = [
"scripting-lua",
"scripting-js",
]
scripting-js = ["rquickjs"]
scripting-lua = ["mlua"]
serde = []
store-callback = []
store-fs = []
store-pg = [
"dep:tokio-postgres",
"dep:tokio",
]
store-redis = [
"dep:redis",
"dep:tokio",
]
store-s3 = [
"dep:aws-sdk-s3",
"dep:tokio",
"dep:futures-util",
]
store-testkit = ["dep:testcontainers-modules"]
[lib]
name = "nucleation"
crate-type = [
"cdylib",
"staticlib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "download-textures"
path = "tools/mc-data/download-textures.rs"
required-features = ["mc-data-refresh"]
[[bin]]
name = "fetch-texture-colors"
path = "tools/mc-data/fetch-texture-colors.rs"
required-features = ["mc-data-refresh"]
[[bin]]
name = "refresh-block-data"
path = "tools/mc-data/refresh-block-data.rs"
required-features = ["mc-data-refresh"]
[[bin]]
name = "schematic-builder"
path = "src/bin/schematic-builder.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.aws-sdk-s3]
version = "1"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bincode]
version = "1"
[dependencies.blake3]
version = "1"
[dependencies.bytemuck]
version = "1.23.1"
features = ["derive"]
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.console]
version = "0.15.8"
[dependencies.diplomat]
version = "0.15.0"
optional = true
[dependencies.diplomat-runtime]
version = "0.15.1"
optional = true
[dependencies.flate2]
version = "1.1.2"
features = ["zlib-rs"]
default-features = false
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.getrandom]
version = "0.2"
features = ["custom"]
[dependencies.image]
version = "0.24"
optional = true
[dependencies.insign]
version = "0.1.1"
[dependencies.log]
version = "0.4.22"
[dependencies.mlua]
version = "0.10"
features = [
"luajit",
"vendored",
]
optional = true
[dependencies.palette]
version = "0.7"
[dependencies.phf]
version = "0.11"
features = ["macros"]
[dependencies.pollster]
version = "0.4"
optional = true
[dependencies.quartz_nbt]
version = "0.2.9"
features = ["preserve_order"]
[dependencies.rand]
version = "0.8.5"
[dependencies.rayon]
version = "1.10"
[dependencies.redis]
version = "0.27"
features = ["tokio-comp"]
optional = true
[dependencies.ron]
version = "0.8"
[dependencies.rquickjs]
version = "0.9"
features = [
"macro",
"classes",
"properties",
]
optional = true
[dependencies.rustc-hash]
version = "2.0"
[dependencies.rustfft]
version = "6"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.smol_str]
version = "0.2"
features = ["serde"]
[dependencies.testcontainers-modules]
version = "0.11"
features = [
"minio",
"redis",
"postgres",
"blocking",
]
optional = true
[dependencies.thiserror]
version = "1.0.63"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"net",
"time",
]
optional = true
[dependencies.tokio-postgres]
version = "0.7"
optional = true
[dependencies.tracing]
version = "0.1.40"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.wgpu]
version = "24"
optional = true
[dependencies.zip]
version = "2"
features = ["deflate"]
default-features = false
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.ffmpeg-sidecar]
version = "2.4"
[dev-dependencies.num-complex]
version = "0.4"
[dev-dependencies.winit]
version = "0.30"
[build-dependencies.anyhow]
version = "1.0"
[build-dependencies.flate2]
version = "1.1.2"
features = ["zlib-rs"]
default-features = false
[build-dependencies.serde_json]
version = "1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
version = "0.12"
features = [
"blocking",
"json",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.5.1"
[profile.bench]
debug = 2
[profile.release]
opt-level = 3
lto = true