sketcher with geometric constraint solver