@linker-design-plus/timeline-track 1.0.3 → 1.0.5

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.
@@ -1,6 +1,4 @@
1
- import { default as Konva } from 'konva';
2
1
  import { Clip as ClipType, Position } from '../core/types';
3
-
4
2
  export declare class Clip {
5
3
  private clip;
6
4
  private onUpdate;
@@ -42,16 +40,4 @@ export declare class Clip {
42
40
  drag(pos: Position, zoom: number, otherClips?: ClipType[], enableBoundaryCheck?: boolean): boolean;
43
41
  endDrag(): void;
44
42
  split(time: number): void;
45
- /**
46
- * 创建Konva片段组
47
- */
48
- createKonvaGroup(zoom: number, scrollLeft: number, _trackY: number, trackHeight: number): Konva.Group;
49
- /**
50
- * 渲染调整手柄
51
- */
52
- private renderResizeHandles;
53
- /**
54
- * 更新Konva片段组
55
- */
56
- updateKonvaGroup(group: Konva.Group, zoom: number, scrollLeft: number, trackHeight: number): void;
57
43
  }
@@ -1,6 +1,5 @@
1
- import { default as Konva } from 'konva';
1
+ import Konva from 'konva';
2
2
  import { TimeMs, Theme } from '../core/types';
3
-
4
3
  export declare class Playhead {
5
4
  private layer;
6
5
  private playheadGroup;
@@ -1,6 +1,5 @@
1
- import { default as Konva } from 'konva';
1
+ import Konva from 'konva';
2
2
  import { TimelineConfig, TimeMs } from '../core/types';
3
-
4
3
  export declare class Timeline {
5
4
  private stage;
6
5
  private gridLayer;
@@ -1,6 +1,5 @@
1
- import { default as Konva } from 'konva';
1
+ import Konva from 'konva';
2
2
  import { Clip as ClipType, TrackConfig, TimeMs, Theme } from '../core/types';
3
-
4
3
  export declare class VideoTrack {
5
4
  private layer;
6
5
  private trackGroup;
@@ -21,13 +20,18 @@ export declare class VideoTrack {
21
20
  private onClipRemove;
22
21
  private onClipSplit;
23
22
  private onClipSelect;
23
+ private onTimeJump;
24
24
  constructor(layer: Konva.Layer, config: TrackConfig, zoom: number, trackY: number, trackHeight: number, theme: Theme, onClipUpdate: (clip: ClipType, originalClip?: ClipType, clipUpdates?: Array<{
25
25
  clipId: string;
26
26
  newState: any;
27
27
  previousState: any;
28
- }>) => void, onClipAdd: (clip: ClipType) => void, onClipRemove: (clipId: string) => void, onClipSplit: (clip1: ClipType, clip2: ClipType) => void, onClipSelect: (clip: ClipType) => void);
28
+ }>) => void, onClipAdd: (clip: ClipType) => void, onClipRemove: (clipId: string) => void, onClipSplit: (clip1: ClipType, clip2: ClipType) => void, onClipSelect: (clip: ClipType) => void, onTimeJump: (time: TimeMs) => void);
29
29
  private initClips;
30
30
  private initEventListeners;
31
+ /**
32
+ * 处理轨道背景点击事件
33
+ */
34
+ private handleTrackBackgroundClick;
31
35
  /**
32
36
  * 创建片段组
33
37
  */
@@ -1,5 +1,4 @@
1
1
  import { Action, HistoryState } from './types';
2
-
3
2
  export declare class HistoryManager {
4
3
  private state;
5
4
  private maxHistorySize;
@@ -1,5 +1,4 @@
1
1
  import { TimelineConfig, Clip, ClipConfig, TimeMs, PlayState, Action, TimelineEvent, EventListener, VideoPreviewConfig, TimelineExportData, ThumbnailProvider } from './types';
2
-
3
2
  export declare class TimelineManager {
4
3
  private timeline;
5
4
  private tracks;
@@ -45,6 +44,23 @@ export declare class TimelineManager {
45
44
  * @param provider 缩略图提供器
46
45
  */
47
46
  setThumbnailProvider(provider: ThumbnailProvider): void;
47
+ /**
48
+ * 加载片段的封面
49
+ * @param clip 片段对象
50
+ * @returns Promise<boolean> 加载是否成功
51
+ */
52
+ private loadClipThumbnails;
53
+ /**
54
+ * 刷新指定片段的封面
55
+ * @param clipId 片段 ID
56
+ * @returns Promise<boolean> 刷新是否成功
57
+ */
58
+ refreshClipThumbnails(clipId: string): Promise<boolean>;
59
+ /**
60
+ * 刷新所有片段的封面
61
+ * @returns Promise<boolean[]> 每个片段的刷新结果
62
+ */
63
+ refreshAllClipThumbnails(): Promise<boolean[]>;
48
64
  addClip(clipConfig: ClipConfig): Promise<string>;
49
65
  removeClip(clipId: string): void;
50
66
  updateClip(clipId: string, updates: Partial<Clip>): void;
@@ -53,6 +69,10 @@ export declare class TimelineManager {
53
69
  getClips(): Clip[];
54
70
  exportTimeline(): TimelineExportData;
55
71
  getClipsData(): Clip[];
72
+ /**
73
+ * 获取插件版本号
74
+ */
75
+ getVersion(): string;
56
76
  undo(): boolean;
57
77
  redo(): boolean;
58
78
  getHistoryState(): {
@@ -147,6 +147,7 @@ export interface TimelineManagerConfig {
147
147
  export interface TimelineExportData {
148
148
  version: string;
149
149
  exportTime: number;
150
+ coverUrl: string;
150
151
  tracks: TrackExportData[];
151
152
  }
152
153
  export interface TrackExportData {