def segments
import gralha-svg-render@0.1.0.1/svg.bend as Svgimport Base
1279def segments(+points: List<&2, Point>, +distance: F32) -> List<&2, Segment>:
1280 match points:
1281 case Nil{}: Nil{}
1282 case Con{p, Nil{}}: Nil{}
1283 case Con{p, Con{q, rest}}:
1284 +len = point.distance(p, q)
1285 Con{segment.of(p, q, point.unit(point.sub(q, p)), len, distance), segments(Con{q, rest}, (distance + len : F32))}