summaryrefslogtreecommitdiff
path: root/apps/web/src/lib/ripple/apply.ts
diff options
context:
space:
mode:
authorMaze Winther <mazewinther@gmail.com>2026-04-07 04:41:27 +0200
committerMaze Winther <mazewinther@gmail.com>2026-04-07 04:41:27 +0200
commitcbd1b8212370c67b34a70dccd21bd82de72fead2 (patch)
treed97cbee2aae22c22b59c59a50e9f8a6af0ae8ccf /apps/web/src/lib/ripple/apply.ts
parent4f7d401a974047d37673ee8e3840dceaaddc295c (diff)
downloadopencut-cbd1b8212370c67b34a70dccd21bd82de72fead2.tar.gz
refactor: structured track layout per scene
Diffstat (limited to 'apps/web/src/lib/ripple/apply.ts')
-rw-r--r--apps/web/src/lib/ripple/apply.ts28
1 files changed, 20 insertions, 8 deletions
diff --git a/apps/web/src/lib/ripple/apply.ts b/apps/web/src/lib/ripple/apply.ts
index 098a0247..f96e4600 100644
--- a/apps/web/src/lib/ripple/apply.ts
+++ b/apps/web/src/lib/ripple/apply.ts
@@ -1,4 +1,4 @@
-import type { TimelineTrack } from "@/lib/timeline/types";
+import type { SceneTracks, TimelineTrack } from "@/lib/timeline/types";
import { rippleShiftElements } from "./shift";
export interface RippleAdjustment {
@@ -11,9 +11,9 @@ export function applyRippleAdjustments({
tracks,
adjustments,
}: {
- tracks: TimelineTrack[];
+ tracks: SceneTracks;
adjustments: RippleAdjustment[];
-}): TimelineTrack[] {
+}): SceneTracks {
if (adjustments.length === 0) {
return tracks;
}
@@ -25,12 +25,24 @@ export function applyRippleAdjustments({
adjustmentsByTrack.set(adjustment.trackId, trackAdjustments);
}
- return tracks.map((track) =>
- applyTrackRippleAdjustments({
- track,
- adjustments: adjustmentsByTrack.get(track.id) ?? [],
+ return {
+ overlay: tracks.overlay.map((track) =>
+ applyTrackRippleAdjustments({
+ track,
+ adjustments: adjustmentsByTrack.get(track.id) ?? [],
+ }),
+ ),
+ main: applyTrackRippleAdjustments({
+ track: tracks.main,
+ adjustments: adjustmentsByTrack.get(tracks.main.id) ?? [],
}),
- );
+ audio: tracks.audio.map((track) =>
+ applyTrackRippleAdjustments({
+ track,
+ adjustments: adjustmentsByTrack.get(track.id) ?? [],
+ }),
+ ),
+ };
}
function applyTrackRippleAdjustments<