diff --git a/freecad/InitGui.py b/freecad/InitGui.py
index aae3b2a..74af1e2 100644
--- a/freecad/InitGui.py
+++ b/freecad/InitGui.py
@@ -106,7 +106,9 @@ def _register_silo_overlay():
return False
try:
- FreeCADGui.registerEditingOverlay(
+ from kindred_sdk import register_overlay
+
+ register_overlay(
"silo", # overlay id
["Silo Origin"], # toolbar names to append
_silo_overlay_match, # match function
diff --git a/freecad/__pycache__/silo_commands.cpython-313.pyc b/freecad/__pycache__/silo_commands.cpython-313.pyc
new file mode 100644
index 0000000..34de21a
Binary files /dev/null and b/freecad/__pycache__/silo_commands.cpython-313.pyc differ
diff --git a/freecad/__pycache__/silo_origin.cpython-313.pyc b/freecad/__pycache__/silo_origin.cpython-313.pyc
new file mode 100644
index 0000000..b6c91d0
Binary files /dev/null and b/freecad/__pycache__/silo_origin.cpython-313.pyc differ
diff --git a/freecad/__pycache__/silo_start.cpython-313.pyc b/freecad/__pycache__/silo_start.cpython-313.pyc
new file mode 100644
index 0000000..0d29d82
Binary files /dev/null and b/freecad/__pycache__/silo_start.cpython-313.pyc differ
diff --git a/freecad/package.xml b/freecad/package.xml
index 73e54a9..06a6730 100644
--- a/freecad/package.xml
+++ b/freecad/package.xml
@@ -12,4 +12,17 @@
./
+
+
+
+ 0.1.0
+ 60
+ true
+
+ sdk
+
+
+
+
+
diff --git a/freecad/silo_origin.py b/freecad/silo_origin.py
index 131b0d0..51612a5 100644
--- a/freecad/silo_origin.py
+++ b/freecad/silo_origin.py
@@ -388,9 +388,7 @@ class SiloOrigin:
# Upload to Silo
properties = collect_document_properties(doc)
- _client._upload_file(
- obj.SiloPartNumber, str(file_path), properties, comment=""
- )
+ _client._upload_file(obj.SiloPartNumber, str(file_path), properties, comment="")
# Clear modified flag (Modified is on Gui.Document, not App.Document)
gui_doc = FreeCADGui.getDocument(doc.Name)
@@ -567,12 +565,9 @@ def register_silo_origin():
This should be called during workbench initialization to make
Silo available as a file origin.
"""
- origin = get_silo_origin()
- try:
- FreeCADGui.addOrigin(origin)
- FreeCAD.Console.PrintLog("Registered Silo origin\n")
- except Exception as e:
- FreeCAD.Console.PrintWarning(f"Could not register Silo origin: {e}\n")
+ from kindred_sdk import register_origin
+
+ register_origin(get_silo_origin())
def unregister_silo_origin():
@@ -582,9 +577,7 @@ def unregister_silo_origin():
"""
global _silo_origin
if _silo_origin:
- try:
- FreeCADGui.removeOrigin(_silo_origin)
- FreeCAD.Console.PrintLog("Unregistered Silo origin\n")
- except Exception as e:
- FreeCAD.Console.PrintWarning(f"Could not unregister Silo origin: {e}\n")
+ from kindred_sdk import unregister_origin
+
+ unregister_origin(_silo_origin)
_silo_origin = None
diff --git a/freecad/silo_start.py b/freecad/silo_start.py
index a224ec6..c9e8a6a 100644
--- a/freecad/silo_start.py
+++ b/freecad/silo_start.py
@@ -19,23 +19,10 @@ from PySide import QtCore, QtGui, QtWidgets
# ---------------------------------------------------------------------------
# Catppuccin Mocha palette
# ---------------------------------------------------------------------------
-_MOCHA = {
- "base": "#1e1e2e",
- "mantle": "#181825",
- "crust": "#11111b",
- "surface0": "#313244",
- "surface1": "#45475a",
- "surface2": "#585b70",
- "text": "#cdd6f4",
- "subtext0": "#a6adc8",
- "subtext1": "#bac2de",
- "blue": "#89b4fa",
- "green": "#a6e3a1",
- "red": "#f38ba8",
- "peach": "#fab387",
- "lavender": "#b4befe",
- "overlay0": "#6c7086",
-}
+# Catppuccin Mocha palette — sourced from kindred-addon-sdk
+from kindred_sdk.theme import get_theme_tokens
+
+_MOCHA = get_theme_tokens()
_PREF_GROUP = "User parameter:BaseApp/Preferences/Mod/KindredSilo"