forked from 1b-agent/opencadstudio-upstream
The codec keeps dynamic-block, associative and material records intact on DWG save (strict readers rejected re-saved drawings at BLOCKSCALEACTION, associative action bodies and MATERIAL records). A checker material texture no longer rewrites the native map source, so a map with a procedural texture counts as content whatever its source says. Valuable parts of #1671 (with opencadcodec#100): measured on 235 sample drawings re-saved after an edit, a strict reader now rejects 4 instead of 7; the remaining 4 are R14/R2000 tables, which the PR codec also fails. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Plugin registry
registry.json is the curated list of third-party plugins Open CAD Studio
offers in its Plugin Manager → marketplace. The app fetches it from this
repo's main branch at runtime, so adding an entry makes a plugin discoverable
to every user without an app update.
Add your plugin
Open a pull request adding one object to the array in
registry.json:
{
"repo": "your-account/your-plugin-repo",
"name": "Human-readable name",
"description": "One line describing what it does."
}
Requirements for the linked repo:
- Builds a
cdylibagainstocs_plugin_apiand exports the host symbols viaocs_plugin_api::export_plugin!. - Publishes per-platform binaries plus
plugin.tomlas GitHub Release assets (see opencad-example-plugin and its release workflow for a template). Asset names carry the platform, e.g.your.plugin-linux-x86_64.so,…-windows-x86_64.dll,…-macos-aarch64.dylib. plugin.tomldeclares anapi_versioncompatible with the host (3 or newer). From API 4 on it must also carry therustc_versionandacadrust_sourcethe library was built with; the host loads it only when both match its own build.
The host reads the release matching the user's platform, checks the API version, and installs it into the user's plugins folder.
Listing is curation, not endorsement or a security review. Installing a plugin runs its native code; users install at their own risk.