Repository navigation
Restore complete curved overlap regions at CAD tolerance - #49
Merged
Merged
Conversation
sth-v
marked this pull request as ready for review
September 25, 2026 15:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Case17 returned an open L from one surface instead of the complete curved overlap boundary. The repair returns one closed overlap region with four referenced rim curves, two from each surface, at the caller's CAD tolerance.
CSX rejected normal-gap sign changes around 1e-7 at atol=1e-3, and independently trimmed rim endpoints failed to join into a loop. CAD spans now retain paired contact proposals, incident domain edges resolve a shared corner, and adaptive sampling checks the whole reported chord against both surfaces. Known boundary contacts seed narrow overlap intervals missed by the global grid. Domain endpoints require geometric exit evidence, preserving separate crossings when a curve follows or grazes a surface edge.
A spherical-octant reduction validates the actual rational charts and the complete common footprint before accepting the area result. This avoids subdividing a known coincident area as a curve. Unsupported charts retain general SSX. Original surface context also preserves collapsed-apex identity through thin subdivisions, preventing false isolated tangent points while keeping local interior-fiber detection.
The supplied fixture is unchanged apart from an import guard. Independent spherical references check area, perimeter, every boundary piece, both source images, transformations, shared poles, hidden bulges, and work/output limits. An inappropriate sub-tolerance sign-flip test was corrected; above-tolerance crossings and explicit exact-mode roots remain checked. The endpoint-contact check now distinguishes an isolated touch from a genuine whole-curve CAD overlap and checks both at model-space tolerance. Existing parallel-branch, rational-cone, isolated-touch, and interior-pinch geometry assertions remain unchanged.
Validation at
580b016:Details: case17 diagnosis and test review.