[package] name = "OpenCADStudio" version = "0.9.1" edition = "2021" build = "build.rs" [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" [features] default = ["solid3d"] solid3d = ["dep:truck-meshalgo", "dep:truck-shapeops", "dep:lzma-sys"] [dependencies] serde_json = "1" serde = { version = "1", features = ["derive"] } semver = "1" lzma-sys = { version = "0.1", features = ["static"], optional = true } iced = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39", features = ["image", "svg", "advanced", "canvas", "smol", "markdown"] } 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"] } truck-modeling = "0.6" truck-meshalgo = { version = "0.4", default-features = false, features = ["tessellation"], optional = true } truck-polymesh = "0.6" rfd = "0.17" clap = { version = "4", features = ["derive"] } env_logger = "0.11" acadrust = { version = "0.4", features = ["serde"] } dwg-thumbnailer = { path = "crates/dwg-thumbnailer" } flate2 = "1" image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "tiff"] } i18n-embed = { version = "0.16", features = ["fluent-system"] } i18n-embed-fl = "0.10" rust-embed = "8" inventory = "0.3" truck-shapeops = { version = "0.4", optional = true } rustc-hash = "2" fontdb = "0.23" ttf-parser = "0.25" cosmic-text = "0.15" lyon_tessellation = "1.0.20" cavalier_contours = "=0.7.0" [dev-dependencies] naga = { version = "27", features = ["wgsl-in"] } [target.'cfg(target_os = "windows")'.dependencies] windows-sys = { version = "0.61", features = ["Win32_UI_Shell", "Win32_UI_WindowsAndMessaging", "Win32_System_Com", "Win32_System_Registry", "Win32_Storage_FileSystem", "Win32_Foundation"] } [target.'cfg(target_os = "linux")'.dependencies] ashpd = { version = "0.13.13", default-features = false, features = ["async-io", "wayland"] } [patch.crates-io] acadrust = { git = "https://github.com/OpenAEC-Foundation/acadifc.git", rev = "78b57b0" } 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] ocs_plugin_api = { path = "crates/ocs_plugin_api", features = ["host"] } i18n-embed = { version = "0.16", features = ["desktop-requester"] } rayon = "1" open = "5" printpdf = { version = "0.9.1", default-features = false } 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"] } console_error_panic_hook = "0.1" log = "0.4" 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", ] } iced = { git = "https://github.com/iced-rs/iced.git", rev = "23604ff22ab0aad9e00b9327cb7b8546ed84db39", features = ["webgl", "fira-sans"] } [profile.release] strip = true