- 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
80 lines
2 KiB
TOML
Executable file
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"
|