forked from 1b-agent/opencadstudio-upstream
The codec and kernel repositories and crates are renamed opencadcodec and opencadkernel. Inside OCS they are depended on under short keys, so code reads `codec::`, `kernel::` and the new `graph::` (opencadgraph, the node graph engine). File-format and protocol spellings stay as they were: the ACIS product id `acadrust`, the ACADRUST_* switches and the plugin version keys `acadrust_version` / `acadrust_source`. A button left of MCP on the command line opens a translucent node graph over the viewport, with a palette of object, input, math, logic, list, text and geometry nodes added by click or drag. An object node owns drawing entities and its rows are the Properties panel's own rows for them: the single-object page is extracted from refresh_properties as entity_property_sections, values use the control protocol's property_json, and writes go through set_property_value with a property target override, so the panel, MCP and the graph share one read/write path. A list reaching an object row makes one entity per element. Each graph action is one undo step; the canvas pans and zooms. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 (seecrates/ocs_example_pluginand 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.
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.