Lightningbeam/lightningbeam-ui/lightningbeam-core/tests
Skyler Lehmkuhl 3d7cff9ad0 Stream audio & video from .beam container; waveform LOD pyramid + persistence
Migrate the .beam container to SQLite and stream media from it instead of
decoding whole files into RAM on import/load.

Container & large files:
- SQLite .beam container (beam_archive) with in-place transactional saves and an
  incremental BlobReader; supports both packed (chunked blobs) and referenced
  (external path) media, with a user preference + first-import prompt for files
  over the large-media threshold.

Audio streaming:
- Stream packed compressed audio on load via an inversion-of-control blob factory
  (AudioBlobSourceFactory): daw-backend defines the trait, core implements it
  over BlobReader, so the audio engine stays container-agnostic.
- Bulk-activate disk streaming for all loaded clips after SetProject.
- Sample-accurate compressed seek (SeekMode::Accurate; Coarse mislands on VBR).

Video:
- Video frames decoded/streamed on demand; thumbnails generated asynchronously
  on a dedicated decoder so import/load never blocks the UI.
- The video's audio track is streamed on demand via an ffmpeg VideoAudioReader
  as a separate editable AudioClip (no /tmp WAV extraction).

Waveform overview:
- Streaming min/max LOD pyramid (waveform_pyramid), bounded memory, configurable
  floor B; serialized into the container and restored on load (or generated in
  the background from the packed blob when absent), so no re-decode on reload.
- GPU min/max upload path; integer-LOD textureLoad fixes zoom-dependent wobble.
2026-06-17 13:52:38 -04:00
..
beam_archive.rs Stream audio & video from .beam container; waveform LOD pyramid + persistence 2026-06-17 13:52:38 -04:00
clip_workflow_test.rs Change vector drawing primitive from shape to doubly-connected edge graph 2026-02-23 21:29:58 -05:00
layer_properties_test.rs tests 2025-11-29 13:39:31 -05:00
region_select_debug.rs Work on region select 2026-02-21 06:04:54 -05:00
region_select_test.rs Work on region select 2026-02-21 06:04:54 -05:00
rendering_integration_test.rs Change vector drawing primitive from shape to doubly-connected edge graph 2026-02-23 21:29:58 -05:00
selection_integration_test.rs Change vector drawing primitive from shape to doubly-connected edge graph 2026-02-23 21:29:58 -05:00