Each exhibition is its own saved "instance" of a gallery — its own pieces, walls, and hangs. Use the dropdown at top to switch between them. + New exhibition starts a blank one; Load demo exhibitions restores the sample shows any time you want to see the app populated again.
In the sidebar, add pieces one at a time with a title, width, height, and a color as a stand-in for the artwork — or use Import CSV for a spreadsheet of title/width/height/color, or the Import Photos tab to point at a folder of images. Photos get an automatic thumbnail, and if a filename contains something like "1.2x0.9m", the dimensions are guessed for you.
Also in the sidebar, add a wall with its real-world width and height. Each wall gets its own tab above the canvas. Use Edit next to a wall to change its name or dimensions later without losing what's hung on it.
Every wall starts as one full-size zone by default. For a mixed hang, add more with + Add zone under the canvas — each is its own rectangle (X/Y from the wall's top-left corner, width, height) that can sit anywhere on the wall, side by side or stacked, with its own hang style. Zones may overlap or spill past the wall's edge (you'll get a warning banner), and dashed outlines mark their boundaries on the canvas — hide those with Show zone boundaries for a clean export.
Use Edit zone to change a zone's position or size whenever you like — the pieces already assigned to it stay assigned, they just re-flow into the new shape.
Click a wall's tab, then a zone tab beneath the canvas. Use the "Pieces in this zone" checklist on the right to choose what hangs there — a piece already hung elsewhere shows greyed out with a "Move here" shortcut and the wall/zone it's currently in, since a piece can only occupy one zone in the whole exhibition. Then pick a layout mode for that zone:
Flow — true size, wraps row by row automatically (or force an exact items-per-row).
Grid — divides the zone into even rows and columns.
Salon — loosely scatters pieces at random, a natural look for mixed sizes; overlaps are expected.
Totem — stacks pieces into a single centered column, each one touching the next.
Anchor Cluster — centers your single largest piece and groups the rest in a stack beside it.
A piece can also have a frame width and color — the frame grows outward around the artwork and counts toward its footprint in every mode above.
Click one hung piece in the checklist, then another, to swap their positions — no dragging needed. This works in every layout mode: in Salon it swaps their stored positions, in Totem it swaps their place in the stack, and in Anchor Cluster it swaps their order among the satellites (swapping two same-size pieces won't visibly change anything, since the anchor itself is always whichever piece has the largest footprint).
In Salon mode, Shuffle re-randomizes the scatter and remembers where you were, so Back can step you right back to the previous arrangement — handy if a shuffle you liked gets lost under a few more shuffles. The Seed number next to them is what actually produced the current arrangement; jot one down if you want to return to that exact layout later, or type in a different number (then press Enter or click away) to jump straight to it.
The dashed eye-level line and the wall color are properties of the whole wall — they're drawn the same way regardless of which zone you're looking at. Piece center lines, measurements (the real gap between pieces, between rows, and from a zone's own edges), spacing, and frame settings are all per-zone.
Pick meters, centimeters, or inches per exhibition. Switching converts your existing numbers properly — including every zone's position, size, and any Salon positions — so nothing gets thrown off if you change your mind partway through.
Use Download as PNG under the canvas to save an image of a wall's layout, Export to SketchUp to generate a Ruby script that places every piece from every zone at its exact position on that wall, or Export CSV to save your piece list.