Commit Graph

42741 Commits

Author SHA1 Message Date
forbes
4a54e9b7cd feat(silo): update silo submodule — DAG API methods (#215)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Adds push_dag() and get_dag() to SiloClient:
- push_dag: PUT /api/items/{pn}/dag with nodes + edges
- get_dag: GET /api/items/{pn}/dag with optional revision filter

Closes #215
2026-02-14 15:09:08 -06:00
forbes
8f02c0d6f2 fix: Insert Component uses Silo browser when available
All checks were successful
Build and Test / build (pull_request) Successful in 40m7s
When the silo workbench is loaded, Insert Component now opens the
Silo part browser (OpenItemWidget) instead of the OS file dialog.
Users can search both the Silo database and local files to find
components to insert.

Falls back to the OS file dialog if silo-mod is not installed.
Also adds .kc file support to the fallback file dialog filter.

Closes #202
2026-02-14 15:03:13 -06:00
forbes
bae7c22e60 fix: add Create module to CMake build
Some checks failed
Build and Test / build (pull_request) Has been cancelled
The Create module (src/Mod/Create/) was never included in the build
because src/Mod/CMakeLists.txt did not call add_subdirectory(Create).

This meant:
- Mod/Create/InitGui.py was never installed, so the workbench loader
  (setup_kindred_workbenches) that loads silo and ztools never ran
- The install rules for mods/silo/freecad/ and mods/silo/silo-client/
  never executed, leaving the silo workbench files missing
- kc_format.py was also not listed in the Create install rule

Fixes the 'Ignoring unknown SiloWorkbench' error on startup.
2026-02-14 14:46:51 -06:00
be0f8128ec Merge pull request 'fix: standardize panel heading styles and prevent clipping' (#211) from fix/panel-heading-styles into main
Some checks failed
Build and Test / build (push) Has been cancelled
Reviewed-on: #211
2026-02-14 19:17:03 +00:00
forbes
48f5cc9311 fix: standardize panel heading styles and prevent clipping (#198, #199)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
- QDockWidget::title: add font-weight bold and text-align left to
  match ActionGroup header style
- ActionLabel header: add min-width 0 to prevent title clipping
  in narrow panels

Applied to both src/Gui/Stylesheets and resources/preferences copies.
2026-02-14 13:15:33 -06:00
cb4b3363ec Merge pull request 'fix: status bar text contrast — use Text color instead of Subtext0' (#210) from fix/status-bar-contrast into main
Some checks failed
Build and Test / build (push) Has been cancelled
Reviewed-on: #210
2026-02-14 19:11:10 +00:00
4334c9a494 Merge pull request 'fix: viewport background gradient — Catppuccin Mocha Overlay0/Mantle' (#209) from fix/viewport-background-gradient into main
Some checks failed
Build and Test / build (push) Has been cancelled
Reviewed-on: #209
2026-02-14 19:10:58 +00:00
forbes
332e14f1f7 fix: status bar text contrast — use Text color instead of Subtext0 (#195)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Change status bar text from #bac2de (Subtext0) to #cdd6f4 (Text)
for better readability against the #181825 Mantle background.
2026-02-14 13:08:02 -06:00
forbes
06475d5291 fix: viewport background gradient — Catppuccin Mocha Overlay0/Mantle (#188)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Replace 2-color Base→Crust gradient with 3-color Overlay0→Mantle→Overlay0
gradient in both KindredCreate preference pack and CatppuccinMocha theme.
Enables UseBackgroundColorMid for the 3-color effect.
2026-02-14 13:03:42 -06:00
forbes
04835c3629 feat: .kc Layer 1 — manifest auto-creation and platform file associations
Some checks failed
Build and Test / build (pull_request) Has been cancelled
kc_format.py:
- Auto-create silo/manifest.json with default fields (UUID, timestamps,
  username) when saving a .kc file that lacks one
- Update modified_at timestamp on each save
- KC_VERSION = 1.0

Platform integration:
- kindred-create.desktop: add application/x-kindred-create MIME type
- kindred-create.xml: register .kc glob patterns with dedicated MIME type
  (application/x-kindred-create), separate from .fcstd type
2026-02-14 12:47:01 -06:00
forbes
444aaac1ee fix: start page always closes on document open (#192)
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Remove the closeStart preference check so the start page MDI tab
always closes when a document is opened or created. Re-enable
QListView updates before closing to prevent Qt hang during widget
destruction.

Add hideEvent override as a safety net to re-enable disabled
QListView updates whenever the start page is hidden.
2026-02-14 12:42:17 -06:00
forbes
531526e70d fix: add missing Qt/Gui includes for ThemeSelectorWidget
Some checks failed
Build and Test / build (pull_request) Has been cancelled
Build and Test / build (push) Successful in 1h10m43s
Add #include <QApplication> (for qApp macro), #include <QEvent> (for
QEvent::LanguageChange), and #include <Gui/Application.h> (for
Gui::Application::Instance) which were transitively available in
FreeCAD 1.0 but not in 1.2.
2026-02-14 11:21:54 -06:00
forbes
9809ff852c feat: .kc file format — Layer 1 (format registration)
Cherry-picked from feat/kc-file-format-layer1 (723a8c98d5).
- Document.cpp: checkFileName() accepts .kc extension
- FreeCADInit.py: register .kc import type
- Dialog filters: Save As, Save Copy, Merge, Project Utility
- kc_format.py: DocumentObserver preserves silo/ entries across saves
- InitGui.py: register kc_format observer on startup
2026-02-13 14:10:36 -06:00
forbes
54031edede cherry-pick: ab71902a4c 2026-02-13 14:09:53 -06:00
forbes
3238b30fd8 cherry-pick: 2b0c6774c0 2026-02-13 14:09:53 -06:00
forbes
dcb11f5817 cherry-pick: f71decca08 2026-02-13 14:09:53 -06:00
forbes
9a222823c8 cherry-pick: 1f49e3fa6d 2026-02-13 14:09:52 -06:00
forbes
54f8006e24 cherry-pick #32: MDI pre-document tab for Silo new item (70118201b0) 2026-02-13 14:09:44 -06:00
forbes
30cc226bf6 cherry-pick #31: window flickering and icon clipping fix (bf637af4e4) 2026-02-13 14:09:34 -06:00
forbes
0925aa3753 cherry-pick #30: native Qt start panel + kindred:// URL (8b2ce4b73a) 2026-02-13 14:09:28 -06:00
forbes
1699770ee8 cherry-pick: 6773ca0dfd 2026-02-13 14:09:14 -06:00
forbes
2ec07466a9 cherry-pick: 4bf74cf339 2026-02-13 14:09:13 -06:00
forbes
965601ae2a cherry-pick #26: UI polish — Wayland scaling, menu icon size (cc5ba638d1) 2026-02-13 14:09:05 -06:00
forbes
fbd01f8c7d cherry-pick: c858706d48 2026-02-13 14:08:51 -06:00
forbes
ce77bf37cc cherry-pick #21: use Python API for viewDefaultOrientation (2f594dac0a) 2026-02-13 14:08:42 -06:00
forbes
a83be25a63 cherry-pick #19: cross-origin detection in SaveAs (a6e84552da) 2026-02-13 14:08:30 -06:00
forbes
ae9a8414d2 cherry-pick #18: document-origin tracking in window title (015df38328) 2026-02-13 14:08:22 -06:00
forbes
7c926f1d71 cherry-pick #17: OriginManagerDialog (db85277f26) 2026-02-13 14:08:15 -06:00
forbes
5a212160c1 cherry-pick #16: origin commands - Commit/Pull/Push (679aaec6d4) 2026-02-13 14:08:12 -06:00
forbes
81b49d7dd8 cherry-pick #15: OriginSelectorWidget (deeb6376f7)
Action.cpp/.h: toolbar action integration for origin selector.
Resolved add/add: kept Phase 1 OriginSelectorWidget.cpp.
2026-02-13 14:08:05 -06:00
forbes
c26d064e3b cherry-pick #13: LocalFileOrigin and Std_* delegation (38358e431d) 2026-02-13 14:07:46 -06:00
forbes
9e031ef021 cherry-pick #12: origin abstraction layer (7535a48ec4)
Application.cpp/ApplicationPy.cpp: register origin system.
Resolved add/add conflicts: kept Phase 1 versions of Kindred source files.
2026-02-13 14:07:36 -06:00
forbes
5456ffb34f cherry-pick #11: Catppuccin icon override infrastructure (224feda4ad)
BitmapFactory.cpp: load icons from kindred-icons/ dir before built-in resources.
2026-02-13 14:07:27 -06:00
forbes
1202d4c277 cherry-pick #10: theme selector cleanup (434ae797a4) 2026-02-13 14:07:13 -06:00
forbes
38311e1b54 cherry-pick #8: theme tree item padding (b3fedfb19f) 2026-02-13 14:07:00 -06:00
forbes
6f75bc2088 cherry-pick #7: theme alternate-background-color (fea1280fa9) 2026-02-13 14:06:56 -06:00
forbes
0810d3daed cherry-pick #6: resolve unknown command/style token errors (8639b6fd8a) 2026-02-13 14:06:48 -06:00
forbes
af9837abf1 cherry-pick #5: theme QSS refinements (eb80c07f57)
Resolved conflicts: kept HEAD versions of QSS (has later refinements),
InitGui.py (has newer origin architecture), and silo submodule.
2026-02-13 14:06:36 -06:00
forbes
b37667d56d cherry-pick #4: startup theme selector fix (e85162947b) 2026-02-13 14:06:09 -06:00
forbes
630b08ea23 cherry-pick #3: dock task panel right, remove non-Kindred themes (bb3f3ac6d6) 2026-02-13 14:06:01 -06:00
forbes
9be9f9420a cherry-pick #1: initial Kindred branding + assembly joint fix
Cherry-picked 316d4f4b52 with conflict resolution:
- CMakeLists.txt: merged Kindred version vars with upstream 1.2.0-dev base
- src/Main/*.cpp: applied Kindred branding (banner, copyright, license)
- Resolved add/add conflicts for files already copied in Phase 1
- Includes assembly joint flip overconstrain fix
2026-02-13 14:05:31 -06:00
forbes
87a0af0b0f phase 1: copy Kindred-only files onto upstream/main (FreeCAD 1.2.0-dev)
Wholesale copy of all Kindred Create additions that don't conflict with
upstream FreeCAD code:

- kindred-icons/ (1444 Catppuccin Mocha SVG icon overrides)
- src/Mod/Create/ (Kindred Create workbench)
- src/Gui/ Kindred source files (FileOrigin, OriginManager,
  OriginSelectorWidget, CommandOrigin, BreadcrumbToolBar, EditingContext)
- src/Gui/Icons/ (Kindred branding and silo icons)
- src/Gui/PreferencePacks/KindredCreate/
- src/Gui/Stylesheets/ (KindredCreate.qss, images_dark-light/)
- package/ (rattler-build recipe)
- docs/ (architecture, guides, specifications)
- .gitea/ (CI workflows, issue templates)
- mods/silo, mods/ztools submodules
- .gitmodules (Kindred submodule URLs)
- resources/ (kindred-create.desktop, kindred-create.xml)
- banner-logo-light.png, CONTRIBUTING.md
2026-02-13 14:03:58 -06:00
Loke Strøm
5d81f8ac16 Sketcher: Fix: Arc of ellipse when first and second X coordinates are the same (#27327) 2026-02-13 11:57:27 -06:00
Syres916
ba030237b7 [Gui] Ensure Read Only Booleans in PropertyEditor are shown using Disabled Text Color (#27429)
* Ensure read only Booleans are shown using Disabled Text color
* Make the disabled text color a more significant contrast to enabled
* Ensure correct contrasting color for Axis letters versus background color for both Light and Dark themes
2026-02-13 11:56:20 -06:00
Frank David Martínez M
f1366e8a75 Base: Remove assertion on isForceXML() (#27491)
This fixes a difference between Main code and LS3 Code ported during TNP big merge. The Issue generates a crash if FreeCAD is compiled in Debug Mode: #27489.
2026-02-13 11:51:52 -06:00
Chris
e595cc49f2 FEM: Update netgenplugin src files to fix builds with netgen >= 6.2.2601 (#27508) 2026-02-13 11:50:04 -06:00
chris jones @ipatch
9289e27230 gui: preferences fixes #27379 2026-02-13 11:48:48 -06:00
Roy-043
a8757f7947 Draft: fix depency of patharray normal on view direction
Change normal calculation to use get_shape_normal
2026-02-13 11:47:44 -06:00
Chris Hennes
9e042ff480 PD: Improve error handling for RevolMethod::ToFirst 2026-02-13 17:48:13 +01:00
Paweł Biegun
1752fd59f9 Measurement: Add on the fly measurement unit change (#27462)
Enables the user to change the unit of the measurement temporarily to convert to a different unit. This is useful when the user sometimes needs to get a dimension of the model in a different unit than the one it was designed in.
2026-02-12 14:35:54 +00:00