[package] name = "ocs_doc_api" version = "0.1.0" edition = "2021" description = "Object-oriented, transport-agnostic CAD entity API for OpenCADStudio plugins and hosts (v2)." license = "MIT" build = "build.rs" # Dependency wiring: pin the SAME cadkernel/acadrust git revs # as the host so `Body`/`EntityType` types are ABI-identical. [dependencies] serde = { version = "1", features = ["derive"] } bincode = "1.3" thiserror = "1" # Host adapters convert ObjectId to acadrust handles; kernel handles stay local. acadrust = { git = "https://github.com/HakanSeven12/cadcodec.git", rev = "f23ffc873228e5f41b876485c741e4a8ac20a67d", features = ["serde"], optional = true } cadkernel = { git = "https://github.com/HakanSeven12/cadkernel.git", rev = "0507b720fef47bd7da0d4f777f97f1743a4f4038", features = ["acis", "offset"], optional = true } ocs_plugin_api = { path = "../ocs_plugin_api", optional = true, features = ["host"] } [build-dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1" toml = "1" [dev-dependencies] serde_json = "1" toml = "1" [features] # Default keeps the facade and DTOs independent of geometry dependencies. default = [] # host: pull acadrust + cadkernel + the executor/backend trait (in-process side). host = ["acadrust", "cadkernel"] # ipc: pull ocs_plugin_api for the IPC transport adapter (plugin side). ipc = ["acadrust", "ocs_plugin_api"] # doc_api_host: convenience helper that builds a DocApi from a HostApi (IPC-only). doc_api_host = ["ipc"] [lib] name = "ocs_doc_api" path = "src/lib.rs" [[test]] name = "mock_backend" required-features = ["host"] [[example]] name = "e1_primitives_and_queries" required-features = ["host"] [[example]] name = "e2_intersect_two_solids" required-features = ["host"] [[example]] name = "e3_transform_and_chain" required-features = ["host"] [[example]] name = "e4_2d_entities_and_bulk" required-features = ["host"] [[example]] name = "e5_failure_and_guards" required-features = ["host"]