forbes
64fbc167f7
docs(solver): server specification for KCSolve solver service
...
Build and Test / build (pull_request) Successful in 30m11s
Comprehensive specification covering:
- Architecture: solver module integrated into Silo's job queue system
- Data model: JSON schemas for SolveContext and SolveResult transport
- REST API: submit, status, list, cancel endpoints under /api/solver/
- SSE events: solver.created, solver.progress, solver.completed, solver.failed
- Runner integration: standalone kcsolve execution, capability reporting
- Job definitions: manual solve, commit-time validation, kinematic simulation
- SolveContext extraction: headless Create and .kc archive packing
- Database schema: solver_results table with per-revision result caching
- Configuration: server and runner config patterns
- Security: input validation, runner isolation, authentication
- Client SDK: Python client and Create workbench integration sketches
- Implementation plan: Phase 3a-3e breakdown
2026-02-20 12:02:54 -06:00
forbes
315ac2a25d
docs(kcsolve): expand Python API reference with full method docs
...
Expand SolveContext field descriptions (motions, simulation, bundle_fixed),
Constraint params table, marker explanations, Constraint.Limit descriptions,
MotionDef field descriptions, SimulationParams field descriptions, and all
optional IKCSolver methods with signatures, parameter docs, and usage
examples (interactive drag protocol, kinematic simulation, diagnostics,
export_native, capability queries).
2026-02-20 12:02:54 -06:00
forbes
98b0f72352
docs: KCSolve architecture and Python API reference
...
- Replace OndselSolver architecture doc with KCSolve pluggable solver
architecture covering IKCSolver interface, SolverRegistry, OndselAdapter,
Python bindings, file layout, and testing
- Add kcsolve Python API reference with full type documentation, module
functions, usage examples, and pybind11 vector-copy caveat
- Add INTER_SOLVER.md spec (previously untracked) with Phase 1 and Phase 2
marked as complete
- Update SUMMARY.md with new page links
2026-02-20 12:02:54 -06:00
Kindred Bot
c0ee4ecccf
docs: sync Silo server documentation
...
Auto-synced from kindred/silo main branch.
2026-02-20 12:02:54 -06:00
forbes
0bc03ea421
feat: BOM auto-extraction and manifest field population ( #276 , #277 )
...
Build and Test / build (pull_request) Successful in 29m22s
Documentation updates:
- KNOWN_ISSUES.md: correct #6 (datum handling), resolve #10
(delete_bom_entry) and #11 (silo icons), fix stale formatDate
reference, mark completed next steps, add new next steps.
- INTEGRATION_PLAN.md: correct ztools SDK migration claim.
kc_format.py (#277 ):
- New _manifest_enrich_hook: populates part_uuid from SiloItemId and
silo_instance from Silo API URL on every .kc save.
- New update_manifest_fields(): public API to update manifest fields
in an already-saved .kc ZIP (used for post-upload revision_hash).
mods/silo submodule (#276 ):
- New bom_sync.py extraction engine.
- Post-commit hooks for BOM sync and manifest revision update.
- SSE bom_merged signal + Activity pane handler.
- merge_bom_json client method (forward-looking).
Refs: #276 , #277
2026-02-19 12:37:24 -06:00
Kindred Bot
40fac46862
docs: sync Silo server documentation
...
Deploy Docs / build-and-deploy (push) Successful in 34s
Build and Test / build (push) Has been cancelled
Auto-synced from kindred/silo main branch.
2026-02-19 01:13:03 +00:00
Kindred Bot
deb425db44
docs: sync Silo server documentation
...
Deploy Docs / build-and-deploy (push) Successful in 34s
Build and Test / build (push) Successful in 28m56s
Auto-synced from kindred/silo main branch.
2026-02-18 21:05:53 +00:00
Kindred Bot
e70348508e
docs: sync Silo server documentation
...
Deploy Docs / build-and-deploy (push) Successful in 37s
Build and Test / build (push) Has been cancelled
Auto-synced from kindred/silo main branch.
2026-02-18 20:47:26 +00:00
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