Lightningbeam/daw-backend
Skyler Lehmkuhl 053a77cfa1 Timeline types stage 1: make lightningbeam-core Beats/Seconds-typed
Type ClipInstance.timeline_start/timeline_duration/loop_before as Beats and
thread Beats/Seconds through core so the compiler catches the seconds-vs-beats
mismatches behind the audio-clip placement/drag/trim bugs.

Fixes latent mixups surfaced by the types:
- add/remove/split clip instance: the audio "effective duration" fallback was
  the content-seconds span treated as beats (clips stopped early off 60 BPM);
  now converted via the tempo map at the clip's start.
- trim validation: extend-left/right clamped a content-seconds delta against a
  timeline-beats gap (and moved trim_start + timeline_start by the same raw
  amount, assuming 1:1). Now the gap is converted to content seconds and the
  timeline moves by the beats-equivalent.
- split content-split point mixed beats into a seconds trim value.
- set_keyframe: visibility-start fallback returned beats where seconds expected.
- hit_test: timeline_time (s) compared against beats without conversion.

Typed backend boundaries that were passing beats/seconds as bare f64:
add_audio_clip (start/dur Beats, offset Seconds), move_clip/extend_clip (Beats),
set_offset (Seconds). Command enum transport stays f64.

Serialization is unchanged (Beats/Seconds are #[serde(transparent)]).
lightningbeam-core builds; 299 core tests pass. The editor call sites
(recording/drop/paste/drag placement) are updated in stage 2.
2026-07-10 09:36:07 -04:00
..
examples midi import in daw backend 2025-10-18 21:46:40 -04:00
src Timeline types stage 1: make lightningbeam-core Beats/Seconds-typed 2026-07-10 09:36:07 -04:00
tests Pack video into .beam and stream frames + audio from the blob 2026-06-22 09:17:10 -04:00
C2.mp3 Work on daw backend 2025-10-18 18:09:07 -04:00
Cargo.lock Add automatable volume and pan control to default instruments 2026-03-23 23:27:05 -04:00
Cargo.toml Pack video into .beam and stream frames + audio from the blob 2026-06-22 09:17:10 -04:00
darude-sandstorm.mid midi import in daw backend 2025-10-18 21:46:40 -04:00
daw_architecture_doc.md Work on daw backend 2025-10-18 18:09:07 -04:00
test.wav Work on daw backend 2025-10-18 18:09:07 -04:00
ttls.mid Add audio node graph editing 2025-10-25 03:29:54 -04:00