nl_tokens: @param { object } ray - Object that looks like { start : { x : number y : number } end : { x : number y : number } }
pl_tokens: function rayVsCircle ( ray , circle ) { var rayStart = new Vec2 ( ray . start ) ; if ( circleContainsPoint ( circle . position , circle . radius , ray . start ) ) { return rayStart ; } var intersections = rayLineVsCircle ( ray , circle ) ; if ( intersections . length ) { return rayStart . nearest ( intersections . <mask> ( within ( ray ) ) ) ; } else { return null ; } }