forked from 1b-agent/opencadstudio-upstream
The graph panel gets New, Open and Save. A .ocg file is JSON holding the graph (nodes, parameters, links), the canvas (positions, open sections, pan, zoom) and each object node's entity handles, plus the fingerprint GUID of the drawing those entities live in. On open, handles are reused only in that same drawing and only while the entity is still the node's kind; otherwise evaluation creates new entities, so a graph opened in another drawing never takes over unrelated objects. A drawing without a fingerprint gets one when its graph is first saved. Pins opencadcodec d6d534f (DXF now writes $FINGERPRINTGUID and $VERSIONGUID), opencadkernel 5d9e921 and opencadgraph 5c9b004 (graph JSON round trip). 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 (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.