Concepts
Layouts and the grid
Why layouts are stored in grid cells rather than pixels, and what that means when you move a board to a different screen.
A layout is a grid of cells with widgets placed on it. It is not a canvas of pixel coordinates, and that difference is the reason one design survives being moved between screens.
Cells, not pixels
You choose a column and row count — 16×9, 9×16, 16×12, 12×12 are set up out of the box — and place each widget across a rectangle of cells. The renderer maps that grid onto whatever the screen actually is.
Move the same board to a screen with different physical dimensions and the proportions hold. Move it to a different aspect ratio and it will fit but it will not look considered: a board designed 16×9 does not become a good portrait board by being squeezed. Design per aspect ratio, not per screen.
How widgets size their text
Widgets scale type from the smaller side of their own box, so a widget in a tall narrow cell does not blow its text up to the width. Some widgets cap out deliberately — a directory row will not exceed a sensible reading size no matter how much space it is given, because a directory with four enormous rows is worse than one with twelve legible ones.
The practical consequence: if text looks too small, give the widget a bigger box, not a bigger font.
Orientation
Orientation belongs to the screen, set once when you register it. The layout is composed for the screen's orientation, which is why a portrait totem gets a portrait grid rather than a rotated landscape one.
Themes and tweaks
Each layout carries a theme — ground colour, text colours, accent — and per-widget tweaks on top. Because colour is a layout property rather than baked into each widget, changing a board from dark to light is one change, not thirty.
Drafts and revisions
Every edit lands in a draft; the screen keeps showing the published version until you publish. Twenty published versions are retained. This is what makes it safe to edit a board that people are currently standing in front of.
Portability
A layout is a JSON file. Export it, import it on another panel, and you have the same board. That is also how the 451 templates work — each one is a file you import and edit.