Lightningbeam/lightningbeam-ui
Skyler Lehmkuhl 6596acb3db Crash recovery: background autosave to a per-session recovery file
First half of the autosave/recovery feature — the write side.

Every ~45s while the document is dirty, write the full current state into a
per-session recovery .beam in the app data dir (directories::ProjectDirs data
dir + /recovery/session-<uuid>.beam). Fully background: reuses the existing file
worker, so the pool serialization / encode / DB write all happen off the UI
thread. The only UI-thread cost is one document clone — and build_save_command
now stamps the UI layout onto the *snapshot clone* rather than the live document
(the old prepare_document_for_save mutated live state via Arc::make_mut, which
could deep-clone the whole document mid-frame). Removed that dead helper.

Dirtiness is tracked centrally via ActionExecutor::epoch() (now also bumped on
undo/redo, not just execute) plus a pending_event flag set by non-action changes
(imports, finished recordings). The baseline is rebased on new/load/manual-save
so a freshly-loaded or just-saved project stays quiet. Idle-after-edit still gets
one snapshot via a single request_repaint_after wakeup; completion is polled
lazily (no forced repaints during the write).

on_exit deletes the session's recovery file, so a leftover file on next launch
means an unclean shutdown — the hook the recovery prompt (next commit) keys on.
2026-07-09 17:20:54 -04:00
..
beamdsp Code cleanup 2026-02-19 11:19:44 -05:00
egui_node_graph2 highlight node connections directly 2026-02-20 11:13:34 -05:00
gpu-video-encoder Address code-review findings across export, decode, and data model 2026-06-26 17:47:32 -04:00
lightningbeam-core Crash recovery: background autosave to a per-session recovery file 2026-07-09 17:20:54 -04:00
lightningbeam-editor Crash recovery: background autosave to a per-session recovery file 2026-07-09 17:20:54 -04:00
.gitignore Add text layers 2026-06-27 18:14:47 -04:00
Cargo.lock SVG export: emit text layers as real glyph outlines 2026-07-09 07:10:59 -04:00
Cargo.toml Add animated GIF export 2026-07-09 06:02:47 -04:00
GPU_VIDEO_DECODE_PLAN.md export: cache the static background + bilinear video, add render profiling 2026-06-25 23:30:51 -04:00
build-static.sh Video export 2025-12-07 13:17:21 -05:00
build-windows.bat windows build fixes 2026-02-24 14:40:16 -05:00