From fc1d70cc3b71d705fa6e59a5743caca2f24eccb3 Mon Sep 17 00:00:00 2001 From: Irakli Kourtis Date: Mon, 12 Oct 2026 21:26:54 -0400 Subject: [PATCH] docs: describe the sketch solver as it is (#475) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The README called the solver damped Gauss–Newton. It now places what the constraints fix by construction (loci intersections and rigid-cluster decomposition, after Owen 1991 and Fudos–Hoffmann 1997) and runs Levenberg–Marquardt on the rest, with the rank of its Jacobian giving the remaining degrees of freedom. The constraint list also gains the ones it was missing (point on curve, curvature, point-to-line, arc sweep, arc length, slot length), and live drags are described. Co-authored-by: Claude Opus 5.5 --- README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 073c8685..b8944b07 100644 --- a/README.md +++ b/README.md @@ -81,11 +81,15 @@ and help is welcome: see [CONTRIBUTING.md](CONTRIBUTING.md). the boundary and keeps existing extrusions usable. Curve drawing and picking adapt together to zoom and display scale, including small circles at Fit and sketches in placed components. -- **Constraints and dimensions** solved by our own solver (damped Gauss–Newton with - degree-of-freedom analysis): coincident, horizontal/vertical, parallel, perpendicular, tangent, - equal, concentric, collinear, midpoint, symmetry, fix; linear, aligned, horizontal, vertical, - radius, diameter and angle dimensions driven by parameters. Over-constraining edits are - rejected; fully constrained geometry turns black. +- **Constraints and dimensions** solved by our own solver. Points the constraints fix relative + to known geometry are placed exactly by construction (loci intersections and rigid-cluster + decomposition, after Owen 1991 and Fudos–Hoffmann 1997); Levenberg–Marquardt solves the rest, + and the rank of its Jacobian gives the remaining degrees of freedom. Constraints: coincident, + point on curve, horizontal/vertical, parallel, perpendicular, tangent, curvature (G2), equal, + concentric, collinear, midpoint, symmetry, fix; linear, aligned, horizontal, vertical, + point-to-line, radius, diameter, angle, arc sweep, arc length and slot length dimensions driven + by parameters. Over-constraining edits are rejected; fully constrained geometry turns black. + Dragging solves the sketch every frame and rebuilds the model once, when the drag ends. Select a line or its two endpoints, type its dimension and press Enter to commit one undo step. Fit keeps sketch geometry clear of the palette and navigation controls. - **Profiles** found automatically, including regions split by lines and holes inside outlines.