Parent Issue: #36
Phase: Phase 1 - Core Functionality (MVP)
Tasks
Definition of Done
- All tests pass (unit + integration)
- Macro runs from FreeCAD GUI without venv
- Dialog displays and accepts input correctly
- Text appears on selected face with correct size/depth
- Config loads from
.freecad_tools/config.yml
- 80%+ test coverage for core functions
Parent Issue: #36
Phase: Phase 1 - Core Functionality (MVP)
Tasks
macros/text_stamp.pywith macro metadata headersload_text_stamp_config()to load from.freecad_tools/config.ymlTextStampDialogwith PySide6/PySide2create_text_shape()usingPart::makeShape2DStringproject_text_to_face()to project shape onto selected facepocket_text()to engrave into bodyexamples/config.yml.exampleDefinition of Done
.freecad_tools/config.yml