feat(block-editor): add native Point parameter placement

Enable Point in Authoring Palettes and BPARAMETER. Pick parameter and label
positions, then create the native Point, XY grip and position expressions in
one undo transaction. Draw editor-only markers and clear placement previews.

Share graph append construction with Visibility so both types coexist in
either order. Allocate node, expression and edge IDs independently; preserve
existing objects, nodes and relationships and reject malformed/opaque graphs.

Reframe parameter, label and grip with the edited definition. Include authoring
positions in editor framing while keeping reference geometry extents unchanged.
Retain save/discard and parent saved-edit undo. Action association/evaluation
and parameter property editing remain separate milestones.

Validation: 10 targeted, 286 block and 60 dock checks passed (overlapping
filters). Appending a Point to an existing native graph passed DWG/DXF
roundtrips in all 17 local fixtures; old objects and original checksums stayed
unchanged. Real-view palette interaction and rendered marker/label verified.
This commit is contained in:
Karim Jerbi committed 2026-10-15 15:33:27 +01:00
1 parent daa26007f9
commit cdfb4ed632
19 files changed
+1457 -303

No files matched your search

+7
View File
@@ -1514,6 +1514,13 @@ impl DimensionPreview {
/// Returned by every `CadCommand` method to tell main.rs what to do.
#[allow(dead_code)]
pub enum CmdResult {
/// Place a native Point parameter after both authoring picks complete.
PlaceBlockPointParameter {
document_id: u64,
definition: Handle,
location: DVec3,
label: DVec3,
},
/// Place the visibility parameter in the definition that requested it.
PlaceBlockVisibilityParameter {
document_id: u64,