Files
FreeCADWasmDev/docs/current/partdesign-wizardshaft-d9fbf49f847ee33144e5f6d3-checkpoint.md

2.2 KiB

PartDesign shaft wizard implementation checkpoint

Current continuation: shaft geometry recovery. The real dispatch is extracted, duplicated dead dispatch removed, geometry and persistence verified. Both full requirements remain incomplete for FEM/analysis and post-creation segment insertion/removal; retain older notes below as history.

Batch: d9fbf49f847ee33144e5f6d3

Both selected capabilities remain implementation_required:

  • PartDesign:desktop:PartDesign_WizardShaft
  • PartDesign:desktop:PartDesign_WizardShaftCallBack

The existing unified native dispatch calls the shipped WizardShaft.Shaft model with request dimensions, a document handle, and constraint properties. That source path alone does not establish complete Web command coverage. No implementation markers or acceptance records were added.

This batch fixes an actual model defect in Shaft.addSegment: updating a fixed segment's face reference used an undefined index instead of the iteration variable i. The fix applies to the existing model used by the native dispatch; it does not substitute geometry or introduce a fixture.

Remaining implementation work is to extract the existing wizard handler to PartDesignDesktopCommands.cpp/.h, link it into the same module target, and complete the generated registration and generic React/Worker interaction. The provided excerpts do not include the build-list or React registration anchors. The existing runtime must not grow further. A refreshed packet should supply these anchors and the complete existing wizard handler.

The callback's official model operation is shaft.updateConstraint(editedColumn, getConstraintType(editedColumn)). Its non-empty constraint types require real Fem::ConstraintForce, Fem::ConstraintFixed, Fem::ConstraintBearing, Fem::ConstraintPulley, or Fem::ConstraintGear objects. Availability in this module has not been established by this implementation turn. Creation uses Sketcher::SketchObject through the shipped ShaftFeature; retain that document/model contract.

No build, sync, runtime execution, validation, or artifact fingerprinting was performed. The outer pipeline owns build/sync and implementation receipts. There is no business acceptance claim for either command.