docs: write SOLVER.md — OndselSolver location, Lagrangian formulation, and future GNN plans #100

Closed
opened 2026-02-09 13:45:26 +00:00 by forbes · 1 comment
Owner

Tier 4 — Reference

File: docs/SOLVER.md

What this document should cover

  1. What is OndselSolver — assembly constraint solver used by FreeCAD's Assembly workbench

    • Location: src/3rdParty/OndselSolver/ (git submodule)
    • Source: git.kindred-systems.com/kindred/solver (Kindred fork)
    • Pinned commit: fe41fa3
  2. Solver fundamentals:

    • Lagrangian constraint formulation
    • How it resolves assembly constraints (mates, joints)
    • Integration with FreeCAD's Assembly workbench (src/Mod/Assembly/)
  3. Kindred fork status:

    • Why it's forked (pinned stability, potential modifications)
    • Relationship to upstream Ondsel solver
    • Any Kindred-specific patches
  4. Future plans — GNN (Graph Neural Network) solver:

    • Vision for ML-based constraint solving
    • How it would complement or replace Lagrangian approach
    • Current status (planned, not implemented)
  5. Related: GSL submodule:

    • src/3rdParty/GSL/ — Microsoft Guidelines Support Library
    • github.com/microsoft/GSL, pinned to 756c91a
    • Used for C++ core guidelines support (gsl::span, gsl::not_null, etc.)

Key source files

  • src/3rdParty/OndselSolver/ — solver submodule
  • src/3rdParty/GSL/ — GSL submodule
  • src/Mod/Assembly/ — Assembly workbench that uses the solver

Acceptance criteria

  • Solver location and fork status are documented
  • Lagrangian formulation is summarized at an appropriate level
  • Future GNN plans are mentioned with current status
  • GSL submodule is briefly documented
## Tier 4 — Reference **File:** `docs/SOLVER.md` ### What this document should cover 1. **What is OndselSolver** — assembly constraint solver used by FreeCAD's Assembly workbench - Location: `src/3rdParty/OndselSolver/` (git submodule) - Source: `git.kindred-systems.com/kindred/solver` (Kindred fork) - Pinned commit: `fe41fa3` 2. **Solver fundamentals:** - Lagrangian constraint formulation - How it resolves assembly constraints (mates, joints) - Integration with FreeCAD's Assembly workbench (`src/Mod/Assembly/`) 3. **Kindred fork status:** - Why it's forked (pinned stability, potential modifications) - Relationship to upstream Ondsel solver - Any Kindred-specific patches 4. **Future plans — GNN (Graph Neural Network) solver:** - Vision for ML-based constraint solving - How it would complement or replace Lagrangian approach - Current status (planned, not implemented) 5. **Related: GSL submodule:** - `src/3rdParty/GSL/` — Microsoft Guidelines Support Library - `github.com/microsoft/GSL`, pinned to `756c91a` - Used for C++ core guidelines support (`gsl::span`, `gsl::not_null`, etc.) ### Key source files - `src/3rdParty/OndselSolver/` — solver submodule - `src/3rdParty/GSL/` — GSL submodule - `src/Mod/Assembly/` — Assembly workbench that uses the solver ### Acceptance criteria - [ ] Solver location and fork status are documented - [ ] Lagrangian formulation is summarized at an appropriate level - [ ] Future GNN plans are mentioned with current status - [ ] GSL submodule is briefly documented
forbes added the documentation label 2026-02-09 13:45:26 +00:00
Author
Owner

Superseded by the mdBook documentation structure set up in PR #105. The content scope of this issue is now covered by the pages in docs/src/. Remaining content work is tracked in #104.

Superseded by the mdBook documentation structure set up in PR #105. The content scope of this issue is now covered by the pages in `docs/src/`. Remaining content work is tracked in #104.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kindred/create#100