build(deps): compile acadrust from the OpenAEC-Foundation/acadifc fork

Point the acadrust patch at the OpenAEC-Foundation/acadifc fork (still the
`acadrust` crate). Its main carries the Arc copy-on-write entity storage that
makes the undo document clone O(entities) refcount bumps instead of a full deep
copy — cutting the per-edit snapshot on a 788k-entity drawing from ~1.7s to
~70ms. No source changes here: acadrust`s public API is unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-07-15 07:55:27 +03:00
commit 9a86a7394c
2 changed files with 7 additions and 6 deletions

4
Cargo.lock generated
View file

@ -73,7 +73,7 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
[[package]]
name = "acadrust"
version = "0.4.0"
source = "git+https://github.com/HakanSeven12/acadrust?branch=main#d1e198b66db8a460915d7ebcdb293e912d7bf964"
source = "git+https://github.com/OpenAEC-Foundation/acadifc?branch=main#a7f4741eb9dbcc8f44170eca3a5c85143b6cf432"
dependencies = [
"ahash 0.8.12",
"anyhow",
@ -3178,7 +3178,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b577e2d69827c4740cba2b52efaad1c4cc7c73042860b199710b3575c68438d"
dependencies = [
"bytecount",
"memchr 1.0.2",
"memchr 2.8.2",
"nom 8.0.0",
]

View file

@ -89,10 +89,11 @@ lyon_tessellation = "1.0.20"
windows-sys = { version = "0.61", features = ["Win32_UI_Shell", "Win32_UI_WindowsAndMessaging", "Win32_System_Com", "Win32_System_Registry", "Win32_Foundation"] }
[patch.crates-io]
# Tracks HakanSeven12/acadrust main (0.4.x): the plotstyle/material common-
# entity ordering fix plus the in-flight DWG reader work, ahead of the crates.io
# release. Drop the patch once those land in a published 0.4 crate.
acadrust = { git = "https://github.com/HakanSeven12/acadrust", branch = "main" }
# The `acadrust` crate now tracks the OpenAEC-Foundation/acadifc fork's main
# (still the `acadrust` package): the in-flight DWG reader work plus the Arc
# copy-on-write entity storage that makes the undo document clone cheap. Drop the
# patch once these land in a published 0.4 crate.
acadrust = { git = "https://github.com/OpenAEC-Foundation/acadifc", branch = "main" }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
# Native enables the plugin host runtime (out-of-process plugins).