forked from 1b-agent/opencadstudio-upstream
feat(plugin): reference-only entity designation on the HostApi (API v9)
The HostApi gains set_reference_only(handle, reference_only): a plugin can designate display geometry it owns and refreshes. The entity renders like any other, but the built-in edit paths treat it like an entity on a locked layer, while the owning plugin keeps full write access (update, erase, XDATA). - Appended at the trait tail with a refusing default so plugins keep compiling against older hosts; the loader gate range is untouched. - IPC: SetReferenceOnly / SetReferenceOnlyResult round-trip through the shared dispatch, the V3 client and the V4 client, with the shared document cache invalidated on success. - build.rs version_info and manifest API_VERSION bumped to 9 in lockstep. - Evidence: reference_only_request_and_response_roundtrip (bincode round-trip of the request and both response payloads).
This commit is contained in:
1 parent
9cc890c911
commit
1f552038a8
8 files changed
+123
-3
No files matched your search
@@ -24,8 +24,11 @@
|
||||
/// undoable replacement of a set of existing entities. v8 appends name-addressed
|
||||
/// XRecord object CRUD under named-object-dictionary paths
|
||||
/// (`HostApi::create_xrecord` / `read_xrecord` / `update_xrecord` /
|
||||
/// `delete_xrecord` / `list_xrecords`).
|
||||
pub const API_VERSION: u32 = 8;
|
||||
/// `delete_xrecord` / `list_xrecords`). v9 appends the reference-only entity
|
||||
/// designation (`HostApi::set_reference_only`): display-only geometry a plugin
|
||||
/// still owns and refreshes while the built-in edit paths treat it like a
|
||||
/// locked layer.
|
||||
pub const API_VERSION: u32 = 9;
|
||||
|
||||
/// Oldest plugin API major the current host still loads. This keeps previously
|
||||
/// compiled cdylibs usable as long as their vtable layout is a prefix of the
|
||||
|
||||
Reference in new issue
Block a user