Fix LOFT scripted picks and binary history persistence

This commit is contained in:
ramox81 committed 2026-09-04 13:31:11 +03:00
1 parent c995995db5
commit 8bd8ff3e33
3 files changed
+14 -6

No files matched your search

Generated
+2 -2
View File
@@ -72,7 +72,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
[[package]]
name = "acadrust"
version = "0.5.4"
source = "git+https://git@github.com/HakanSeven12/cadcodec.git?rev=da65c079396eb6e48d0f5d411eb0f87477479ee2#da65c079396eb6e48d0f5d411eb0f87477479ee2"
source = "git+https://git@github.com/HakanSeven12/cadcodec.git?rev=0edbe8a945fa1de434d6ee88b2836dcaad459cbc#0edbe8a945fa1de434d6ee88b2836dcaad459cbc"
dependencies = [
"ahash 0.8.12",
"anyhow",
@@ -878,7 +878,7 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]]
name = "cadkernel"
version = "0.1.0"
source = "git+https://github.com/HakanSeven12/cadkernel.git?rev=3899c46e22e92d2e888f43405a36031365d6b1d5#3899c46e22e92d2e888f43405a36031365d6b1d5"
source = "git+https://github.com/HakanSeven12/cadkernel.git?rev=0e7b97e4e6a22e4c46fb8b72e3bdd1dce3262052#0e7b97e4e6a22e4c46fb8b72e3bdd1dce3262052"
dependencies = [
"acadrust",
"cavalier_contours",
+3 -3
View File
@@ -27,8 +27,8 @@ glam = { version = "0.33", features = ["bytemuck"] }
rfd = "0.17"
clap = { version = "4", features = ["derive"] }
env_logger = "0.11"
acadrust = { git = "https://github.com/HakanSeven12/cadcodec.git", rev = "da65c079396eb6e48d0f5d411eb0f87477479ee2", features = ["serde"] }
cadkernel = { git = "https://github.com/HakanSeven12/cadkernel.git", rev = "3899c46e22e92d2e888f43405a36031365d6b1d5", features = ["acis", "offset"] }
acadrust = { git = "https://github.com/HakanSeven12/cadcodec.git", rev = "0edbe8a945fa1de434d6ee88b2836dcaad459cbc", features = ["serde"] }
cadkernel = { git = "https://github.com/HakanSeven12/cadkernel.git", rev = "0e7b97e4e6a22e4c46fb8b72e3bdd1dce3262052", features = ["acis", "offset"] }
dwg-thumbnailer = { path = "crates/dwg-thumbnailer" }
flate2 = "1"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }
@@ -61,7 +61,7 @@ iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aa
iced_widget = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
[patch."https://github.com/HakanSeven12/cadcodec.git"]
acadrust = { git = "https://git@github.com/HakanSeven12/cadcodec.git", rev = "da65c079396eb6e48d0f5d411eb0f87477479ee2" }
acadrust = { git = "https://git@github.com/HakanSeven12/cadcodec.git", rev = "0edbe8a945fa1de434d6ee88b2836dcaad459cbc" }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
+9 -1
View File
@@ -2138,6 +2138,14 @@ impl CadCommand for LoftCommand {
if Self::keyword(text, &["UNDO"]).is_some() {
return Some(self.undo_selection());
}
// Leave hexadecimal object identifiers to the shared pick-input router.
// Treating them as unknown options would consume scripted section,
// guide and path selections before on_entity_pick can receive them.
if self.needs_entity_pick()
&& u64::from_str_radix(text.trim().trim_start_matches("0x"), 16).is_ok()
{
return None;
}
match self.state.step {
LoftStep::Sections => match Self::keyword(text, &["POINT", "JOIN", "MODE"]) {
Some(0) => {
@@ -2239,7 +2247,7 @@ impl CadCommand for LoftCommand {
}
LoftStep::StartBulge | LoftStep::EndBulge => {
if !self.set_numeric_setting(text) {
return Some(self.invalid(t!("Enter a finite bulge magnitude greater than zero.").into_owned()));
return Some(self.invalid(t!("Enter a finite, non-negative bulge magnitude.").into_owned()));
}
}
LoftStep::Closed | LoftStep::AlignDirection => {