I will be away for some days for family.
Yesterday I've reviewed the Solver's code (as was named, the solver for now is the guidelines component instead a full solver component) as some changes are needed to make it more intelligent. The biggest change from Solver side is that it will be integrated with Command Line (and meta-actions). To make this possible I was need to make it Document-aware to know which shapes are in scene. The previous design was that shapes register to solver the current "magic" points.
The newer design I work on will be the following: the solver will know the scene the user is working on. When a change occur in scene the solver will evaluate the shape and will extract automatically the useful geometry. Making solver aware of what is in scene will make possible to attach (the straight forward) constraints based on the click place that are logical. For example when you create a circle in the center of a rectangle, you will mostly like to remain there. And when you will resize the rectangle, the circle to still remain attached to the same very center.
Yesterday I've changed a lot of code that propagates the SolverPoint/gp_Pnt to NaroCAD codebase as SolverPoint was a duplicate code that there. Also writing skeleton code how the solver will scan the scene to create automatically the magic geometry.
The next changes in this area will mostly appear around Saturday.