From cbd1b8212370c67b34a70dccd21bd82de72fead2 Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Tue, 7 Apr 2026 04:41:27 +0200 Subject: refactor: structured track layout per scene --- apps/web/src/hooks/use-element-preview.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'apps/web/src/hooks/use-element-preview.ts') diff --git a/apps/web/src/hooks/use-element-preview.ts b/apps/web/src/hooks/use-element-preview.ts index d717143d..4f28be83 100644 --- a/apps/web/src/hooks/use-element-preview.ts +++ b/apps/web/src/hooks/use-element-preview.ts @@ -1,5 +1,5 @@ import { useEditor } from "@/hooks/use-editor"; -import type { TimelineElement } from "@/lib/timeline"; +import { findTrackInSceneTracks, type TimelineElement } from "@/lib/timeline"; /** * Subscribes to render tracks and returns the live (preview-aware) version of @@ -18,13 +18,14 @@ export function useElementPreview({ fallback: T; }) { const editor = useEditor(); - useEditor((e) => e.timeline.getRenderTracks()); + useEditor((e) => e.timeline.getPreviewTracks()); + const previewTracks = editor.timeline.getPreviewTracks(); const renderElement = - (editor.timeline - .getRenderTracks() - .find((t) => t.id === trackId) - ?.elements.find((el) => el.id === elementId) as T | undefined) ?? + (findTrackInSceneTracks({ + tracks: previewTracks ?? editor.scenes.getActiveScene().tracks, + trackId, + })?.elements.find((element) => element.id === elementId) as T | undefined) ?? fallback; const previewUpdates = (updates: Partial) => -- cgit v1.3.1