Grid density: cut the board finer or coarser, per browser
Twelve columns fit a booth monitor and nothing else well: on a 4K wall a three-wide tile is nearly a thousand pixels, and on a small screen four tiles across is the most the grid allows. A stepper in the Layouts menu now cuts the board into 8, 10, 12, 16, 20 or 24 columns. Row height follows the column width, so cells keep their shape and a 3×2 tile is still a 3×2 tile, only smaller — finer lets tiles be smaller so more fit, coarser suits a screen read close up. It is this browser's choice, not the server's: two displays at one location can want different densities, so it saves with the layout — the local one and a named one on the server — and a named layout comes back at the density it was arranged on, which the load message says. An older layout with no density is the default twelve. Tiles keep their grid units when the density changes; the board simply gets denser or coarser around them, and a tile now past the right edge is pulled in. A module's minSize is enforced in cells as declared, so on a finer grid a tile can be smaller than it could at twelve, which is the point; a new tile's defaultSize is scaled to the density so it lands at about the size its author meant. Leaving fullscreen goes back to the chosen density rather than the stylesheet's twelve — that reset predates any notion of a chosen density. Shell 1.9.0. The round-trip test carries gridCols and drops a value off the scale. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
5107b06f8c
commit
2af7ef27ba
@@ -136,7 +136,7 @@ the app); its settings are kept for a later reinstall.
|
||||
| `client` | yes | Client entry file, loaded as an ES module. |
|
||||
| `server` | no | Server entry file (CommonJS), loaded with `require()`. |
|
||||
| `style` | no | A stylesheet the shell injects once per module. |
|
||||
| `minSize`, `defaultSize` | no | Tile size in grid cells (12 columns wide; rows are ~72 px). Defaults: min 1×1, default 4×3. |
|
||||
| `minSize`, `defaultSize` | no | Tile size in grid cells, declared for the default grid (12 columns, 72 px rows). Defaults: min 1×1, default 4×3. A dashboard may cut its board finer or coarser (8–24 columns, from the Layouts menu; row height follows). `defaultSize` is scaled to that density when a tile is added, so a new tile lands at about the size you meant; `minSize` is enforced in cells as declared, so on a finer grid a tile can be made smaller than it could at 12. |
|
||||
| `configSchema` | no | **Admin config** — server-wide settings (URLs, ports, keys) edited once at `/admin` for everyone. |
|
||||
| `instanceSchema` | no | **Per-tile settings** — chosen in each tile's gear menu and stored with that browser's layout (filters, text sizes, display options). They apply as they are changed, so keep them to display choices. |
|
||||
| `tiles` | no | Fixed multi-tile list for client-only modules; server modules export a dynamic `tiles()` instead. See **Presenting multiple tiles**. |
|
||||
|
||||
Reference in New Issue
Block a user