desktop/src/components/Panel.svelte
Comment 1, line 4
desktop/src/components/Panel.svelte:4
/** Height drag range in pixels, matching lib/panels.ts persisted-value validation. */Comment 2, line 16
desktop/src/components/Panel.svelte:16
/** Layout group and index used by the parent's drag hit testing. */Comment 3, line 21
desktop/src/components/Panel.svelte:21
/** Final edit-mode resize dimensions; undefined height fits content. */Comment 4, line 26
desktop/src/components/Panel.svelte:26
/** Columns occupied in a six-column grid, from 1 to 6. */Comment 5, line 28
desktop/src/components/Panel.svelte:28
/** Height in pixels; absent height fits content. */Comment 6, line 31
desktop/src/components/Panel.svelte:31
/** Edit mode displays drag/toggle controls and permits dragging. */Comment 7, line 38
desktop/src/components/Panel.svelte:38
/** Start edit-mode dragging on header areas outside buttons. */Comment 8, line 47
desktop/src/components/Panel.svelte:47
// The visibility button does not start a drag.Comment 9, line 49
desktop/src/components/Panel.svelte:49
// Request pointer capture so moves/releases outside this element still reach it and bubble to window.Comment 10, line 54
desktop/src/components/Panel.svelte:54
// ---- Pointer resize: preview edge movement, commit on release. ----Comment 11, line 55
desktop/src/components/Panel.svelte:55
/** * Resize updated 2026-09-26 follows pointer movement. The earlier stepped widths 1/2/3/4 and * heights 200/300/400/500 did not follow the edge or reach columns 5/6. * - pointerdown reads .panel-grid computed tracks/gap, column pitch and panel origin. * - pointermove derives span 1-6 from pointer x, limited by remaining grid columns, * and height from starting height plus dy. * - pointerup commits integer span and rounded height in the 120-800 pixel range. */Comment 12, line 67
desktop/src/components/Panel.svelte:67
/** Column width plus gap in pixels; zero leaves width unchanged outside a six-track layout. */Comment 13, line 69
desktop/src/components/Panel.svelte:69
/** Maximum columns available between panel origin and the grid's right edge, at most six. */Comment 14, line 71
desktop/src/components/Panel.svelte:71
/** Starting height; auto uses the current content height. */Comment 15, line 76
desktop/src/components/Panel.svelte:76
/** Live resize preview; null uses the supplied props. */Comment 16, line 88
desktop/src/components/Panel.svelte:88
// Request pointer capture to retain handle events when the pointer leaves the panel.Comment 17, line 99
desktop/src/components/Panel.svelte:99
// Computed tracks in pixels, including fractions; fewer than six tracks leaves width unchanged.Comment 18, line 135
desktop/src/components/Panel.svelte:135
// Add half a column pitch, then round the pointer's column position to the target span.Comment 19, line 146
desktop/src/components/Panel.svelte:146
// Preserve each unchanged axis: span for width, and auto/original height for height.Comment 20, line 224
desktop/src/components/Panel.svelte:224
/* Position the resize handle at bottom right; style:height includes the entire card. */Comment 21, line 242
desktop/src/components/Panel.svelte:242
/* Editable headers use grab and disable touch scrolling during pointer dragging. */Comment 22, line 283
desktop/src/components/Panel.svelte:283
/* Sized content fills remaining height and scrolls overflowing charts/tables. */Comment 23, line 291
desktop/src/components/Panel.svelte:291
/* Edit-only resize handle: 8x8 triangle inside a 24x24 hit area. */