Refactor structure, implement layers, add Erode/Fill/layer panel

- Restructure folder hierarchy: max 4 .rs per dir using subfolders
  (ops/operations -> brush/ + shaping/, model/ -> world/, io/* -> subtypes, etc.)
- Fix golden_test.rs comment, extract BrushApply helper, add World::with_heightmap
- Implement 6 layer data generators (Caves, River, Frost, Trees, Biome, Resources)
  with noise-based (OpenSimplex) and terrain-derived algorithms
- Fix clippy warnings, dead code cleanup, import path fixes
- GUI: add Erode&Fill tool modes with radio buttons/sliders/apply_tool
- GUI: add Layers panel with 6 checkboxes + CPU viewport overlay rendering
This commit is contained in:
loki5512344 2026-06-24 12:27:55 +02:00
parent 3d3798136d
commit bdd4564240
104 changed files with 5184 additions and 3912 deletions

View file

@ -1,15 +1,15 @@
fn main() -> Result<(), Box<dyn std::error::Error>> {
fn main() -> Result<(), eframe::Error> {
env_logger::init();
let native_options = eframe::NativeOptions::default();
let native_options = eframe::NativeOptions {
renderer: eframe::Renderer::Wgpu,
viewport: egui::ViewportBuilder::default().with_inner_size([1280.0, 800.0]),
..Default::default()
};
eframe::run_native(
"Terrafier",
native_options,
Box::new(|_cc| Ok(Box::new(app::TerrafierApp::new()))),
)?;
Ok(())
Box::new(|cc| Ok(Box::new(terrafier_gui::TerrafierApp::new(cc)))),
)
}
mod app;
mod dialogs;
mod tools;
mod view;