feat(block-editor): wire Visibility parameter placement

Milestone 1: enable Parameters > Visibility and add interactive
BPARAMETER VISIBILITY placement using the existing native visibility
parameter, grip and state engine. Bare BPARAMETER currently offers only
Visibility; other parameter, action and set entries remain unavailable.

Show the placed parameter in the editor and support cancel, local undo/
redo, save/discard and saved-edit undo. Bind placement to its document
and definition, reject duplicates and invalid points, and protect existing
authoring graphs from replacement.

Keep visibility parameters and their grips aligned with geometry when a
BEDIT UCS change reframes the definition, including parameter-only blocks.

Validation: 9 targeted tests, 272 block checks and 58 dock checks passed
(overlapping groups). All 17 local DWG fixtures passed in-memory DWG/DXF
placement roundtrips and graph-preservation checks; originals unchanged.
This commit is contained in:
Karim Jerbi committed 2026-10-15 15:08:21 +01:00
1 parent c8750db7c9
commit 308990e672
14 files changed
+778 -7

No files matched your search

+11
View File
@@ -575,6 +575,17 @@ impl OpenCADStudio {
return task;
}
}
CmdResult::PlaceBlockVisibilityParameter {
document_id,
definition,
location,
} => {
return self.handle_place_block_visibility_parameter(
document_id,
definition,
location,
);
}
CmdResult::CreateBlockWithOptions { options } => {
if let Some(task) = self.handle_create_block_with_options(options) {
return task;