usingAbstractPlottingscene=linesegments([Point2f0(-5,0)=>Point2f0(5,0),Point2f0(0,-1)=>Point2f0(0,2)],scale_plot=false,show_axis=false)functionget_lightcone(pos)x,v=poslen=sqrt(x^2+2^2)return[Point2f0(x,v)=>Point2f0(x+x/len,v+2/len),Point2f0(x+x/len,v+2/len)=>Point2f0(x-1,v),Point2f0(x-1,v)=>Point2f0(x,v)]endvisible=Node(false)lift(scene.events.mousebuttons)dombvisible[]=ispressed(scene,Mouse.left)endcoords=lift(scene.events.mouseposition)domppos=to_world(scene,Point2f0(mp))returnget_lightcone(pos)endlinesegments!(scene,coords;visible=visible)# Do not execute beyond this point!RecordEvents(scene,"output")