Skip to content

Restore CAD-tolerance SSX and repair branch tracing - #48

Merged
sth-v merged 9 commits into
tinyfrom
codex/ssx-tolerance-repair
Sep 23, 2026
Merged

sth-v merged 9 commits into
tinyfrom
codex/ssx-tolerance-repair

Conversation

@sth-v

@sth-v sth-v commented Sep 14, 2026 •

Copy link
Copy Markdown
Member

Restore CAD-tolerance Bézier/NURBS intersections, including tangent points, overlap geometry, and the full curves in the five real case16 examples. The repair removes the exact SSX ownership machinery and public unresolved_regions, preserves paired surface parameters, and retains the caller's modeling tolerance.

A post-tracing filter was deleting valid branches by treating interpolated parameter correspondence as world-space chord error. Removing it restores case16 and independent nonlinear-chart examples. Other fixes cover collapsed isolines, boundary contacts, planar overlap clipping, and continuation across subdivision faces. Parent-patch cut queries and a bounded per-search CCX polish cache reduce repeated work.

A separate tangency exit discarded a whole cell after finding one tangent curve, losing disjoint regular loops. The repair keeps searching the remainder and reuses existing geometry only through paired-parameter and physical-distance checks. Independent one-loop and two-loop families cover surface reversal and parameter reversal. Complete convex planar overlap regions are assembled before the general tangency search; work/output limits preserve already recovered rim curves without dangling region references.

Tests were audited against the CAD contract. Excessive public output precision and mandatory historical failure statuses were replaced with physical geometry checks. The original lost-tangent/overlap cases remain, along with coverage, winding, paired-source, and work-limit checks. Forty files for withdrawn internal exact SSX mechanisms were retired; none existed at the working baseline.

Validation:

  • macOS Python 3.14: 1,335 passed on the final solver source; the subsequent test-only chord-contract correction also passes its focused checks.
  • Linux aarch64 Python 3.12: 1,335 passed on b29584c.
  • Both full runs use the CI command's -m "not slow" selection (one existing slow Boolean test excluded). Import health and layering pass.
  • GitHub validation: all 14 build jobs passed. Ubuntu x86_64 / Python 3.12 passed 1,335 tests with one existing slow test deselected; import health and layering also passed. The tested head is b29584c.

Details: repair report and test-contract audit.

@sth-v
sth-v marked this pull request as ready for review September 23, 2026 03:43
@sth-v
sth-v merged commit 4a7e8fd into tiny Sep 23, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant