From 68d9ebe26531d55a6609541d7ef9b9ebf510d017 Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Sat, 17 Oct 2026 00:03:23 +0300 Subject: [PATCH] Cargo: codec cf3a040 (crate acadrust), kernel 2659c33, graph 800878a The codec crate is named acadrust again (b6cb385); the `codec` key and every `codec::` path stay as they are, only the package name changes in each manifest, the plugin API build script finds it under that name, and the recovery report reads the codec revision from the `codec` line it had stopped matching. Codec: DWG dimension text-position flag polarity (#117) and explode ByBlock resolution. Co-Authored-By: Claude Opus 5.5 --- Cargo.lock | 64 +++++++++++++++--------------- Cargo.toml | 8 ++-- crates/ocs_plugin_api/Cargo.toml | 4 +- crates/ocs_plugin_api/build.rs | 4 +- crates/ocs_save/Cargo.toml | 2 +- crates/ocs_web_worker/Cargo.toml | 2 +- docs/plugin-template-v2/Cargo.toml | 2 +- plugins/opencad-python/Cargo.lock | 50 +++++++++++------------ src/io/recovery.rs | 2 +- 9 files changed, 69 insertions(+), 69 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2edfbdbf2..e90d41448 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,6 +6,7 @@ version = 4 name = "OpenCADStudio" version = "2026.41.0" dependencies = [ + "acadrust", "allsorts", "ashpd", "base64", @@ -47,7 +48,6 @@ dependencies = [ "ocs_plugin_api", "ocs_save", "open", - "opencadcodec", "opencadgraph", "opencadkernel", "opencadkernel-constraints", @@ -93,6 +93,30 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" +[[package]] +name = "acadrust" +version = "0.6.4" +source = "git+https://github.com/HakanSeven12/opencadcodec.git?rev=cf3a040#cf3a04051240cf88440f8aaf41c4841fcb01d0d1" +dependencies = [ + "anyhow", + "bitflags 2.13.1", + "byteorder", + "encoding_rs", + "flate2", + "foldhash 0.2.0", + "indexmap", + "itoa", + "memmap2", + "nom 7.1.3", + "oem_cp", + "once_cell", + "rayon", + "ryu", + "serde", + "thiserror 2.0.18", + "web-time", +] + [[package]] name = "adler2" version = "2.0.1" @@ -4309,13 +4333,13 @@ dependencies = [ name = "ocs_plugin_api" version = "0.2.1" dependencies = [ + "acadrust", "bincode", "cargo-lock", "getrandom 0.2.17", "interprocess", "libloading", "memmap2", - "opencadcodec", "rkyv", "serde", "serde-reflection", @@ -4328,8 +4352,8 @@ dependencies = [ name = "ocs_save" version = "0.1.0" dependencies = [ + "acadrust", "bincode", - "opencadcodec", "serde", ] @@ -4337,12 +4361,12 @@ dependencies = [ name = "ocs_web_worker" version = "0.1.0" dependencies = [ + "acadrust", "bincode", "console_error_panic_hook", "getrandom 0.3.4", "js-sys", "ocs_save", - "opencadcodec", "serde", "sha2 0.10.9", "wasm-bindgen", @@ -4379,34 +4403,10 @@ dependencies = [ "libc", ] -[[package]] -name = "opencadcodec" -version = "0.6.0" -source = "git+https://github.com/HakanSeven12/opencadcodec.git?rev=d4ac66e#d4ac66ee5cf39d3a08282325d538d3bc55147e4a" -dependencies = [ - "anyhow", - "bitflags 2.13.1", - "byteorder", - "encoding_rs", - "flate2", - "foldhash 0.2.0", - "indexmap", - "itoa", - "memmap2", - "nom 7.1.3", - "oem_cp", - "once_cell", - "rayon", - "ryu", - "serde", - "thiserror 2.0.18", - "web-time", -] - [[package]] name = "opencadgraph" version = "0.1.0" -source = "git+https://github.com/HakanSeven12/opencadgraph.git?rev=8b315ab#8b315ab4e6fbddd7cee0c3ec0b81ee66efd423ed" +source = "git+https://github.com/HakanSeven12/opencadgraph.git?rev=800878a#800878aa14be9789568544e2e552a044ac727cae" dependencies = [ "opencadkernel", "serde_json", @@ -4415,10 +4415,10 @@ dependencies = [ [[package]] name = "opencadkernel" version = "0.1.0" -source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=85eb912#85eb91245f408646e75b9cc7189010d3fdfeba6f" +source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=2659c33#2659c339d0b57f7f858881174e3e04d5ef46af2f" dependencies = [ + "acadrust", "cavalier_contours", - "opencadcodec", "rustc-hash 2.1.3", "spade", ] @@ -4426,7 +4426,7 @@ dependencies = [ [[package]] name = "opencadkernel-constraints" version = "0.1.0" -source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=85eb912#85eb91245f408646e75b9cc7189010d3fdfeba6f" +source = "git+https://github.com/HakanSeven12/opencadkernel.git?rev=2659c33#2659c339d0b57f7f858881174e3e04d5ef46af2f" dependencies = [ "nalgebra", ] diff --git a/Cargo.toml b/Cargo.toml index c760df7de..3e148c609 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,10 +37,10 @@ rfd = "0.17" clap = { version = "4", features = ["derive", "string"] } env_logger = "0.11" log = "0.4" -codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "d4ac66e", features = ["serde"] } -kernel = { package = "opencadkernel", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "85eb912", features = ["acis", "offset"] } -kernel-constraints = { package = "opencadkernel-constraints", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "85eb912" } -graph = { package = "opencadgraph", git = "https://github.com/HakanSeven12/opencadgraph.git", rev = "8b315ab" } +codec = { package = "acadrust", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "cf3a040", features = ["serde"] } +kernel = { package = "opencadkernel", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "2659c33", features = ["acis", "offset"] } +kernel-constraints = { package = "opencadkernel-constraints", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "2659c33" } +graph = { package = "opencadgraph", git = "https://github.com/HakanSeven12/opencadgraph.git", rev = "800878a" } dwg-thumbnailer = { path = "crates/dwg-thumbnailer" } # Shared SAVE serialization dispatch + web-worker wire format: one # implementation for the inline (fallback/native) path and the worker path. diff --git a/crates/ocs_plugin_api/Cargo.toml b/crates/ocs_plugin_api/Cargo.toml index 5e04cb8e7..52f9957a8 100644 --- a/crates/ocs_plugin_api/Cargo.toml +++ b/crates/ocs_plugin_api/Cargo.toml @@ -15,7 +15,7 @@ serde_json = { version = "1", optional = true } # Pulled in only by the `host` feature, which adds the `opencadcodec`-typed # `HostApi` runtime surface. The default crate stays dependency-free so engine # crates and external tooling can depend on the manifest/ribbon contract cheaply. -codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "d4ac66e", optional = true, features = ["serde"] } +codec = { package = "acadrust", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "cf3a040", optional = true, features = ["serde"] } # Runtime IPC and serialization (host feature only). interprocess = { version = "2", optional = true } @@ -39,7 +39,7 @@ serde_json = "1" serde = { version = "1", features = ["derive"] } cargo-lock = "11" # opencadcodec is scanned at build time to generate the embedded type registry. -codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "d4ac66e", features = ["serde"] } +codec = { package = "acadrust", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "cf3a040", features = ["serde"] } [dev-dependencies] serde_json = "1" diff --git a/crates/ocs_plugin_api/build.rs b/crates/ocs_plugin_api/build.rs index 14a6e33e7..8d838c605 100644 --- a/crates/ocs_plugin_api/build.rs +++ b/crates/ocs_plugin_api/build.rs @@ -1240,8 +1240,8 @@ fn generate_version_info(out_dir: &Path) { let opencadcodec = lockfile .packages .iter() - .find(|p| p.name.as_str() == "opencadcodec") - .expect("opencadcodec package in Cargo.lock"); + .find(|p| p.name.as_str() == "acadrust") + .expect("codec package (acadrust) in Cargo.lock"); let rustc = env::var_os("RUSTC").unwrap_or_else(|| "rustc".into()); let rustc_version = Command::new(rustc) diff --git a/crates/ocs_save/Cargo.toml b/crates/ocs_save/Cargo.toml index afe7ce279..190a7788b 100644 --- a/crates/ocs_save/Cargo.toml +++ b/crates/ocs_save/Cargo.toml @@ -10,6 +10,6 @@ publish = false # exactly one implementation. No UI/app dependencies — only the codec + serde. [dependencies] -codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "d4ac66e", features = ["serde"] } +codec = { package = "acadrust", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "cf3a040", features = ["serde"] } bincode = "1.3" serde = { version = "1", features = ["derive"] } diff --git a/crates/ocs_web_worker/Cargo.toml b/crates/ocs_web_worker/Cargo.toml index 844b373ed..d1a597881 100644 --- a/crates/ocs_web_worker/Cargo.toml +++ b/crates/ocs_web_worker/Cargo.toml @@ -8,7 +8,7 @@ publish = false crate-type = ["cdylib"] [dependencies] -codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "d4ac66e", features = ["serde"] } +codec = { package = "acadrust", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "cf3a040", features = ["serde"] } bincode = "1.3" serde = { version = "1", features = ["derive"] } console_error_panic_hook = "0.1" diff --git a/docs/plugin-template-v2/Cargo.toml b/docs/plugin-template-v2/Cargo.toml index a981c391e..46d871be9 100644 --- a/docs/plugin-template-v2/Cargo.toml +++ b/docs/plugin-template-v2/Cargo.toml @@ -16,4 +16,4 @@ ocs_plugin_api = { path = "../../crates/ocs_plugin_api", features = ["host"] } # entry): the plugin's entities and the host's re-exports are the same types # only when both resolve the same revision. The registration `rustc` / # `acadrust_source` gates enforce this at load time too. -acadrust = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "d4ac66e" } +acadrust = { package = "acadrust", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "cf3a040" } diff --git a/plugins/opencad-python/Cargo.lock b/plugins/opencad-python/Cargo.lock index 54d1eb6ea..f9f33423d 100644 --- a/plugins/opencad-python/Cargo.lock +++ b/plugins/opencad-python/Cargo.lock @@ -2,6 +2,30 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "acadrust" +version = "0.6.4" +source = "git+https://github.com/HakanSeven12/opencadcodec.git?rev=cf3a040#cf3a04051240cf88440f8aaf41c4841fcb01d0d1" +dependencies = [ + "anyhow", + "bitflags", + "byteorder", + "encoding_rs", + "flate2", + "foldhash", + "indexmap", + "itoa", + "memmap2", + "nom", + "oem_cp", + "once_cell", + "rayon", + "ryu", + "serde", + "thiserror 2.0.20", + "web-time", +] + [[package]] name = "adler2" version = "2.0.1" @@ -1230,13 +1254,13 @@ dependencies = [ name = "ocs_plugin_api" version = "0.2.1" dependencies = [ + "acadrust", "bincode", "cargo-lock", "getrandom 0.2.17", "interprocess", "libloading 0.8.9", "memmap2", - "opencadcodec", "rkyv", "serde", "serde-reflection", @@ -1270,30 +1294,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "opencadcodec" -version = "0.6.0" -source = "git+https://github.com/HakanSeven12/opencadcodec.git?rev=d4ac66e#d4ac66ee5cf39d3a08282325d538d3bc55147e4a" -dependencies = [ - "anyhow", - "bitflags", - "byteorder", - "encoding_rs", - "flate2", - "foldhash", - "indexmap", - "itoa", - "memmap2", - "nom", - "oem_cp", - "once_cell", - "rayon", - "ryu", - "serde", - "thiserror 2.0.20", - "web-time", -] - [[package]] name = "optional" version = "0.5.0" diff --git a/src/io/recovery.rs b/src/io/recovery.rs index 700033b02..3ee2aebf3 100644 --- a/src/io/recovery.rs +++ b/src/io/recovery.rs @@ -561,7 +561,7 @@ fn structured_diagnostic_line(diagnostic: &codec::ReadDiagnostic) -> String { fn reader_revision() -> String { include_str!("../../Cargo.toml") .lines() - .find(|line| line.trim_start().starts_with("opencadcodec = { git =")) + .find(|line| line.trim_start().starts_with("codec = ") && line.contains("opencadcodec.git")) .and_then(|line| line.split("rev = \"").nth(1)) .and_then(|value| value.split('"').next()) .filter(|value| !value.is_empty())