Files
FreeCADWasmDev/docs/current/part-9fd6e34e3d231013cc29eb89-boundaries.md
wangdequan 9a7c4f0335 Save FreeCAD Web workspace sources and user validation evidence
IFC native binding remains incomplete; preserve accurate test results.
2026-09-15 22:01:58 +08:00

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.