252e2c3b3e
docs: update architecture docs for addon-first model ( #255 )
...
Build and Test / build (pull_request) Failing after 2m1s
ARCHITECTURE.md:
- Replace exec()-based bootstrap flow with manifest-driven loader diagram
- Add addon lifecycle section (scan → parse → validate → resolve → load → register)
- Add SDK and C++ scaffold to source layout
- Document load order: sdk (0) → ztools (50) → silo (60)
INTEGRATION_PLAN.md:
- Add Layer 4 (Addon SDK) between bootstrap and addons (now 5 layers)
- Update Layer 3: now hosts both Python loader AND C++ scaffold
- Add Phase 1.5 (SDK) and Phase 1.75 (C++ scaffold) as DONE
- Update Phase 4 (theme): colors centralized in SDK YAML palette
- Update Phase 6 (build): now DONE with CMake install rules for all addons
- Add design decisions #7 (SDK as adaptation layer) and #8 (manifest-driven loading)
README.md:
- Update addon integration section: manifest-driven loading, SDK wrappers
- Add mods/sdk/ to project structure tree
- Update Create module description to mention C++ scaffold
Closes #255 .
2026-02-17 12:38:18 -06:00
076a1e90b0
docs: classify C++ patches by purpose and upstream-ability ( #254 )
...
Build and Test / build (pull_request) Failing after 2m2s
Add Category column to Phase 2 cherry-pick table:
- 16 × Category 1 (Extension points) — KEEP
- 16 × Category 2 (Branding/theming) — KEEP, minimize
- 4 × Category 3 (Bug fixes) — UPSTREAM candidates
Add upstream verification for Category 3 patches:
- #26/#27 (Wayland scaling, menu icon size): partially upstream, menu pref not contributed
- #31 (window flickering): not upstream, good PR candidate
- #33 (ToolBarItem/reportException): Kindred-internal only
Update Assembly fixes with verified upstream status:
- All 4 patches still needed (joint flip, SIGSEGV, datum plane/point handling)
- App::Line handling fixed upstream via FreeCAD PR#20026
Closes #254 .
2026-02-17 12:22:27 -06:00
98d1877472
feat(addon-system): add <kindred> package.xml extensions and schema docs
...
Build and Test / build (pull_request) Failing after 2m59s
Add <kindred> elements to ztools (priority=50) and silo (priority=60)
package.xml files declaring min_create_version, load_priority,
pure_python, and context metadata.
Fix addon_loader.py topological sort to use level-by-level processing
with (priority, name) sorting within each level, replacing
static_order() which did not guarantee deterministic ordering.
Add docs/src/development/package-xml-schema.md documenting the full
field reference, schema example, and backward compatibility notes.
Closes #252
2026-02-16 14:21:27 -06:00
forbes
d7b532255b
feat(icons): add icon theming infrastructure with Catppuccin color remapping
...
Build and Test / build (pull_request) Has been cancelled
- Remove hand-crafted kindred-icons/ in favor of auto-generated themed icons
- Add icons/mappings/ with FCAD.csv (Tango palette) and kindred.csv (Catppuccin Mocha)
- Add icons/retheme.py script to remap upstream FreeCAD SVG colors
- Generate icons/themed/ with 1,595 themed SVGs (45,300 color replacements)
- BitmapFactory loads icons/themed/ as highest priority before default icons
- 157-color mapping covers the full Tango palette, interpolating between
4 luminance anchors per color family
Regenerate: python3 icons/retheme.py
2026-02-15 20:34:22 -06:00
Kindred Bot
d497471ed3
docs: sync Silo server documentation
...
Deploy Docs / build-and-deploy (push) Successful in 48s
Build and Test / build (push) Has been cancelled
Auto-synced from kindred/silo main branch.
2026-02-15 23:12:55 +00:00
forbes
b3a58a6d92
docs: Create module bootstrap sequence ( #148 )
...
Build and Test / build (pull_request) Has been cancelled
Document the two-phase bootstrap: console-phase addon loading via
exec(), GUI-phase workbench registration, six deferred QTimer
callbacks (kc_format, silo origin, auth panel, first-start check,
activity panel, update checker), and the Gitea releases API polling
with skip/interval logic.
2026-02-14 13:30:52 -06:00
forbes
e443538548
docs: Datum Creator system reference ( #141 )
...
Build and Test / build (pull_request) Has been cancelled
Document the ZTools Datum Creator: SelectionItem geometry classification,
16 creation modes (7 plane, 4 axis, 5 point), auto-detection scoring
algorithm, task panel UI layout, parameter sections, dispatch to
datums/core.py, and core implementation details.
2026-02-14 13:22:43 -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
630b08ea23
cherry-pick #3 : dock task panel right, remove non-Kindred themes ( bb3f3ac6d6)
2026-02-13 14:06:01 -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