2026-06-15 01:36:04 +03:00
|
|
|
[package]
|
|
|
|
|
name = "ocs_plugin_api"
|
|
|
|
|
version = "0.1.0"
|
|
|
|
|
edition = "2021"
|
|
|
|
|
description = "Stable, dependency-free contract for Open CAD Studio add-on packages: plugin manifest, version handshake, and ribbon/CadModule types."
|
|
|
|
|
license = "GPL-3.0-only"
|
|
|
|
|
|
|
|
|
|
[dependencies]
|
2026-06-17 11:31:05 +03:00
|
|
|
# Pulled in only by the `host` feature, which adds the `acadrust`-typed
|
|
|
|
|
# `HostApi` runtime surface. The default crate stays dependency-free so engine
|
|
|
|
|
# crates and external tooling can depend on the manifest/ribbon contract cheaply.
|
2026-08-10 12:46:23 +03:00
|
|
|
acadrust = { package = "acadifc", git = "https://github.com/OpenAEC-Foundation/acadifc.git", rev = "56f1596", optional = true, features = ["serde"] }
|
2026-06-23 22:54:33 +02:00
|
|
|
|
|
|
|
|
# Runtime IPC and serialization (host feature only).
|
|
|
|
|
interprocess = { version = "2", optional = true }
|
|
|
|
|
serde = { version = "1", features = ["derive"], optional = true }
|
|
|
|
|
bincode = { version = "1", optional = true }
|
|
|
|
|
thiserror = { version = "1", optional = true }
|
|
|
|
|
libloading = { version = "0.8", optional = true }
|
2026-06-24 16:34:27 +02:00
|
|
|
memmap2 = { version = "0.9", optional = true }
|
|
|
|
|
rkyv = { version = "0.7", features = ["validation", "std"], optional = true }
|
2026-06-28 09:21:22 +02:00
|
|
|
getrandom = { version = "0.2", optional = true }
|
2026-06-17 11:31:05 +03:00
|
|
|
|
|
|
|
|
[features]
|
2026-06-23 22:54:33 +02:00
|
|
|
# Enables the runtime host surface (`HostApi` trait) and the out-of-process
|
|
|
|
|
# plugin runtime. The OpenCADStudio binary turns this on; pure-data consumers
|
|
|
|
|
# leave it off.
|
2026-06-28 09:21:22 +02:00
|
|
|
host = ["dep:acadrust", "dep:interprocess", "dep:serde", "dep:bincode", "dep:thiserror", "dep:libloading", "dep:memmap2", "dep:rkyv", "dep:getrandom"]
|