2.0 KiB
Part batch 9fd6e34e3d231013cc29eb89
Selected commands: Part_Boolean, Part_BoxSelection, Part_Builder, Part_Chamfer.
This edit reuses the mounted workbench -> DesktopCommandDispatcher -> Part desktop adapter path. The selected commands now reject explicit document identifiers that disagree with the current selection document. Builder and Chamfer selection responses are checked before updating application state; BoxSelection additionally requires face references, while allowing an empty native selection result. Native geometry and document operations are unchanged.
Verification performed: scoped git diff --check passed. Build, synchronization, type checking and business acceptance are deferred to the outer pipeline. No acceptance status or coveredIds were changed.
Remaining boundaries:
- All four selected IDs remain missing from the supplied acceptance coverage. Add actual native document and mounted UI cases before marking them covered.
- Boolean requires confirmation of feature links, visibility, transactions, cancellation, undo/redo and save/reopen through the current document route.
- BoxSelection requires confirmation of viewport rectangle/camera face picking; validating supplied Face references alone does not implement desktop picking.
- Builder requires confirmation of the desktop shape-building modes and native document insertion. The current adapter requires a point list, which does not establish coverage of the complete TaskShapeBuilder workflow.
- Chamfer requires confirmation of native parametric feature dependencies, selected edge identity, task cancellation and subsequent recomputation.
- Selection protocol validation does not establish that a returned object or subelement exists in the live native document; business cases must check that identity against native state and actual geometry.
Desktop source anchors reused: Command.cpp:1424, :1628, :1724 and :2415. The existing shared dispatcher and native implementations were not edited.