Files
FreeCADWasmDev/docs/current/draft-projection-batch-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 batch 225aece62d889ecd92162d92

Implemented source changes for Draft_Shape2DView, Draft_Slope and Draft_Split: native persistent-document transactions, command registrations, module adapter validation, workbench dispatch and parameter controls. Projection calls make_shape2dview with direction and selected face indices. Slope follows the desktop sequential XY-length elevation update. Split calls the native Draft split function with the selected wire, point and one-based edge index.

No tests, builds, browser validation, benchmarks or acceptance were run. The outer pipeline owns incremental build, resource sync and route receipts. These edits do not establish runtime or business acceptance.

Remaining commands: Draft_ShapeString, Draft_Stretch, Draft_SubelementHighlight, Draft_Text and Draft_ToggleGrid. No implementation markers were added for these commands. Additional source reads were rejected with SCHEDULER_SOURCE_BUDGET_REACHED. Continue at the supplied anchors:

  • gui_shapestrings.py:69 delegates to task_shapestring.ShapeStringTaskPanelCmd; inspect its native creation call and font resource transfer before wiring.
  • gui_stretch.py:230 continues node selection and native operation dispatch; preserve visual/base placements and supported object types.
  • gui_subelements.py:72 owns temporary highlight and restoration; connect actual viewer point/edge highlighting and restore on toggle, escape and task exit.
  • gui_texts.py:180 continues text acceptance; preserve native annotation and connect its actual display representation.
  • gui_grid.py:74 supplies grid toggle; connect working-plane grid display and existing snap state rather than reporting a state-only success.

Follow-up source integration also needs confirmation of the native split import, the group-state selection field consumed by the new adapter, and projected face selection through the existing extended-selection UI. Projection direction is currently an explicit vector control, not automatically taken from the camera.