From 60ec29375f0249b56496abaf436af62bb34db0c5 Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Mon, 10 Aug 2026 02:12:06 +0300 Subject: [PATCH] chore: take the kernel and codec that draw the missing faces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two faults kept faces out of a lifted solid, and both looked like a document problem rather than a reader one — the lift reported no loss at all. An edge's stored parameter pair can span the right length from the wrong place, putting a straight curve beside the face it bounds instead of along it. And a loop's coedges are not always listed in the order the ring runs, which the old chaining could not fix: it reversed the next piece in the list, where what was needed was a different piece. Either one leaves a ring that crosses itself, which ear clipping declines, so the face is dropped without a word. Handle 176 of Annotation-2D-Mesh-Solid-BIM.dwg now meshes all fourteen of its faces, where it managed ten. Across that file: 105 of 107 solids complete, 865 of 867 faces. Across VILLA_NEU_IFC3.dwg: 672 of 763 solids, 58922 of 59033 faces. The fallback sampler stays until that reaches all of them — a complete mesh is what stops it running, and 111 faces still need it. Co-Authored-By: Claude Opus 5 --- Cargo.lock | 6 +++--- Cargo.toml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9e314f974..3c24fa5ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,7 +6,7 @@ version = 4 name = "OpenCADStudio" version = "0.9.4" dependencies = [ - "acadifc 0.5.0 (git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=88e3308)", + "acadifc 0.5.0 (git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=1ffe44e)", "ashpd", "bincode", "bytemuck", @@ -70,7 +70,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "acadifc" version = "0.5.0" -source = "git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=88e3308#88e3308d0f14508346692705e6142de3f3d6a169" +source = "git+https://github.com/OpenAEC-Foundation/acadifc.git?rev=1ffe44e#1ffe44ea986628a9915f3e4f0e0b1c433a131c3d" dependencies = [ "acadrust", "base64", @@ -904,7 +904,7 @@ checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04" [[package]] name = "cadkernel" version = "0.1.0" -source = "git+https://github.com/HakanSeven12/cadkernel.git#9fc5bf5149e4cb3f75a3774b9a1db5c7ed6f19fc" +source = "git+https://github.com/HakanSeven12/cadkernel.git#962ffc3eda748a7d675ddc868be628c334e20a3b" dependencies = [ "cavalier_contours", ] diff --git a/Cargo.toml b/Cargo.toml index 293d4d7c9..bd8c5505c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,7 +30,7 @@ env_logger = "0.11" # The CAD stack is reached through acadifc, which re-exports the codec and # the geometry kernel. Aliased to `acadrust` so existing `use acadrust::…` # paths keep resolving. -acadrust = { package = "acadifc", git = "https://github.com/OpenAEC-Foundation/acadifc.git", rev = "88e3308", features = ["serde", "offset"] } +acadrust = { package = "acadifc", git = "https://github.com/OpenAEC-Foundation/acadifc.git", rev = "1ffe44e", features = ["serde", "offset"] } dwg-thumbnailer = { path = "crates/dwg-thumbnailer" } flate2 = "1" image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }