forked from viewit/KX-Bridge-Release
2-column layout: settings toggle switches dashboard between 1-col (current behaviour) and 2-col (Camera|Progress, Temps|AMS side by side, motion cards in 2×2). Preference stored in localStorage only (per-browser, not printer config). Mobile always stays 1-col via CSS. Local timelapse: new TimelapseSpool class captures JPEG frames from the camera stream during a print at a configurable interval (default 4s) and encodes them to MP4 with ffmpeg on print end. Stored in data/timelapses/, indexed in SQLite. New /kx/timelapses API + browser tab in the file store panel with download and delete. Also wires the undocumented printer-native timelapse MQTT field as an experimental opt-in setting. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>