The branch where two surfaces meet, followed from point to point: a
corrector that brings a predicted point onto both surfaces at once
(predictor_corrector_step), and a curve fitted through points of a
branch that encloses the branch between them too (fit_branch).
Curve–curve intersection by per-axis fat line clipping — the design is
curve_curve.md next to this file; it reuses the clip of
contains/curve.md and the search schedule of contains/surface.md.
Curve–surface intersection by per-axis fat line clipping — the design is
curve_surface.md next to this file; it is curve_curve with one more
parameter.
Where to look for the closed loops two surfaces meet in: points of
S_a(u_a, v_a) = S_b(u_b, v_b) at which the curve they meet in turns
back along a direction d (turning_points).
Result of a subdivision-based intersection search: either the finite set
of distinct solutions, or a signal that the two shapes coincide/overlap
over a shared region rather than meeting at finitely many isolated
points.