Commit Graph

41 Commits

Author SHA1 Message Date
0ef68ea7f4 fix: update silo submodule to silo-mod main
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Points mods/silo to silo-mod@8937cb5 which includes the Silo-aware
start page (silo_start.py + InitGui.py override). The previous ref
pointed to a commit from the wrong repo (kindred/silo instead of
kindred/silo-mod), causing checkout failures.
2026-02-09 11:29:56 -06:00
ee00a3f7f3 feat(start): replace start page with Silo webview (#117)
Some checks failed
Build and Test / build (pull_request) Failing after 1m42s
Updates the silo submodule to include the new dual-mode start page:
- Online: QWebEngineView loads the Silo web app
- Offline: native Qt fallback with recent files and connectivity status

The Start_Start command is overridden from the Silo mod's InitGui.py,
keeping the upstream Start module untouched for easier rebasing.
2026-02-09 10:03:33 -06:00
forbes
353efe51e2 fix: update silo submodule — SSE URL and origin command fixes (#84)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
- Fix SSE listener double /api/ URL causing reconnection loop
- Replace Command.get().Activated() with runCommand() in SiloOrigin

Closes #84
2026-02-08 22:54:49 -06:00
ad34cffcd6 Merge branch 'main' into fix/tangent-cylinder-attachment
Some checks failed
Build and Test / build (pull_request) Has been cancelled
2026-02-09 01:39:13 +00:00
forbes
f0f4c068d2 fix: update ztools submodule — parametric tangent-to-cylinder datums (#58)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Uses TangentPlane MapMode with a derived vertex reference so
tangent-to-cylinder datums auto-update when cylinder geometry changes.

Closes #58
2026-02-08 19:38:18 -06:00
forbes
5f43b534d9 fix(UX): update silo submodule — BOM registration path (#56)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Replaces dead-end warning in Silo_BOM with a question dialog that
offers to register the document via Silo_New before continuing.

Closes #56
2026-02-08 19:38:18 -06:00
d136ee3ebe Merge branch 'main' into fix/angled-datum-edit
Some checks failed
Build and Test / build (pull_request) Has been cancelled
2026-02-09 01:37:07 +00:00
forbes
eb57f80e72 fix: update ztools submodule — angled datum live editing (#66)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Updates AttachmentOffset.Rotation during angled datum editing so the
datum moves in real-time as the angle spinner changes. Adds
_resolve_source_refs() helper and tangent_cylinder manual fallback.

Closes #66
2026-02-08 19:35:14 -06:00
forbes
098f0233c4 art: update silo submodule — add missing command icons (#60)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Adds silo-tag.svg, silo-rollback.svg, silo-status.svg icons in
Catppuccin Mocha style for Silo_TagProjects, Silo_Rollback, Silo_SetStatus.

Closes #60
2026-02-08 19:35:01 -06:00
087fe99324 Merge branch 'main' into fix/delete-bom-entry-request
Some checks failed
Build and Test / build (pull_request) Has been cancelled
2026-02-09 01:33:06 +00:00
forbes
84c1776f92 fix: update ztools submodule — robust PartDesign menu insertion (#57)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Replaces fragile chained insert operations in modifyMenuBar() with
independent append operations using PartDesign_Body as parent-locator.

Closes #57
2026-02-08 19:32:31 -06:00
forbes
590cb9f6c3 fix: update silo submodule — delete_bom_entry error normalization (#59)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
2026-02-08 18:30:07 -06:00
forbes
0a0ac547ef fix: update ztools submodule — eager command registration (#52)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Updates ztools to include the manipulator timing fix. Commands and the
PartDesign manipulator are now registered at module scope instead of
during ZToolsWorkbench.Initialize(), ensuring ztools buttons appear in
PartDesign regardless of workbench activation order.
2026-02-08 17:58:29 -06:00
forbes
9cabb29824 chore: update silo submodule to latest main
Some checks failed
Build and Test / build (pull_request) Has been cancelled
New features:
- SSE reconnect with exponential backoff and terminal state handling
- Silo_Diag connection diagnostics command
- Server mode UI reflection in client
- Silo-aware start panel
- Database Activity pane with comments, interaction, and badges
2026-02-08 16:25:59 -06:00
forbes
be7f1d9221 fix: update silo submodule — fix origin registration import
All checks were successful
Build and Test / build (push) Successful in 1h7m24s
Silo origin was not appearing in the origin selector because
silo_origin.py used a relative import (from .silo_commands) which
fails since the directory is not a Python package. Updated submodule
includes the fix to use absolute imports.
2026-02-08 10:36:14 -06:00
forbes
1750949afd fix(gui): merge Silo toolbar into File toolbar via origin system (#65)
Some checks failed
Build and Test / build (pull_request) Failing after 1m41s
- Remove separate Silo workbench toolbar (now redundant)
- Remove SiloMenuManipulator (Std commands already delegate to origins)
- Remove Silo_ToggleMode (origin selector handles mode switching)
- Register Silo origin at startup via Create module
- Update docs to reflect unified origin architecture
2026-02-07 21:29:05 -06:00
forbes
d0c67455dc chore: update ztools and OndselSolver submodules
Some checks failed
Build and Test / build (pull_request) Failing after 3m25s
2026-02-07 21:01:00 -06:00
forbes
d95c850b7b fix(gui): widen origin selector widget and update silo submodule
Some checks failed
Build and Test / build (pull_request) Has been cancelled
- Increase OriginSelectorWidget max width from 120 to 160px for longer
  origin names
- Set explicit SizePolicy::Preferred for better toolbar layout
- Update silo submodule to fix/silo-workbench-bugs with auth and menu fixes
2026-02-07 14:34:23 -06:00
forbes
056b015e78 chore: update mods/silo submodule to silo-mod initial commit
Some checks failed
Build and Test / build (push) Has been cancelled
2026-02-06 11:25:15 -06:00
38358e431d feat(gui): implement issues #10 and #12 - LocalFileOrigin and Std_* delegation
Issue #10: Local filesystem origin implementation
- Add openDocumentInteractive() method to FileOrigin interface for UI-based
  file opening (shows file dialog)
- Add saveDocumentAsInteractive() method for UI-based save as
- Implement LocalFileOrigin::openDocumentInteractive() with full file dialog
  support, filter list building, and module handler integration
- Implement LocalFileOrigin::saveDocumentAsInteractive() delegating to
  Gui::Document::saveAs()

Issue #12: Modify Std_* commands to delegate to current origin
- StdCmdNew::activated() now delegates to origin->newDocument() and sets
  up view orientation for the new document
- StdCmdOpen::activated() delegates to origin->openDocumentInteractive()
  with connection state checking for authenticated origins
- StdCmdSave::activated() uses document's owning origin (via findOwningOrigin)
  for save, falling back to saveDocumentAsInteractive if no filename
- StdCmdSaveAs::activated() delegates to origin->saveDocumentAsInteractive()
- Updated isActive() methods to check for active document

The Std_* commands now work seamlessly with both LocalFileOrigin and
SiloOrigin. When Local origin is selected, standard file dialogs appear.
When Silo origin is selected, Silo's search/creation dialogs appear.

Import and Export commands are left unchanged as they operate on document
content rather than document lifecycle.

Closes #10, Closes #12
2026-02-05 14:02:26 -06:00
405e04bd3e chore: update silo submodule with origin adapter
Some checks are pending
Build and Test / build (push) Has started running
Updates silo submodule to include:
- SiloOrigin adapter implementing FileOrigin interface (#11)
- UUID tracking via SiloItemId property
- Automatic origin registration on workbench init

Refs: #11
2026-02-05 13:29:54 -06:00
forbes
ab7153b97f fix(solver): correct Newton-Raphson convergence check in OndselSolver
Some checks failed
Build and Test / build (push) Has been cancelled
The isConvergedToNumericalLimit() method compared dxNorms->at(iterNo)
to itself instead of the previous iteration (iterNo - 1). This meant
the solver could never detect convergence improvement, causing it to
exhaust iterations on assemblies with many constraints, producing
'iterNo > iterMax' exceptions and 'grounded object moved' warnings.

Also updates silo submodule pointer.
2026-02-01 21:10:19 -06:00
forbes
3e09e7c099 fix: prevent QThread crash and Unknown command warnings on startup
Some checks failed
Build and Test / build (push) Has been cancelled
InitGui.py: Store SiloAuthDockWidget reference on the QDockWidget to
prevent Python from garbage-collecting it while its 30-second QTimer is
still running. The lost reference caused 'QThread: Destroyed while
thread is still running' followed by abort.

ztools InitGui.py: Move addWorkbenchManipulator() call from module-level
into Initialize(), after command modules are imported. The manipulator
references ZTools_DatumCreator, ZTools_DatumManager, ZTools_EnhancedPocket,
and ZTools_RotatedLinearPattern, which don't exist until the imports run.

Also updates README.md and submodule pointers.
2026-02-01 19:58:01 -06:00
forbes
1fea7c3d2e feat(silo): dock auth panel, SSE live updates, and improved pull workflow
Some checks failed
Build and Test / build (push) Has been cancelled
- Add _setup_silo_auth_panel() to dock auth widget in right panel at startup
- Update silo submodule: SSE listener, revision pull dialog, conflict detection
2026-02-01 18:15:16 -06:00
forbes
1056ef1b99 Update silo submodule: retry on duplicate part number during item creation 2026-02-01 18:15:16 -06:00
forbes
0d4545b7d6 feat(theme): add spanning tree branch lines to model tree view
Replace the simple open/closed disclosure arrows with full spanning
tree branch connectors that draw pipe-style lines between parent and
child items in the model tree.

New dark-theme SVGs created with Catppuccin colors:
- branch_vline_dark: vertical continuation line (#585b70)
- branch_more_dark: T-junction for mid-siblings
- branch_end_dark: L-junction for last sibling
- branch_more_closed_dark: T-junction + closed chevron (#a6adc8)
- branch_more_open_dark: T-junction + open chevron (#cdd6f4)
- branch_end_closed_dark: L-junction + closed chevron
- branch_end_open_dark: L-junction + open chevron

Updated QSS branch pseudo-selectors in KindredCreate.qss to map all
seven branch states (vline, more, end, more-closed, more-open,
end-closed, end-open) to the corresponding SVGs.

Updated ztools submodule with matching CatppuccinMocha.qss changes.
2026-02-01 18:15:16 -06:00
forbes
8ea3f141ff Update ztools submodule: fix datum selection table alignment 2026-02-01 18:15:16 -06:00
forbes
35d54c770b Update ztools submodule: fix datum params UI widget deletion crash 2026-02-01 18:15:16 -06:00
forbes
b7fdccc99a Update submodules: Silo auth integration, ZTools, GSL, AddonManager, googletest 2026-01-31 19:13:47 -06:00
forbes
0316630d25 Update silo submodule: align client auth with backend API tokens and session login 2026-01-31 16:24:18 -06:00
forbes
36a88d0959 Add Silo auth dock widget, update silo submodule
Wire up the new Silo authentication dock panel in InitGui.py:
- _setup_silo_auth_panel() creates the Database Auth dock widget
- Tabified with the existing Database Activity panel on the right dock
- Deferred to 4500ms to ensure activity panel exists first
- Widget reference pinned on the dock panel to prevent GC

Update silo submodule to include auth widget, login flow, token
management, enhanced settings dialog, and silo-auth.svg icon.
2026-01-31 14:36:51 -06:00
forbes
8639b6fd8a fix(gui): resolve unknown command and style token errors at startup
Move ZTools command imports before workbench initialization in
InitGui.py so commands are registered before PartDesign/Sketcher
init triggers toolbar state restoration.

Import silo_commands eagerly in _setup_silo_menu() so Silo commands
exist before the WorkbenchManipulator references them.

Create KindredCreate.yaml and Classic.yaml theme parameter files
defining all style tokens (PrimaryColor, TextForegroundColor, etc.)
used by FreeCAD.qss and the overlay stylesheet. Register them in
CMakeLists.txt and set the Theme preference in KindredCreate.cfg.

Add migration in migrateOldTheme() to set Theme=KindredCreate for
existing users who have the stylesheet but not the Theme parameter.
2026-01-31 11:47:28 -06:00
forbes
eb80c07f57 UI fixes, ZTools-PartDesign merge, Silo enhancements, and BOM integration
Stylesheet fixes (KindredCreate theme):
- Add tree branch expand/collapse SVG indicators (branch_closed.svg,
  branch_open.svg) visible on dark background
- Add QSS rules for QTreeView::branch pseudo-states
- Add min-height: 20px to QHeaderView::section to fix bottom clipping
- Merge QDockWidget::title and QSint--ActionGroup QToolButton padding
  improvements from Stylesheets copy into canonical
- Add SpreadsheetGui--SheetTableView QLineEdit cell editor styling
- Sync all three QSS copies (resources/preferences, src/Gui/Stylesheets,
  src/Gui/PreferencePacks) to canonical version

ZTools-PartDesign workbench integration:
- Add _ZToolsPartDesignManipulator via WorkbenchManipulator API
- Injects DatumCreator, DatumManager into Part Design Helper Features toolbar
- Injects EnhancedPocket into Part Design Modeling Features toolbar
- Injects RotatedLinearPattern into Part Design Transformation Features toolbar
- Adds corresponding PartDesign menu entries after PartDesign_Boolean

Silo enhancements:
- Add Silo_ToggleMode command: toggle switch in File toolbar that swaps
  Ctrl+O/S/N between standard FreeCAD and Silo equivalents
- Add SSL certificate file browser in Silo Settings dialog (SslCertPath
  preference, supports .pem/.crt/.cer)
- Update _get_ssl_context() to load custom CA cert before system CAs
- Expand SiloMenuManipulator: Silo_New, Silo_Open, Silo_Save, Silo_Commit,
  Silo_Pull, Silo_Push, Silo_BOM in File menu
- Integrate upstream Silo_BOM command (tabbed BOM/Where-Used dialog)

Submodule updates:
- silo: Silo mode toggle, SSL cert browsing, BOM menu integration
- ztools: PartDesign WorkbenchManipulator and Catppuccin theme sync

Documentation:
- Add docs/REPOSITORY_STATE.md: comprehensive repository state report with
  architecture overview, submodule status, potential issues, feature stubs,
  and Silo integration path forward
2026-01-31 09:27:01 -06:00
forbes
d0365468e2 Update ztools submodule: parametric datum updates via AttachExtension 2026-01-31 08:09:59 -06:00
forbes
174ebf521c Update ztools submodule: fix Qt6, ViewProvider, and attachment property bugs 2026-01-31 04:26:23 -06:00
forbes
1b1f74ed90 Update silo and ztools submodules
silo: Fix SIGSEGV when opening assembly documents via Silo Open dialog
  - Defer FreeCAD.openDocument() to after dialog.exec_() returns

ztools: Fix workbench init and spreadsheet syntax errors
  - Use Gui.activateWorkbench() instead of direct Initialize() calls
  - Fix syntax errors in spreadsheet_commands.py
2026-01-29 22:42:38 -06:00
forbes
7e0fcdf9dd Update silo submodule: smarter API URL path handling 2026-01-29 22:27:15 -06:00
forbes
73f7caf3a5 Update silo submodule: fix API URL and SSL certificate handling
- Auto-appends /api to base URL so users can enter just the hostname
- Loads system CA bundle for SSL verification of internal certificates
- Improved settings dialog hint text
2026-01-29 22:26:38 -06:00
forbes
092a8a6d8b chore(silo): update submodule to include icon fix and settings dialog 2026-01-29 19:29:06 -06:00
forbes
de727f7f84 Update silo submodule to latest 2026-01-29 13:11:43 -06:00
forbes
929f61aef2 Add ztools and silo as git submodules in mods/
- Create mods/ directory for Kindred Create addon modules
- Add ztools workbench as submodule at mods/ztools
- Add silo parts database as submodule at mods/silo
- Update README with new project structure and submodule instructions
2026-01-27 08:22:53 -06:00