Solver code was previously an external component from both model code (document) and also from the view code. The solver also creates points that have no meaning that coordinate. Work was done to clean the duplicate code and to make constructions only once.
The design was extended and work (only on line for now) to add extra information in solver points (like: EndPoint and the point index). Today I will work that this extra points to be integrated in MetaActions so clicking on an end point will add automatically a constraint so moving a line by editing them will make that lines to propagate the constrained changes forward.
If I will finish this faster and no bugs I will create more constraints that apply for rectangles (as for now the solver will use a factory to build that custom constraints based on shape type). At the end I hope to create much faster the sketch by improving the sketch.