Skip to content

615-h · Simplicity/validity rung 5: CP Desc 12–14 + hole containment, MS interiors-disjoint, exact-arithmetic upgrades #641

Description

@grootstebozewolf

Umbrella: #615 (the validity lane continues past the epic per confirmed decision 1)
claimId: 615-h (continuation rung)
meso: fork / validity (area-level conditions; exactness upgrades)
Continues: #639 (rung 4: MultiCurve/MultiSurface verdicts + CP Desc-11 counting, landing)

Frontier this rung inherits

After #639, IsSimple is decided for all seven curve-branch types (CS/CC/CP rings from rungs 2–3; MultiCurve per §4.2.25/§10.3.1 Desc 4 and MultiSurface per §4.2.27's definitional simplicity from rung 4), and IsValid answers checked verdicts for CS/CC/MC, definite-false for CP/MS values refuted by an implemented rule — including rung 4's CP ring-pair Desc-11 counting (cross-ring overlap or ≥ 2 contact points) and MS 1-D boundary overlap. Still fail-closed:

  1. CP Desc 12–14 + hole containment (§8.2.1): a CP whose ring pairs each meet in ≤ 1 point still throws — deciding it needs hole-inside-shell containment, the spike/cut exclusion, and interior connectivity (a chain of one-point tangencies can disconnect the interior). The canonical pending witness is the internally-tangent hole (shell centre (2,0) r=2, hole centre (3,0) r=1, one contact at (4,0)). Needs arc-aware point-in-ring; the oracle's POINT_IN_CURVE_RING and HOLES_DISJOINT (A_IN_B/B_IN_A answers) lanes are the differential targets.
  2. MS interiors-disjoint (§4.2.27 "interiors shall not intersect"): rung 4 refutes 1-D boundary overlap but a pair of elements with area overlap and point-only (or no) boundary contacts still throws — same point-in-ring/containment machinery as item 1.
  3. Exact-arithmetic upgrades (inherited from the 615-h · IsSimple rung 2: multi-segment simplicity via arc-arc intersection (continuation) #630 review, deferred again with written reason on 615-h · Simplicity/validity rung 4: MultiCurve/MultiSurface, CP ring-pair conditions, exact-arithmetic upgrades #639): reclaim the conditioning-guard band (eps·r² refusals) and widen cocircular equality beyond canonical triples — exact-rational circle parameters (the oracle's path) or extended precision; any loosening of the guard needs an error analysis, not a constant tweak.
  4. Kernel residues stay: degenerate closed segments (Desc-6-invalid) and the nearly-cocircular ambiguity band for genuinely distinct near-equal circles.

Reading room

Witness

At least one CurvePolygon or MultiSurface value that used to throw returns a checked verdict grounded in point-in-ring/containment machinery; the frontier shrinks and is restated.

Definition of Done: fork suites green; next-rung ticket exists (or the lane's remaining frontier is declared closed); umbrella notified.

topics: arc, validity

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Non-urgentMedium priority - valuable but can wait

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions