diff --git a/Cargo.lock b/Cargo.lock index 7bf9dc9..c83b083 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3218,10 +3218,12 @@ dependencies = [ "gdk", "glib", "gtk", + "implicit3d", "kiss3d", "kiss3ddeps", "nalgebra", "num-traits", + "piccolo", "pollster", "rayon", "serde", @@ -3229,16 +3231,6 @@ dependencies = [ "stl_io", "tessellation", "toml", - "truescad_luascad", -] - -[[package]] -name = "truescad_luascad" -version = "0.6.0" -dependencies = [ - "implicit3d", - "nalgebra", - "piccolo", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index d5f8a79..e4e9370 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = [".", "luascad", "kiss3ddeps"] +members = [".", "kiss3ddeps"] [package] name = "truescad" @@ -12,13 +12,14 @@ dirs = "6.0" sourceview4 = "0.5" gdk = "0.18" cairo-rs = "0.18" +implicit3d = "0.16" nalgebra = "0.34" +piccolo = "0.3" rayon = "1.11" serde = { version = "1.0", features = ["derive"] } toml = "0.8" num-traits = "0.2" tessellation = "0.9" -truescad_luascad = { path = "luascad" } kiss3ddeps = { path = "kiss3ddeps" } stl_io = "0.11" kiss3d = "0.37" diff --git a/PLAN.md b/PLAN.md index ef3d460..952f13e 100644 --- a/PLAN.md +++ b/PLAN.md @@ -32,7 +32,7 @@ The GTK desktop app is being abandoned in favor of a web-first approach. | `src/main.rs` | Replace with `wasm-bindgen` entry point | | Root `Cargo.toml` | Remove gtk/sourceview4/gdk/glib/cairo-rs/kiss3d/rayon/dirs/pollster; add `wasm-bindgen`, `web-sys` | | `kiss3ddeps/` | Delete (only existed for kiss3d) | -| `luascad/` | Keep as-is (piccolo — WASM-ready) | +| `luascad/` | Deleted — folded into `src/luascad.rs` | ## Frontend layout @@ -56,6 +56,7 @@ node_modules/ ← CM6 (dev only, bundled by esbuild) ## Status - [x] piccolo migration complete (`luascad` uses piccolo 0.3, no native C deps) +- [x] `luascad` subcrate folded into `src/luascad.rs` (workspace simplified) - [ ] Phase 1: Strip root crate - [ ] Phase 2: wasm-bindgen API - [ ] Phase 3: Verify WASM builds diff --git a/luascad/Cargo.toml b/luascad/Cargo.toml deleted file mode 100644 index 2a569f1..0000000 --- a/luascad/Cargo.toml +++ /dev/null @@ -1,14 +0,0 @@ -[package] -name = "truescad_luascad" -version = "0.6.0" -authors = ["Henning Meyer "] -edition = "2024" - -[lib] -name = "truescad_luascad" -path = "lib.rs" - -[dependencies] -piccolo = "0.3" -implicit3d = "0.16" -nalgebra = "0.34" diff --git a/luascad/lib.rs b/luascad/lib.rs deleted file mode 100644 index 251f150..0000000 --- a/luascad/lib.rs +++ /dev/null @@ -1,8 +0,0 @@ -pub extern crate implicit3d; - -mod luascad; - -pub use luascad::{eval, EvalResult}; - -type Float = f64; -const EPSILON: f64 = f64::EPSILON; diff --git a/src/editor.rs b/src/editor.rs index 4e14298..97d8078 100644 --- a/src/editor.rs +++ b/src/editor.rs @@ -9,8 +9,7 @@ use std::fs::File; use std::io::prelude::*; use std::io::{BufReader, BufWriter}; use tessellation::{ImplicitFunction, ManifoldDualContouring, Mesh}; -use truescad_luascad; -use truescad_luascad::implicit3d; +use implicit3d; #[derive(Clone)] pub struct Editor { @@ -104,7 +103,7 @@ impl Editor { true, ) .unwrap(); - match truescad_luascad::eval(&code_text) { + match crate::eval(&code_text) { Ok((print_result, maybe_object)) => { writeln!(msg, "{}", print_result).unwrap(); match maybe_object { diff --git a/src/lib.rs b/src/lib.rs index 693ef6f..d6b43db 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,5 @@ pub mod editor; +pub mod luascad; pub mod menu; pub mod mesh_view; pub mod object_widget; @@ -6,4 +7,7 @@ pub mod render; pub mod settings; pub mod window; +pub use luascad::eval; + type Float = f64; +const EPSILON: f64 = std::f64::EPSILON; diff --git a/luascad/luascad.rs b/src/luascad.rs similarity index 100% rename from luascad/luascad.rs rename to src/luascad.rs diff --git a/src/render.rs b/src/render.rs index 7f70c79..c1fbea6 100644 --- a/src/render.rs +++ b/src/render.rs @@ -2,7 +2,7 @@ use super::Float; use nalgebra as na; use rayon::prelude::*; use std::cmp; -use truescad_luascad::implicit3d::Object; +use implicit3d::Object; const EPSILON: Float = 0.003; const APPROX_SLACK: Float = 0.1; diff --git a/luascad/tests/eval.rs b/tests/eval.rs similarity index 99% rename from luascad/tests/eval.rs rename to tests/eval.rs index 168ad8b..30f96ee 100644 --- a/luascad/tests/eval.rs +++ b/tests/eval.rs @@ -1,6 +1,6 @@ +use implicit3d::Object; use nalgebra as na; -use truescad_luascad::eval; -use truescad_luascad::implicit3d::Object; +use truescad::eval; // ── helpers ──────────────────────────────────────────────────────────────────