forked from 1b-agent/opencadstudio-upstream
The codec declared nalgebra and never used it — its Vector2 and Vector3 are plain structs of its own. It was pulling eleven crates into every build here for nothing. Also picks up cadkernel's Vec2, which replaces the vector arithmetic the kernel had been writing out by hand. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
29 lines
1.4 KiB
TOML
29 lines
1.4 KiB
TOML
[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]
|
|
# 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.
|
|
acadrust = { package = "acadifc", git = "https://github.com/OpenAEC-Foundation/acadifc.git", rev = "c65d396", optional = true, features = ["serde"] }
|
|
|
|
# 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 }
|
|
memmap2 = { version = "0.9", optional = true }
|
|
rkyv = { version = "0.7", features = ["validation", "std"], optional = true }
|
|
getrandom = { version = "0.2", optional = true }
|
|
|
|
[features]
|
|
# 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.
|
|
host = ["dep:acadrust", "dep:interprocess", "dep:serde", "dep:bincode", "dep:thiserror", "dep:libloading", "dep:memmap2", "dep:rkyv", "dep:getrandom"]
|