2.0 KiB
Part batch 69fe39ac4430b2f5f2e1b255
Implementation changes only; no build, sync or business acceptance was run.
Reused the existing Part desktop adapter, mounted workbench execution path, Python-family request contract and OCCT desktop command implementation. The shared dispatcher is unchanged.
Part_Chamfer now derives all unique zero-based edge indices from the selected FreeCAD Edge references. Conflicting explicit indices are rejected. Native execution uses the unique topology map for FreeCAD numbering, validates all indices before construction and adds every selected edge to the same OCCT chamfer operation. Native rejection diagnostics survive adapter dispatch.
Part_BoxSelection previously returned its input selection as successful box picking, including through a duplicate unreachable branch. Both echo paths are removed. It now reports the missing viewport picking boundary explicitly. Actual rectangle picking, camera/projection handling, native face identity validation and selection application remain required. The adapter still requires supplied faces; this must change when the viewport workflow lands.
Part_Builder remains a points-to-planar-face OCCT operation. This is not the full desktop TaskShapeBuilder workflow and is not accepted as equivalent. Desktop task modes and selected topology inputs remain to be connected.
Builder and Chamfer still need live document operand resolution, native feature creation with transactions, recompute, undo/redo and task lifecycle integration. Serialized BREP operation results alone do not satisfy those document semantics. The existing application call sites reach the adapter, but dedicated task controls and rendering of committed document changes remain outstanding.
All three selected business IDs remain unresolved. The acceptance contract still lacks their cases. Outer pipeline must compile the affected native target and check TypeScript, then add/run real document and mounted UI cases as the remaining workflows are implemented. No passed statuses or coverage claims were added by this edit.