Hello mordental,
I was working with a flat widget for my widget class and your laser is working great for selection of the button.
But I changed my widget to a geometry Mode Cylinder and your laser beam is colliding not the curved surface of the widget but a ghost invisible flat surface of the widget.
see here with the debug (in Blue) the endpoint is hitting the curved surface and your laser in red stop on that flat surface as if the widget was flat.
Do you have a solution for that ?
thank you.