Files
FreeCADWasmDev/docs/current/draft-workingplane-style-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

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.