feat(block-editor): edit definition properties in the Properties panel

Add the no-selection Block section with annotation, orientation, scaling, exploding, units, description and hyperlink controls. Integrate definition edits with editor history, save checkpoints and discard, and keep staged text tied to its definition.

Persist annotation and hyperlink metadata on the block record, migrate legacy marker values on edit, and honor orientation and hyperlink descriptions during block creation. Cover native DWG/DXF roundtrips and replacement after reopening.
This commit is contained in:
Karim Jerbi committed 2026-10-15 09:45:58 +01:00
1 parent f3973f08a7
commit c48fac7ae9
9 files changed
+952 -7

No files matched your search

+5
View File
@@ -12,6 +12,9 @@ mod block_editor;
#[cfg(test)]
mod block_editor_tests;
mod block_save_as;
mod block_properties;
#[cfg(test)]
mod block_properties_tests;
mod block_test;
#[cfg(test)]
mod block_test_tests;
@@ -1099,6 +1102,7 @@ pub(super) struct OpenCADStudio {
active_modal: Option<ModalKind>,
/// Selection and staged values owned by the Properties hyperlink dialog.
hyperlink_editor_handles: Vec<codec::Handle>,
hyperlink_editor_block: Option<(u64, codec::Handle)>,
hyperlink_editor_url: String,
hyperlink_editor_description: String,
hyperlink_editor_mixed: bool,
@@ -4839,6 +4843,7 @@ impl OpenCADStudio {
color_books_read: false,
active_modal: None,
hyperlink_editor_handles: Vec::new(),
hyperlink_editor_block: None,
hyperlink_editor_url: String::new(),
hyperlink_editor_description: String::new(),
hyperlink_editor_mixed: false,