OPENRNDR & Processing - Circle & line-segment intersection

If you don’t like repeating the word drawer multiple times, you can do this:

OPENRNDR / Kotlin

extend {
    drawer.run {
        clear(ColorRGBa.WHITE)
        fill = ColorRGBa.fromHex("FFAA00").opacify(0.4)
        stroke = ColorRGBa.BLACK.opacify(0.4)
        strokeWeight = 2.0

        cir = cir.movedTo(mouse.position)
        lineSegment(line)
        circle(cir)
        circles(line.intersections(cir), 10.0)
    }
}