"""Datums addon — GUI initialization. Registers the unified datum creator command and injects it into PartDesign editing contexts via the Kindred SDK. """ def _register_datum_commands(): """Register datum creator command and inject into PartDesign contexts.""" try: from datums.command import register_commands register_commands() except Exception as e: import FreeCAD FreeCAD.Console.PrintWarning(f"kindred-datums: command registration failed: {e}\n") try: from kindred_sdk import inject_commands inject_commands( "partdesign.body", "Part Design Helper Features", ["Create_DatumCreator"], ) inject_commands( "partdesign.feature", "Part Design Helper Features", ["Create_DatumCreator"], ) except Exception as e: import FreeCAD FreeCAD.Console.PrintWarning(f"kindred-datums: context injection failed: {e}\n") from PySide6.QtCore import QTimer QTimer.singleShot(500, _register_datum_commands)