Files
OneCAD-Draft/plugins
Hakan SevenandClaude Opus 5.5 a479dd11d1 chore: pin cadcodec at dd1d7bf and cadkernel at 6eae7c9
Brings in the DXF round-trip fixes merged as cadcodec #48 and #51 and the
block-definition fixes for cadcodec issues #49 and #52. cadkernel moved to
the same codec revision first, so the graph keeps a single acadrust. The
Python plugin, which is outside the workspace, has its own lock moved too:
its staging script requires the plugin and the host to share one acadrust
source.

The canaries that asserted the old wrong results were flipped against the
real-IPC audits, all 60 of which pass with the plugin built: Helix, Light,
Underlay, ViewBorder and SectionSymbol now round-trip through DXF, as do the
text style flags, the dimension style's text style name, the block
description, the table's merged ranges and the leader's annotation link and
vectors. Those five kinds move to Complete in the coverage ledger.

Two narrower gaps stay pinned. The ATTDEF writer emits no group 280, so
`lock_position` is still lost on a DXF save; every other field now
survives. A true-colour leader `override_color` cannot be held by DXF group
77, which takes an ACI index, and the DWG writer does not store it.

Behaviour change for users: a text style's oblique angle is now written to
DXF in degrees, as the format defines it. DXF files written by earlier
versions carry radians there and reopen with a much smaller slant.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 17:49:34 +03:00
..

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 cdylib against ocs_plugin_api and exports the host symbols via ocs_plugin_api::export_plugin!.
  • Publishes per-platform binaries plus plugin.toml as GitHub Release assets (see crates/ocs_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.toml declares an api_version compatible 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.