nucleation 0.3.8

A high-performance Minecraft schematic parser and utility library
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "nucleation"
version = "0.3.8"
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",
    "meshing",
    "rendering",
    "scripting-lua",
    "scripting-js",
]
default = [
    "store-fs",
    "autostack",
]
mc-data-refresh = [
    "dep:image",
    "dep:reqwest",
]
meshing = ["schematic-mesher"]
rendering = [
    "meshing",
    "dep:wgpu",
    "dep:image",
    "dep:pollster",
]
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-bedrock-mappings"
path = "tools/mc-data/refresh-bedrock-mappings.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.schematic-mesher]
version = "0.2.0"
optional = true

[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