As a part of the improving the Solver component, the horizontal line and vertical line should make a more precise draw. Because of this the solver was extended to support this new two shapes. There are also a lot of fixes and crashes.
The constraints of vertical and horizontal lines are two way: meaning that the horizontal/vertical lines themselves can be constrained by other shape like middle of edge. In this way hopefully the draw will be more precise.
Trying to draw the custom shape that was put as a sketch I found a selection bug that makes that if you draw a circle on top of rectangle and no face-split occurs, it will make that the first selected shape will be the rectangle, not the circle, which most probable is not the desirable effect (you will likely want to select the latest shape, not the first defined one).
As of today I will fix more bugs that appeared in this rewrite/refactor but as of today is a close to complete code.
The supported constraints:
- start of edge (meaning a point from shape's dependencies)
- middle of edge
- vertical/horizontal line that is integrated with the solver
- middle of rectangle/rectangle 2p