For trimming, we may want to handle tangential cases by allowing small moving of the end point.
I found the current behavior is to literally do trimming only, then the end user has no idea why trimming failed.
To allow hatching by intersecting edges should be supported, for convenience and to naturally handle self-intersecting contours. The amount of work is heavy though, because we may have to maintain some edge curves by the hatch objects.
For small gaps between curves, an error should be reported with the location of the gap.
The similar should be done in the case of self-intersecting contours, to inform the user the location of the problem, but this is harder.
dellus wrote
You can use Trim or Trim Two to join ends or cut overshots (intersections). But can be tricky with arcs/ellipse arcs. Sometimes doesn't work.