diff options
| author | Maze Winther <mazewinther@gmail.com> | 2026-04-07 04:41:27 +0200 |
|---|---|---|
| committer | Maze Winther <mazewinther@gmail.com> | 2026-04-07 04:41:27 +0200 |
| commit | cbd1b8212370c67b34a70dccd21bd82de72fead2 (patch) | |
| tree | d97cbee2aae22c22b59c59a50e9f8a6af0ae8ccf /apps/web/src/lib/timeline/element-utils.ts | |
| parent | 4f7d401a974047d37673ee8e3840dceaaddc295c (diff) | |
| download | opencut-cbd1b8212370c67b34a70dccd21bd82de72fead2.tar.gz | |
refactor: structured track layout per scene
Diffstat (limited to 'apps/web/src/lib/timeline/element-utils.ts')
| -rw-r--r-- | apps/web/src/lib/timeline/element-utils.ts | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/apps/web/src/lib/timeline/element-utils.ts b/apps/web/src/lib/timeline/element-utils.ts index 6f9e9dbc..e56acd3c 100644 --- a/apps/web/src/lib/timeline/element-utils.ts +++ b/apps/web/src/lib/timeline/element-utils.ts @@ -13,6 +13,7 @@ import { type CreateLibraryAudioElement, type TextBackground, type TextElement, + type SceneTracks, type TimelineElement, type TimelineTrack, type AudioElement, @@ -382,12 +383,13 @@ export function getElementsAtTime({ tracks, time, }: { - tracks: TimelineTrack[]; + tracks: SceneTracks; time: number; }): { trackId: string; elementId: string }[] { const result: { trackId: string; elementId: string }[] = []; + const orderedTracks = [...tracks.overlay, tracks.main, ...tracks.audio]; - for (const track of tracks) { + for (const track of orderedTracks) { for (const element of track.elements) { const elementStart = element.startTime; const elementEnd = element.startTime + element.duration; @@ -404,10 +406,10 @@ export function getElementsAtTime({ export function getElementFontFamilies({ tracks, }: { - tracks: TimelineTrack[]; + tracks: SceneTracks; }): string[] { const families = new Set<string>(); - for (const track of tracks) { + for (const track of [...tracks.overlay, tracks.main, ...tracks.audio]) { for (const element of track.elements) { if (element.type === "text" && element.fontFamily) { families.add(element.fontFamily); |
