Lightningbeam/lightningbeam-ui/lightningbeam-editor/src/panes
Skyler Lehmkuhl b301c63387 Address code-review findings across export, decode, and data model
Export correctness:
- Honor the user's color-range (Limited/Full) on the software encode path:
  thread full_range through gpu_yuv (new shader range uniform), the CPU
  swscale fallback (sws_setColorspaceDetails → BT.709 + range, fixing the
  BT.601 hue/level shift on odd-width exports), and the encoder color tags.
- Reject HDR + WebM up front with a clear message and log the forced HEVC
  override instead of producing an unplayable file.
- Delete dead render_frame_to_rgba_hdr (hardcoded Stretch; live HDR path
  already honors the fit mode).

Decode/playback (video.rs):
- Drain the decoder at EOF (send_eof + flush) so the final B-frame-delayed
  frames render instead of erroring; per-frame logic extracted to a helper.
- Missing-PTS frames continue monotonically rather than snapping to ts=0.
- Force exact thumbnail width so sub-128px sources aren't shown stretched.

Resource leaks (gpu-video-encoder):
- dmabuf import_raw: RAII guard frees the duped fd + partial VkImages/memory
  on every error path.
- vaapi alloc: free device/frames-ctx/AVFrames on the unexpected-DRM path.

Data model / robustness:
- collapse_boundary_spikes requires a full curve reversal (all control
  points) so it no longer deletes a real lens/sliver and drops the fill.
- Export audio spin-wait ignores a stale `finished` flag when a forward
  seek is pending (was rendering silence over real audio).
- RasterDiff apply_before/after take current dims and skip on a post-resize
  mismatch.
- beam_archive read_media_full caps the preallocation from untrusted total_len.

UI/visual:
- SVG export skips hidden layers/empty groups; import folds fill-opacity into
  gradients and surfaces failures as a notification.
- Active raster-layer border uses playback_time + overlay_transform.
- gpu_brush remove_layer_texture also evicts the stale low-res proxy.
- ensure_raster_resident_for_undo registers faulted frames in the LRU so
  resident RAM stays bounded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 17:47:32 -04:00
..
node_graph Add automatable volume and pan control to default instruments 2026-03-23 23:27:05 -04:00
shaders hdr: per-document Clip vs Highlight-rolloff output mode (Stage A pt 2) 2026-06-26 03:01:15 -04:00
asset_library.rs video: thumbnails force CPU frames (fix black thumbs + decoder thrash) 2026-06-26 05:39:35 -04:00
gradient_editor.rs Clean up build warnings 2026-06-21 16:48:59 -04:00
infopanel.rs raster: info-panel size + "Layer to document size" (scale/expand-crop) 2026-06-26 15:40:23 -04:00
mod.rs Clean up build warnings 2026-06-21 16:48:59 -04:00
node_editor.rs Node graph initial work 2025-12-16 07:59:16 -05:00
outliner.rs update css handling 2026-03-02 10:32:19 -05:00
piano_roll.rs Clean up build warnings 2026-06-21 16:48:59 -04:00
preset_browser.rs Add automation inputs for audio graphs 2026-03-18 11:25:48 -04:00
shader_editor.rs update css handling 2026-03-02 10:32:19 -05:00
stage.rs Address code-review findings across export, decode, and data model 2026-06-26 17:47:32 -04:00
timeline.rs aspect ratio: unify video placement + add export fit modes 2026-06-26 06:54:49 -04:00
toolbar.rs Refactor tools 2026-03-06 10:07:24 -05:00
virtual_piano.rs Give metatracks explicit node graphs 2026-03-10 20:20:46 -04:00