forked from 1b-agent/opencadstudio-upstream
Opening a drawing no longer drops entities with its own sanity checks or rewrites knotless splines; recovery runs the codec's repair and records its actions and unresolved issues in the drawing's notifications. Xref merges keep every entity. The dropped-entity counts, their command-line warnings, recovery report rows and the automation "purged" field go with the guard. AUDIT now reports the codec's audit (counts plus the first 50 issues) and asks whether to fix; Yes applies the codec repair as one undo step. Cargo: codec 325fa98, kernel dfca391, graph 5d4e713. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
46 lines
2.1 KiB
TOML
46 lines
2.1 KiB
TOML
[package]
|
|
name = "ocs_plugin_api"
|
|
version = "0.2.1"
|
|
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]
|
|
# Serde is used unconditionally by the build-time-generated embedded type
|
|
# registry types (`type_registry_types.rs`). The host feature no longer needs
|
|
# to enable it explicitly.
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", optional = true }
|
|
|
|
# Pulled in only by the `host` feature, which adds the `opencadcodec`-typed
|
|
# `HostApi` runtime surface. The default crate stays dependency-free so engine
|
|
# crates and external tooling can depend on the manifest/ribbon contract cheaply.
|
|
codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "325fa98", optional = true, features = ["serde"] }
|
|
|
|
# Runtime IPC and serialization (host feature only).
|
|
interprocess = { version = "2", optional = true }
|
|
bincode = { version = "1", optional = true }
|
|
serde_bytes = { version = "0.11", 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:codec", "dep:serde_json", "dep:interprocess", "dep:bincode", "dep:serde_bytes", "dep:thiserror", "dep:libloading", "dep:memmap2", "dep:rkyv", "dep:getrandom"]
|
|
|
|
[build-dependencies]
|
|
serde-reflection = "0.6"
|
|
serde_json = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
cargo-lock = "11"
|
|
# opencadcodec is scanned at build time to generate the embedded type registry.
|
|
codec = { package = "opencadcodec", git = "https://github.com/HakanSeven12/opencadcodec.git", rev = "325fa98", features = ["serde"] }
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1"
|