desktop/src/lib/panels.ts:1
* Saved panel layout (display E10/E11 and resizing):
* - localStorage key llm-usage-panel-layout-{page}: { [group]: { order, hidden, sizes } };
* - order stores panel IDs after drag swaps; hidden lists hidden IDs;
* - sizes maps IDs to { span, height } set by the edit-mode bottom-right handle;
* - load removes obsolete IDs, appends new ones and rejects invalid sizes;
* unavailable storage, such as privacy mode, falls back to in-memory layout.
desktop/src/lib/panels.ts:10
/** Column span within a six-column grid, 1–6. */
desktop/src/lib/panels.ts:12
/** Height in pixels; absent means content-based height. */
desktop/src/lib/panels.ts:36
/** Load page/group layout; ids contains all current panels in default order. */
desktop/src/lib/panels.ts:46
// Keep current panels only, with integer span 1–6 and height 120–800.
desktop/src/lib/panels.ts:65
/** Read-modify-write the page/group layout, preserving other groups. */
desktop/src/lib/panels.ts:80
/* Unavailable storage keeps only in-memory layout. */
desktop/src/lib/panels.ts:84
/** Reset all page layouts in edit mode; ignore unavailable storage. */
desktop/src/lib/panels.ts:89
/* Ignore unavailable storage. */