def segments.between
import gralha-svg-render@0.1.0.1/svg.bend as Svgimport Base
1698# The vertices strictly inside (s, e), in order, prepended before `acc`.
1699def segments.between(xs: List<&2, Segment>, +s: F32, +e: F32, acc: List<&2, Point>) -> List<&2, Point>:
1700 match xs:
1701 case Nil{}: acc
1702 case Con{Segment{px, py, qx, qy, ux, uy, len, distance}, rest}:
1703 +at = (distance + len : F32)
1704 points.push.if(F32.is_gt(at, s) && F32.is_lt(at, e), Point{qx, qy}, segments.between(rest, s, e, acc))