diff --git a/src/components/video-editor/timeline/components/wrapper/TimelineWrapper.tsx b/src/components/video-editor/timeline/components/wrapper/TimelineWrapper.tsx index f09b4001..58e55c3a 100644 --- a/src/components/video-editor/timeline/components/wrapper/TimelineWrapper.tsx +++ b/src/components/video-editor/timeline/components/wrapper/TimelineWrapper.tsx @@ -11,11 +11,7 @@ import { TimelineContext } from "dnd-timeline"; import type { Dispatch, ReactNode, SetStateAction } from "react"; import { useCallback, useRef } from "react"; import type { TimelineRegionSpan } from "../../core/timelineTypes"; -import { - clampRange, - resolveDragEnd, - resolveResizeEnd, -} from "../../dnd/engine"; +import { clampRange, resolveDragEnd, resolveResizeEnd } from "../../dnd/engine"; interface TimelineWrapperProps { children: ReactNode; @@ -162,9 +158,10 @@ export default function TimelineWrapper({ ? (event.activatorEvent as PointerEvent).clientX + (event.delta?.x ?? 0) : undefined; if (span) showTooltip(span, screenX); - onLiveSpanPreviewChange?.(event.active.id as string, span ?? null); + // dnd-timeline mutates the active item's DOM during resize; React preview + // renders here can reset that inline width/edge position and make trims stutter. }, - [onLiveSpanPreviewChange, showTooltip], + [showTooltip], ); const hideTooltip = useCallback(() => showTooltip(null), [showTooltip]);