usingMakieusingLinearAlgebrascene=Scene(raw=true,camera=cam2d!,resolution=(500,500))r=LinRange(0,3,4)the_time=Node(time())last_open=false@asyncwhiletruegloballast_openthe_time[]=time()# this is a bit awkward, since the isopen(scene) is false# as long as the scene isn't displayedlast_open&&!isopen(scene)&&breaklast_open=isopen(scene)sleep(1/30)endpos=lift(scene.events.mouseposition,the_time)dompos,tmap(LinRange(0,2pi,60))doicircle=Point2f0(sin(i),cos(i))mouse=to_world(scene,Point2f0(mpos))secondary=(sin((i*10f0)+t)*0.09)*normalize(circle)(secondary.+circle).+mouseendendlines!(scene,pos)p1=scene[end]p2=scatter!(scene,pos,markersize=0.1f0,marker=:star5,color=p1.color,)[end]center!(scene)t=Theme(raw=true,camera=campixel!)b1=button(t,"color")b2=button(t,"marker")msize=slider(t,0.1:0.01:0.5)on(b1[end][:clicks])docp1.color=rand(RGBAf0)endmarkers=('π','😹','⚃','◑','▼')on(b2[end][:clicks])docp2.marker=markers[rand(1:5)]endon(msize[end][:value])dovalp2.markersize=valendRecordEvents(hbox(vbox(b1,b2,msize),scene),"output")