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
This commit is contained in:
parent
bdd4564240
commit
18613260a8
100 changed files with 4262 additions and 585 deletions
37
Cargo.toml
37
Cargo.toml
|
|
@ -9,8 +9,14 @@ members = [
|
|||
"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"
|
||||
|
|
@ -21,6 +27,7 @@ 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]
|
||||
|
|
@ -35,13 +42,39 @@ image = { version = "0.25", default-features = false, features = ["png"] }
|
|||
log = "0.4"
|
||||
env_logger = "0.11"
|
||||
serde-big-array = "0.5"
|
||||
bincode = "1.3"
|
||||
bincode = { version = "2", features = ["serde"] }
|
||||
flate2 = "1.1"
|
||||
|
||||
# Config for 'dist'
|
||||
[workspace.metadata.dist]
|
||||
# Инициализируется при первом запуске cargo dist init
|
||||
# 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"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue