Make a Compose.jl composition square

I’m messing with Compose.jl, and I noticed that the “canvas” isn’t square like I would expect. Does anyone know how to create an explicitly square canvas? I’m using ElectronDisplay to view the SVG output from Compose, but when I save a composition as an SVG and view it in Inkscape, the problem persists.

This is the output from composition = compose(context(), circle(0.25,0.25,0.1), circle(0.25,0.75,0.1), circle(0.75,0.25,0.1), circle(0.75,0.75,0.1))

The first example in the Compose tutorial uses

draw(SVG("tomato.svg", 4cm, 4cm), composition)

. Do you want something like that?

Is there a way to specify size without saving to a file? To get a proportional tomato-bisque example, I tried composition = compose(context(1cm, 1cm), (context(), circle(), fill("bisque")), (context(), rectangle(), fill("tomato"))) and composition = compose(context(1cm, 1cm), (context(1cm, 1cm), circle(), fill("bisque")), (context(1cm, 1cm), rectangle(), fill("tomato"))), but both yielded strange and unwanted results. I’d rather not save to a file every time I want a proportionate image.


set_default_graphic_size(4cm, 4cm)

or e.g. draw(PNG(4cm, 4cm), composition) works in jupyter, to set individual composition size.