Terrafier/Cargo.toml
loki5512344 18613260a8 WASM plugins, scripting, i18n, GUI pan/zoom, cargo-dist CI/CD
- WASM plugin host (wasmtime 46, 17 host fns) + example noisemap plugin
- Rhai scripting engine (12 API fns, `terrafier run` cmd)
- i18n: en/ru translations, auto-detect, t! macro
- GUI: pan (click-drag) + zoom (scroll wheel) with viewport transform
- cargo-dist 0.31: MSI/pkg/shell installers, both binaries
- CI: .github/workflows/ci.yml + release.yml
- Security: wasmtime 30→46, bincode 1.3→2.0, quick-xml CVE docs
- Code review: SAFETY comments, unwrap→match cleanup
- Fixes: clippy approx_constant, needless_borrows, rustfmt
2026-07-04 11:14:47 +02:00

80 lines
2 KiB
TOML
Executable file

[workspace]
resolver = "3"
members = [
"core",
"cli",
"gui",
"crates/nbt",
"crates/fastanvil",
"crates/noise",
"crates/palette-compress",
"crates/biome-db",
"crates/wasm-host",
"crates/scripting",
"crates/i18n",
"bench",
]
exclude = [
"plugins/example-noisemap",
]
[workspace.dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[workspace.package]
edition = "2024"
version = "0.1.0"
license = "GPL-3.0-or-later"
authors = ["Loki"]
repository = "https://github.com/loki5512344/Terrafier"
description = "A high-performance Minecraft world painter, written in Rust"
[workspace.dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
thiserror = "2"
rayon = "1"
clap = { version = "4", features = ["derive"] }
indicatif = "0.17"
image = { version = "0.25", default-features = false, features = ["png"] }
log = "0.4"
env_logger = "0.11"
serde-big-array = "0.5"
bincode = { version = "2", features = ["serde"] }
flate2 = "1.1"
# Config for 'dist'
[workspace.metadata.dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.31.0"
rust-toolchain = "stable"
# CI backends to support
ci = "github"
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# The installers to generate for each app
installers = ["shell", "msi", "pkg"]
# The archive format to use for non-windows builds (defaults .tar.xz)
unix-archive = ".tar.gz"
# The archive format to use for windows builds (defaults .zip)
windows-archive = ".zip"
# Path that installers should place binaries in
install-path = "CARGO_HOME"
# Whether to install an updater program
install-updater = false
[workspace.metadata.dist.mac-pkg-config]
identifier = "com.terrafier.app"
install-location = "/usr/local"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"