Skip to content

Phase 1: Text Stamp Core Functionality (MVP) #37

@ebirn

Description

@ebirn

Parent Issue: #36

Phase: Phase 1 - Core Functionality (MVP)

Tasks

  • Create macros/text_stamp.py with macro metadata headers
  • Implement load_text_stamp_config() to load from .freecad_tools/config.yml
  • Implement dialog class TextStampDialog with PySide6/PySide2
  • Implement create_text_shape() using Part::makeShape2DString
  • Implement project_text_to_face() to project shape onto selected face
  • Implement pocket_text() to engrave into body
  • Handle face selection (default to selected, allow override in dialog)
  • Add config defaults (font, size, depth)
  • Write unit tests for config loading
  • Write integration tests for text creation and pocketing
  • Validate macro works with FreeCAD's bundled Python
  • Update README.md with text_stamp usage documentation
  • Create config example in examples/config.yml.example

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions