Lightningbeam/lightningbeam-ui/lightningbeam-editor/src/export
Skyler Lehmkuhl 4228864259 Phase 3a-1: lazy fault-in of raster keyframe pixels
Raster keyframes are no longer eagerly decoded at load — `raw_pixels` stays empty
and is paged in on demand from the project container, so a big paint project opens
instantly and only touched frames hit RAM.

- core: `read_packed_media_readonly` (fresh read-only connection, can't conflict
  with an in-place save) + `RasterStore` (holds the container path; `load_pixels`
  reads+decodes a keyframe's PNG by id). `load_beam_sqlite` stops eager-decoding and
  instead marks every raster keyframe `needs_fault_in` (recursively, incl. nested);
  a freshly-created keyframe stays false (blank-resident, nothing to page). Added
  `Document::all_layers_mut`.
- editor: the canvas records a fault-in request when it needs a paged-out keyframe
  (empty pixels && needs_fault_in); the App drains the sink at the top of update(),
  pages the pixels in via the store, clears the flag, and repaints. Store path is set
  on load and after save. Export faults in synchronously per frame.

Cold-scrub still shows a 1-frame gap and the page-in is synchronous; the image proxy
(3a-2) and async load (3a-3) remove those next.
2026-06-19 16:59:46 -04:00
..
async_render_helpers.md slightly improve video export speed 2025-12-12 11:12:02 -05:00
audio_exporter.rs Massive tempo refactor - make beats canonical time rep and allow them to be non constant 2026-04-02 10:26:01 -04:00
cpu_yuv_converter.rs slightly improve video export speed 2025-12-12 11:12:02 -05:00
dialog.rs Improve export performance 2026-03-09 13:39:56 -04:00
image_exporter.rs Export images 2026-03-09 11:22:51 -04:00
mod.rs Phase 3a-1: lazy fault-in of raster keyframe pixels 2026-06-19 16:59:46 -04:00
perf_metrics.rs slightly improve video export speed 2025-12-12 11:12:02 -05:00
readback_pipeline.rs Clean up build warnings 2026-02-14 11:07:32 -05:00
video_exporter.rs Phase 3a-1: lazy fault-in of raster keyframe pixels 2026-06-19 16:59:46 -04:00