The canvas
Everything in Brainstorm lives on a single infinite surface.
Pan and zoom
- Pan by left-dragging an empty part of the board.
- Zoom to the cursor with the mouse wheel. Scale is clamped to a sensible range so you never lose the board.
- Touch: one finger pans, and a two-finger pinch zooms around the fingers’ midpoint (tracked Google-Maps-style as it moves). Fingers can come and go mid-gesture — lifting one hands off to a pan without a jump.
A faint millimeter-paper grid (1 mm hairlines with bolder 1 cm lines) is drawn in screen space and culled to the viewport, so lines stay crisp at every zoom level.
The right-click menu
Right-click an empty spot to open the context menu. Whatever you create spawns at the point you clicked:
- Chat — a chat bubble.
- Code — opens a submenu:
- Python — a Python code cell.
- HTML5 — a live HTML/CSS/JS snippet.
- Note — a standalone post-it note (just text, no LLM).
- Text — plain text written straight onto the board (no bubble, no background). See Notes and text below.
- Draw — the freehand paint tool.
- Office — opens a submenu:
- Document — a rich-text document.
- Spreadsheet — a spreadsheet. See Documents & spreadsheets.
- Image — load a file or generate one (see Images & drawing).
Click elsewhere or press Esc to dismiss the menu.
Notes and text
Two lightweight ways to put words on the board without an LLM or a bubble thread:
- Note (post-it) — a standalone, slightly-yellow text bubble. Type into it, double-click to re-edit, drag to move, use the corner grip to resize, and × to close. It reuses the chat bubble’s look but is just text — no linked output bubble and no branching.
- Text — plain text written straight onto the board, with no bubble or background. It spawns ready to type; while editing, a small floating toolbar offers a color picker, font family, font size, and bold / italic. Idle, grab the text to drag it, use the bottom-right grip to resize (width reflows the text), double-click to edit again, and hover for the × to remove. An empty box is discarded when you click away.
Both pan and zoom with the canvas and persist with the board like everything else.
Moving things around
Bubbles, code cells, and images are independently draggable. The Bézier connectors between them reshape live as you drag, type, or resize.