Phase 5: GNN solver plugin (future) #291
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Graph Neural Network approach to assembly constraint solving, providing fast approximate solutions for interactive editing with fallback to the Lagrangian solver for final precision.
Depends on: #287 (Phase 1 — C++ API), #288 (Phase 2 — Python bindings), #290 (Phase 4 — second solver validation)
Requirements
GNN solver plugin
kcsolve.IKCSolverand implementname(),supported_joints(),solve(ctx)kcsolve.register_solver("gnn", GNNSolver)SolveContextparts and constraints to a graph structure suitable for GNN inferenceHybrid solve pipeline
The GNN solver registers as a standard
IKCSolverplugin. The hybrid pipeline chains two solvers — this may live in the Assembly module or as a composite solver plugin.Determinism and validation
is_deterministic()should report accurately — GNN inference may be non-deterministic depending on hardware/batchingIKCSolvercontract (§4.2 of INTER_SOLVER.md) supports this —is_deterministic()defaults totruebut can be overridden to returnfalseDeliverable
Hybrid solve pipeline: GNN fast-guess → Lagrangian refinement, demonstrating interactive-speed constraint solving.
Dependencies
References
docs/INTER_SOLVER.md§6.3 — pure-Python solver supportdocs/INTER_SOLVER.md§8 — semi-deterministic solving contractdocs/INTER_SOLVER.md§9 — Phase 5