Makie alternating backends per plot

Is there a way to specify a makie backend per Figure ?

I know about {WGL,Cairo,GL}Makie.activate!() but that’s operating in a global fashion and it’s hard to operate/synchronize (especially for Pluto notebooks).

What I am imagining:

fgl = GLMakie.Figure()
scatter(fgl[1,1], 1:10)

fcm = CairoMakie.Figure()
scatter(fcm[1,1], 1:10)

fwgl = WGLMakie.Figure()
scatter(fwgl[1,1], 1:10)

I think you can save(path, fig; backend = [WGL/GL/Cairo]Makie) which is probably as close as you could get to something like this.

save will always write to a file and have a static representation. I would like to have the interactivity of GLMakie or WGLMakie.

You could display([WGL/GL]Makie.Screen(scene)), which should work fine.

testing with this ( from scene tutorial ) :

julia> scene = Scene(backgroundcolor=:gray);

julia> subwindow = Scene(scene, px_area=Rect(100, 100, 200, 200), clear=true, backgroundcolor=:white);

julia> cam3d!(subwindow);

julia> scene = Scene(backgroundcolor=:gray);

julia> subwindow = Scene(scene, px_area=Rect(100, 100, 200, 200), clear=true, backgroundcolor=:white);

julia> cam3d!(subwindow);

julia> meshscatter!(subwindow, rand(Point3f, 10), color=:gray);

and

display(CairoMakie.Screen(scene))
display(GLMakie.Screen(scene))
display(WGLMakie.Screen(scene))

only the GLMakie version works.