cad-editor/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Hakan Seven 29c71be101 feat(plugin): load external cdylib plugins at runtime (phase 2)
Move BuiltinPlugin into ocs_plugin_api (host feature) so out-of-tree
crates can implement it, and add export_plugin! to emit the two C
symbols a cdylib exposes: ocs_plugin_api_version (checked first, so an
ABI-incompatible build never runs) and ocs_plugin_register -> boxed
BuiltinPlugin. The host loads every compatible package from the plugins
folder at startup via libloading (desktop only), keeps the library
resident for the session, and merges its ribbon tab + command dispatch
into the same paths as built-ins (honouring enable/disable). The Plugin
Manager shows external packages with a Loaded / incompatible status.

Approach B: the plugin hands back a boxed trait object, assuming a
matching toolchain + ocs_plugin_api version (the version symbol enforces
the latter). crates/ocs_example_plugin is the reference cdylib.

Part of the #100 extensibility epic (phase 2).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 14:48:56 +03:00
..
plugin-template feat(plugin): lift host surface behind a HostApi trait (phase 1b) 2026-06-17 11:31:05 +03:00
issue-78-comment.txt Add demo_plugin and plugin host integration tests 2026-06-09 13:52:15 -04:00
issue-78-reply.md Add plugin host architecture and Storm Sewer add-on package 2026-06-09 13:41:21 -04:00
native-vs-web.md docs: document native vs. web (wasm) differences 2026-06-17 04:44:12 +03:00
plugin-architecture.md feat(plugin): load external cdylib plugins at runtime (phase 2) 2026-06-17 14:48:56 +03:00
PR-plugin-host.md Add demo_plugin and plugin host integration tests 2026-06-09 13:52:15 -04:00