Initial commit: Terrafier v0.1.0

- Core world model (World, Dimension, Tile, Terrain, Platform)
- NBT reader/writer with full tag support
- Anvil region (.mca) format reader with chunk parsing
- Block palette compression and export
- Biome database with Minecraft 1.21 biomes
- CLI commands: new, import, export, info, render
- GUI application with egui (viewport, tools, undo/redo)
- Noise-based heightmap generation and editing operations

License: GPL-3.0-or-later
This commit is contained in:
loki5512344 2026-06-15 19:14:11 +02:00
commit 91835402b3
94 changed files with 12372 additions and 0 deletions

46
Cargo.toml Executable file
View file

@ -0,0 +1,46 @@
[workspace]
resolver = "3"
members = [
"core",
"cli",
"gui",
"crates/nbt",
"crates/fastanvil",
"crates/noise",
"crates/palette-compress",
"crates/biome-db",
"bench",
]
[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"]
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 = "1.3"
[workspace.metadata.dist]
# Инициализируется при первом запуске cargo dist init
[profile.release]
opt-level = 3
lto = true
codegen-units = 1