forked from 1b-agent/opencadstudio-upstream
Inventor DWG exports place every sheet block with AcIdBlockReference, which the codec skipped, so these drawings opened blank. opencadcodec 7c20aa7 decodes it as an INSERT and keeps the viewport each model-space view reference is bound to. Those view blocks overlap in model space, so a content viewport now also hides model-space references bound to a different viewport. The handles join the viewport's frozen-layer set (entity and layer handles never collide), which the wire and render-graph visibility checks and every per-viewport cache key already use. Pins opencadcodec 7c20aa7, opencadkernel d71a828, opencadgraph 1543a5a. Co-Authored-By: Claude Opus 5.5 <[email protected]>
154 lines
6.0 KiB
TOML
154 lines
6.0 KiB
TOML
[package]
|
|
name = "OpenCADStudio"
|
|
version = "2026.38.0"
|
|
edition = "2021"
|
|
build = "build.rs"
|
|
default-run = "OpenCADStudio"
|
|
|
|
[workspace]
|
|
members = [
|
|
"crates/ocs_plugin_api",
|
|
"crates/ocs_web_worker",
|
|
"crates/dwg-thumbnailer",
|
|
"crates/dwg-thumbnailer-win",
|
|
]
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
winresource = "0.1"
|
|
|
|
[dependencies]
|
|
serde_json = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
calamine = "0.36.1"
|
|
base64 = "0.22"
|
|
semver = "1"
|
|
url = "2"
|
|
iced = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39", features = ["image", "svg", "advanced", "canvas", "smol", "markdown"] }
|
|
iced_runtime = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
|
iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
|
iced_aw = { git = "https://github.com/HakanSeven12/iced_aw.git", branch = "agent/fix-iced-fonts", features = ["menu", "context_menu", "color_picker", "drop_down"] }
|
|
bytemuck = { version = "1.25", features = ["derive"] }
|
|
glam = { version = "0.33", features = ["bytemuck"] }
|
|
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 = "7c20aa7", features = ["serde"] }
|
|
kernel = { package = "opencadkernel", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "d71a828", features = ["acis", "offset"] }
|
|
kernel-constraints = { package = "opencadkernel-constraints", git = "https://github.com/HakanSeven12/opencadkernel.git", rev = "d71a828" }
|
|
graph = { package = "opencadgraph", git = "https://github.com/HakanSeven12/opencadgraph.git", rev = "1543a5a" }
|
|
dwg-thumbnailer = { path = "crates/dwg-thumbnailer" }
|
|
flate2 = "1"
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] }
|
|
hayro = "0.7.1"
|
|
kurbo = "0.13"
|
|
# Rasterises assets/logo.svg into the window icon at startup, so the taskbar
|
|
# icon comes from the same file every other build target does. Already in the
|
|
# tree behind iced's svg feature; named here only to use it directly.
|
|
resvg = { version = "0.45", default-features = false }
|
|
i18n-embed = { version = "0.16", features = ["fluent-system"] }
|
|
i18n-embed-fl = "0.10"
|
|
rust-embed = "8"
|
|
inventory = "0.3"
|
|
rustc-hash = "2"
|
|
sha2 = "0.10"
|
|
fontdb = "0.23"
|
|
ttf-parser = "0.25"
|
|
cosmic-text = "0.15"
|
|
unicode-bidi = "0.3"
|
|
lyon_tessellation = "1.0.20"
|
|
pollster = "0.4"
|
|
|
|
[dev-dependencies]
|
|
fluent-syntax = "0.12"
|
|
iced_test = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
|
naga = { version = "27", features = ["wgsl-in"] }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
libloading = "0.8"
|
|
windows-sys = { version = "0.61", features = ["Win32_UI_Shell", "Win32_UI_WindowsAndMessaging", "Win32_UI_Input", "Win32_System_LibraryLoader", "Win32_System_Threading", "Win32_Security", "Win32_System_Com", "Win32_System_Registry", "Win32_Storage_FileSystem", "Win32_Foundation", "Win32_Graphics_Printing", "Win32_Graphics_Gdi", "Win32_Storage_Xps"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
ashpd = { version = "0.13.13", default-features = false, features = ["async-io", "wayland"] }
|
|
|
|
# For `src/bin/ocs_launcher.rs` only (the .app's real CFBundleExecutable,
|
|
# see that file for why) — already in the tree transitively via winit, pinned
|
|
# here to the same versions Cargo already resolves for it.
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
objc2 = "0.5"
|
|
# The `NSEvent`/`block2` features are for the trackpad pinch monitor in
|
|
# `src/input/trackpad.rs` — see that file for why the gesture is read there.
|
|
objc2-app-kit = { version = "0.2", features = ["NSApplication", "NSResponder", "NSRunningApplication", "NSEvent", "block2"] }
|
|
block2 = "0.5"
|
|
objc2-foundation = { version = "0.2", features = ["NSArray", "NSURL", "NSString", "NSObject", "NSNotification", "NSThread", "NSEnumerator"] }
|
|
|
|
[patch.crates-io]
|
|
iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
|
iced_widget = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39" }
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
getrandom = "0.3"
|
|
ocs_plugin_api = { path = "crates/ocs_plugin_api", features = ["host"] }
|
|
bincode = "1.3"
|
|
meshopt = "0.6.2"
|
|
i18n-embed = { version = "0.16", features = ["desktop-requester"] }
|
|
rayon = "1"
|
|
open = "5"
|
|
printpdf = { version = "0.9.1", default-features = false, features = ["images"] }
|
|
ureq = { version = "3", default-features = false, features = ["rustls", "platform-verifier", "win-system-proxy"] }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
ocs_plugin_api = { path = "crates/ocs_plugin_api" }
|
|
i18n-embed = { version = "0.16", features = ["web-sys-requester"] }
|
|
rust-embed = { version = "8", features = ["debug-embed"] }
|
|
console_error_panic_hook = "0.1"
|
|
getrandom = { version = "0.3", features = ["wasm_js"] }
|
|
wasm-bindgen = "0.2"
|
|
wasm-bindgen-futures = "0.4"
|
|
js-sys = "0.3"
|
|
bincode = "1.3"
|
|
web-sys = { version = "=0.3.85", features = [
|
|
"Window",
|
|
"Storage",
|
|
"StorageManager",
|
|
"Navigator",
|
|
"Document",
|
|
"Element",
|
|
"HtmlAnchorElement",
|
|
"Blob",
|
|
"File",
|
|
"FileSystemDirectoryHandle",
|
|
"FileSystemFileHandle",
|
|
"FileSystemGetDirectoryOptions",
|
|
"FileSystemGetFileOptions",
|
|
"FileSystemWritableFileStream",
|
|
"WritableStream",
|
|
"Url",
|
|
"Response",
|
|
"Worker",
|
|
"WorkerOptions",
|
|
"WorkerType",
|
|
"MessageEvent",
|
|
"ErrorEvent",
|
|
"Clipboard",
|
|
"KeyboardEvent",
|
|
"KeyboardEventInit",
|
|
"EventInit",
|
|
"EventTarget",
|
|
"BeforeUnloadEvent",
|
|
"console",
|
|
"Node",
|
|
"HtmlElement",
|
|
"HtmlCanvasElement",
|
|
"CanvasRenderingContext2d",
|
|
"ImageData",
|
|
] }
|
|
iced = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39", features = ["webgl", "fira-sans"] }
|
|
|
|
[profile.release]
|
|
strip = true
|
|
|
|
[[bench]]
|
|
name = "performance_benchmarks"
|
|
harness = false
|