@linker-design-plus/timeline-track 2.0.18 → 2.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/panel/ClipConfigPanel.d.ts +1 -0
- package/dist/components/panel/ClipConfigPanelRenderer.d.ts +1 -0
- package/dist/components/track/Track.d.ts +2 -1
- package/dist/core/facade/timelineManager.d.ts +0 -2
- package/dist/core/tracks/timelineTrackBridge.d.ts +2 -2
- package/dist/index.cjs.js +29 -36
- package/dist/index.es.js +989 -1037
- package/dist/utils/diagnostics/index.d.ts +0 -1
- package/dist/utils/diagnostics/types.d.ts +0 -1
- package/dist/utils/rendering/clipCoverRenderer.d.ts +4 -0
- package/package.json +1 -1
- package/dist/utils/diagnostics/DiagnosticsPanel.d.ts +0 -13
|
@@ -47,6 +47,7 @@ export declare const CSS_CLASSES: {
|
|
|
47
47
|
readonly filterButton: "clip-config-filter-button";
|
|
48
48
|
readonly voiceCardGrid: "clip-config-voice-grid";
|
|
49
49
|
readonly voiceCard: "clip-config-voice-card";
|
|
50
|
+
readonly voiceCardPreviewing: "clip-config-voice-card--previewing";
|
|
50
51
|
readonly voiceCardAvatar: "clip-config-voice-avatar";
|
|
51
52
|
readonly voiceCardMeta: "clip-config-voice-meta";
|
|
52
53
|
readonly voiceCardTitle: "clip-config-voice-title";
|
|
@@ -60,6 +60,7 @@ export declare const CLIP_CONFIG_CSS_CLASSES: {
|
|
|
60
60
|
readonly filterButton: "clip-config-filter-button";
|
|
61
61
|
readonly voiceCardGrid: "clip-config-voice-grid";
|
|
62
62
|
readonly voiceCard: "clip-config-voice-card";
|
|
63
|
+
readonly voiceCardPreviewing: "clip-config-voice-card--previewing";
|
|
63
64
|
readonly voiceCardAvatar: "clip-config-voice-avatar";
|
|
64
65
|
readonly voiceCardMeta: "clip-config-voice-meta";
|
|
65
66
|
readonly voiceCardTitle: "clip-config-voice-title";
|
|
@@ -7,6 +7,7 @@ export declare class Track {
|
|
|
7
7
|
private static readonly DEFAULT_CLIP_SNAP_THRESHOLD;
|
|
8
8
|
private static readonly AUTO_SCROLL_EDGE_THRESHOLD;
|
|
9
9
|
private static readonly AUTO_SCROLL_MAX_SPEED;
|
|
10
|
+
private static readonly MIN_CLIP_DURATION_MS;
|
|
10
11
|
private layer;
|
|
11
12
|
private trackGroup;
|
|
12
13
|
private dragOverlayLayer;
|
|
@@ -85,7 +86,7 @@ export declare class Track {
|
|
|
85
86
|
set lastDragClientX(value: number | null);
|
|
86
87
|
get lastDragClientY(): number | null;
|
|
87
88
|
set lastDragClientY(value: number | null);
|
|
88
|
-
constructor(layer: Konva.Layer, config: TrackConfig, trackType: TrackType, zoom: number, trackY: number, trackHeight: number, theme: Theme, onClipUpdate: (clip: ClipType, originalClip?: ClipType, clipUpdates?: ClipStateUpdate[]) => void, onClipAdd: (clip: ClipType) => void, onClipRemove: (clipId: string) => void, onClipSplit: (clip1: ClipType, clip2: ClipType) => void, onClipSelect: (clip: ClipType) => void, onTimeJump: (time: TimeMs) => void, onHorizontalDragAutoScroll?: (nextScrollLeft: number) => number, onClipOverlap?: (clip: ClipType, currentTrackId: string) => void, onClipCrossTrackPreview?: (clip: ClipType, targetTrackY: number, currentTrackId: string) => 'self' | 'external' | 'clear', onClipCrossTrack?: (clip: ClipType, originalClip: ClipType | null, targetTrackY: number, currentTrackId: string) => boolean | void, onClearDropPreview?: () => void, onClearSelection?: () => void, onSnapGuideChange?: (guideTime: TimeMs | null) => void, onClipToggleSelection?: (clipId: string) => void, onSetSingleSelection?: (clipId: string) => void, getMultiDragClipIds?: (clipId: string) => string[] | null, onMultiDragMove?: (request: MultiDragMoveRequest) => boolean | void, onMultiDragInteractionEnd?: () => void, dragActivationThreshold?: number, enableClipSnap?: boolean, clipSnapThreshold?: number);
|
|
89
|
+
constructor(layer: Konva.Layer, config: TrackConfig, trackType: TrackType, zoom: number, trackY: number, trackHeight: number, theme: Theme, onClipUpdate: (clip: ClipType, originalClip?: ClipType, clipUpdates?: ClipStateUpdate[]) => void, onClipAdd: (clip: ClipType) => void, onClipRemove: (clipId: string) => void, onClipSplit: (clip1: ClipType, clip2: ClipType) => void, onClipSelect: (clip: ClipType) => void, onTimeJump: (time: TimeMs) => void, onHorizontalDragAutoScroll?: (nextScrollLeft: number) => number, onClipOverlap?: (clip: ClipType, currentTrackId: string, originalClip?: ClipType | null) => void, onClipCrossTrackPreview?: (clip: ClipType, targetTrackY: number, currentTrackId: string) => 'self' | 'external' | 'clear', onClipCrossTrack?: (clip: ClipType, originalClip: ClipType | null, targetTrackY: number, currentTrackId: string) => boolean | void, onClearDropPreview?: () => void, onClearSelection?: () => void, onSnapGuideChange?: (guideTime: TimeMs | null) => void, onClipToggleSelection?: (clipId: string) => void, onSetSingleSelection?: (clipId: string) => void, getMultiDragClipIds?: (clipId: string) => string[] | null, onMultiDragMove?: (request: MultiDragMoveRequest) => boolean | void, onMultiDragInteractionEnd?: () => void, dragActivationThreshold?: number, enableClipSnap?: boolean, clipSnapThreshold?: number);
|
|
89
90
|
private initClips;
|
|
90
91
|
private getLegacyInteractionSnapshot;
|
|
91
92
|
private ensureDropPreviewGroup;
|
|
@@ -73,7 +73,6 @@ export declare class TimelineManager {
|
|
|
73
73
|
private clipRemovalBatchDepth;
|
|
74
74
|
private splitOperationDepth;
|
|
75
75
|
private readonly diagnostics;
|
|
76
|
-
private diagnosticsPanel;
|
|
77
76
|
private previewRuntimeState;
|
|
78
77
|
private previewActiveClipIds;
|
|
79
78
|
private playbackAttemptId;
|
|
@@ -88,7 +87,6 @@ export declare class TimelineManager {
|
|
|
88
87
|
private emitDiagnostic;
|
|
89
88
|
private buildDiagnosticsRuntimeState;
|
|
90
89
|
private buildPreviewDiagnosticsContext;
|
|
91
|
-
private mountDiagnosticsPanel;
|
|
92
90
|
private getTimelineStore;
|
|
93
91
|
private getTimelineCommands;
|
|
94
92
|
private getTrackCollection;
|
|
@@ -17,7 +17,7 @@ export interface TimelineTrackBridgeHandlers {
|
|
|
17
17
|
onClipSelect: (clip: Clip) => void;
|
|
18
18
|
onTimeJump: (time: TimeMs) => void;
|
|
19
19
|
onHorizontalDragAutoScroll?: (nextScrollLeft: number) => number;
|
|
20
|
-
onClipOverlap?: (clip: Clip, currentTrackId: string) => void;
|
|
20
|
+
onClipOverlap?: (clip: Clip, currentTrackId: string, originalClip?: Clip | null) => void;
|
|
21
21
|
onClipCrossTrackPreview?: (clip: Clip, targetTrackY: number, currentTrackId: string) => 'self' | 'external' | 'clear';
|
|
22
22
|
onClipCrossTrack?: (clip: Clip, originalClip: Clip | null, targetTrackY: number, currentTrackId: string) => boolean | void;
|
|
23
23
|
onClearDropPreview?: () => void;
|
|
@@ -41,7 +41,7 @@ export interface TimelineTrackBridgeCreateOptions {
|
|
|
41
41
|
enableClipSnap?: boolean;
|
|
42
42
|
clipSnapThreshold?: number;
|
|
43
43
|
}
|
|
44
|
-
export type TimelineTrackConstructor<TTrack = Track> = new (layer: Konva.Layer, config: TrackConfig, trackType: TrackType, zoom: number, trackY: number, trackHeight: number, theme: Theme, onClipUpdate: (clip: Clip, originalClip?: Clip, clipUpdates?: ClipStateUpdate[]) => void, onClipAdd: (clip: Clip) => void, onClipRemove: (clipId: string) => void, onClipSplit: (clip1: Clip, clip2: Clip) => void, onClipSelect: (clip: Clip) => void, onTimeJump: (time: TimeMs) => void, onHorizontalDragAutoScroll?: (nextScrollLeft: number) => number, onClipOverlap?: (clip: Clip, currentTrackId: string) => void, onClipCrossTrackPreview?: (clip: Clip, targetTrackY: number, currentTrackId: string) => 'self' | 'external' | 'clear', onClipCrossTrack?: (clip: Clip, originalClip: Clip | null, targetTrackY: number, currentTrackId: string) => boolean | void, onClearDropPreview?: () => void, onClearSelection?: () => void, onSnapGuideChange?: (guideTime: TimeMs | null) => void, onClipToggleSelection?: (clipId: string) => void, onSetSingleSelection?: (clipId: string) => void, getMultiDragClipIds?: (clipId: string) => string[] | null, onMultiDragMove?: (request: MultiDragMoveRequest) => boolean | void, onMultiDragInteractionEnd?: () => void, dragActivationThreshold?: number, enableClipSnap?: boolean, clipSnapThreshold?: number) => TTrack;
|
|
44
|
+
export type TimelineTrackConstructor<TTrack = Track> = new (layer: Konva.Layer, config: TrackConfig, trackType: TrackType, zoom: number, trackY: number, trackHeight: number, theme: Theme, onClipUpdate: (clip: Clip, originalClip?: Clip, clipUpdates?: ClipStateUpdate[]) => void, onClipAdd: (clip: Clip) => void, onClipRemove: (clipId: string) => void, onClipSplit: (clip1: Clip, clip2: Clip) => void, onClipSelect: (clip: Clip) => void, onTimeJump: (time: TimeMs) => void, onHorizontalDragAutoScroll?: (nextScrollLeft: number) => number, onClipOverlap?: (clip: Clip, currentTrackId: string, originalClip?: Clip | null) => void, onClipCrossTrackPreview?: (clip: Clip, targetTrackY: number, currentTrackId: string) => 'self' | 'external' | 'clear', onClipCrossTrack?: (clip: Clip, originalClip: Clip | null, targetTrackY: number, currentTrackId: string) => boolean | void, onClearDropPreview?: () => void, onClearSelection?: () => void, onSnapGuideChange?: (guideTime: TimeMs | null) => void, onClipToggleSelection?: (clipId: string) => void, onSetSingleSelection?: (clipId: string) => void, getMultiDragClipIds?: (clipId: string) => string[] | null, onMultiDragMove?: (request: MultiDragMoveRequest) => boolean | void, onMultiDragInteractionEnd?: () => void, dragActivationThreshold?: number, enableClipSnap?: boolean, clipSnapThreshold?: number) => TTrack;
|
|
45
45
|
export declare class TimelineTrackBridge<TTrack = Track> {
|
|
46
46
|
private readonly handlers;
|
|
47
47
|
private readonly TrackCtor;
|