2.0 KiB
Draft working plane and style batch boundaries
Batch: d9dd06f6c049ee697d2b55d7
Edits connect Draft_SelectPlane presets (top, front, side, automatic) and Draft_WorkingPlaneProxy through the existing Draft desktop adapter and native command dispatcher. The shell includes plane and offset inputs. Native calls use WorkingPlane.get_working_plane(), its desktop setter methods, and Draft.make_workingplaneproxy(). Native failure remains a restricted result.
These edits are not a claim of complete implementation or runtime acceptance. No tests, builds, browser validation, benchmarks, or receipts were run.
Remaining boundaries:
- Draft_SetStyle is unimplemented in this batch. Its preference writes, selected object style application, annotation application, and preset persistence need the remaining desktop task-panel implementation, beginning at freecad-source/src/Mod/Draft/draftguitools/gui_setstyle.py:240.
- Draft_SelectPlane still needs selection alignment (vertices, shapes, proxy), view alignment, moving the origin, centering, grid settings, and Web display state consumption. Source anchor: freecad-source/src/Mod/Draft/draftguitools/gui_selectplane.py:53.
- Headless WorkingPlane initialization and view dependencies must be resolved against freecad-source/src/WebAssembly/FreeCADCoreProbe/HeadlessDraftImports.h. The new calls propagate failures; no headless compatibility is claimed.
- Proxy camera and visibility capture/restore and display integration remain unresolved. Source anchor: freecad-source/src/Mod/Draft/draftguitools/gui_planeproxy.py:41.
- The surrounding native handler's argument, transaction, result, persistence, and import contracts could not be read after the scheduler source budget was reached. Continue at DraftRuntimeProbe.cpp:587 and DraftDesktopCommands.h.
The scheduler returned SCHEDULER_SOURCE_BUDGET_REACHED on the follow-up source reads. Complete the boundaries above before considering all three commands implemented; explicit registration only connects the native paths added here.