feat: R.1 TOUCH FF2F01212 two-disc kiss - #54
Merged
grootstebozewolf merged 1 commit intoAug 16, 2026
Conversation
Classify two circular discs in R² (d² vs (r1±r2)²) so T-ext is exact ST_Touches, ISO/IEC 13249-3. Public relate and Geometry.touches (RelateOp isTouches) pin FF2F01212 on a 3-4-5 pair whose kiss is not a control vertex. No OverlayNGCurve.TOUCH. No noder. Co-authored-by: Jeroen Bloemscheer <grootstebozewolf@users.noreply.github.com>
grootstebozewolf
marked this pull request as ready for review
August 16, 2026 19:49
This was referenced Aug 16, 2026
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.
R.1 TOUCH laser cell, drafted off #7 (
feature/sfa-curve-rgr@fa640cfcafter #51). Do not merge into #7 unless this cell is certified.Outcome
Pin DE-9IM Touch
FF2F01212on two externally tangent circular discs in public relate:CurveExact.relateGeometry.touchesvia the RelateOp predicate (IntersectionMatrix.isTouches)One kiss, no shared flesh. T-ext. V1 before noding. Stamp: EXACT.
Cite ISO/IEC 13249-3
ST_Touches(DE-9IMFT*******/F**T*****/F***T****). No DOI. No ISO 19125-2.What changed
Two-disc relate no longer classifies through
intersectCircles(hypot+ radical-axis nodes). The class is decided in R²:d²against(r1+r2)²and(r1-r2)². Public numbers may takesqrt; this matrix does not need the kiss coordinates.The axis-aligned pair in
CurveExactRelateDiscTeststill kisses at the shared control(5, 0)— the control diamonds also touch, so that pair does not prove the laser. This cell pins a 3-4-5 pair (centres(0,0)/(8,6), r=5) whose kiss(4, 3)is not a control vertex. RelateOp on the control polygons is the lie (disjoint).Hard locks kept
OverlayNGCurve.TOUCH. No fifth overlay op.t_laser ≤ 1.15 × t_chainsaw(PERF-GATE row for the 3-4-5 pair).Verification
CurveExactRelateTouchTest6/6CircularDiscOverlayTest9,OverlayNGCurvePhase0Test19testRelateR1TouchKissNotSlowerThanChordgreen (15% slack)Cell is certified EXACT on this draft. Still draft; merge into #7 is a maintainer call.
Parent: grootstebozewolf/jts#7. Program: locationtech#1195 / Notion CRV-TOUCH.