forked from 1b-agent/opencadstudio-upstream
Inventor DWG exports place every sheet block with AcIdBlockReference, which the codec skipped, so these drawings opened blank. opencadcodec 7c20aa7 decodes it as an INSERT and keeps the viewport each model-space view reference is bound to. Those view blocks overlap in model space, so a content viewport now also hides model-space references bound to a different viewport. The handles join the viewport's frozen-layer set (entity and layer handles never collide), which the wire and render-graph visibility checks and every per-viewport cache key already use. Pins opencadcodec 7c20aa7, opencadkernel d71a828, opencadgraph 1543a5a. 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 = "7c20aa7", 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 = "7c20aa7", features = ["serde"] }
|
|
|
|
[dev-dependencies]
|
|
serde_json = "1"
|