@linker-design-plus/timeline-track 1.0.9 → 1.0.11

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.
Files changed (75) hide show
  1. package/README.md +328 -372
  2. package/dist/components/interaction/globalPointerDragSession.d.ts +8 -0
  3. package/dist/components/panel/ClipConfigPanel.d.ts +48 -0
  4. package/dist/components/panel/TrackInfoPanel.d.ts +33 -0
  5. package/dist/components/scrollbar/KonvaScrollbarView.d.ts +58 -0
  6. package/dist/components/timeline/ManagedPlayhead.d.ts +29 -0
  7. package/dist/components/{Playhead.d.ts → timeline/Playhead.d.ts} +1 -1
  8. package/dist/components/{Timeline.d.ts → timeline/Timeline.d.ts} +27 -6
  9. package/dist/components/timeline/TimelineHeaderView.d.ts +45 -0
  10. package/dist/components/track/Clip.d.ts +16 -0
  11. package/dist/components/track/Track.d.ts +121 -0
  12. package/dist/components/track/trackClipLayout.d.ts +23 -0
  13. package/dist/components/track/trackInteractionState.d.ts +79 -0
  14. package/dist/core/commands/timelineCommands.d.ts +121 -0
  15. package/dist/core/controllers/demoPreviewRebuildState.d.ts +54 -0
  16. package/dist/core/controllers/domPreviewBackend.d.ts +5 -0
  17. package/dist/core/controllers/index.d.ts +13 -0
  18. package/dist/core/controllers/previewBackend.d.ts +53 -0
  19. package/dist/core/controllers/previewBackendSupport.d.ts +2 -0
  20. package/dist/core/controllers/previewClockController.d.ts +13 -0
  21. package/dist/core/controllers/previewTransformMath.d.ts +27 -0
  22. package/dist/core/controllers/previewTransformOverlay.d.ts +45 -0
  23. package/dist/core/controllers/timelineClipConfigController.d.ts +15 -0
  24. package/dist/core/controllers/timelineClipEventController.d.ts +32 -0
  25. package/dist/core/controllers/timelineClipWorkflowController.d.ts +30 -0
  26. package/dist/core/controllers/timelineDurationController.d.ts +14 -0
  27. package/dist/core/controllers/timelineEventDispatcher.d.ts +12 -0
  28. package/dist/core/controllers/timelinePlaybackResolver.d.ts +17 -0
  29. package/dist/core/controllers/timelinePreviewSession.d.ts +94 -0
  30. package/dist/core/controllers/timelineSelectionController.d.ts +17 -0
  31. package/dist/core/controllers/timelineTrackInfoPanelController.d.ts +19 -0
  32. package/dist/core/controllers/timelineTrackMutationController.d.ts +46 -0
  33. package/dist/core/facade/timelineManager.d.ts +382 -0
  34. package/dist/core/{history.d.ts → history/history.d.ts} +16 -14
  35. package/dist/core/history/index.d.ts +3 -0
  36. package/dist/core/history/timelineHistoryExecutor.d.ts +23 -0
  37. package/dist/core/history/timelineHistoryRecorder.d.ts +15 -0
  38. package/dist/core/layout/index.d.ts +1 -0
  39. package/dist/core/layout/timelineManagerDom.d.ts +22 -0
  40. package/dist/core/layout/timelineTrackLayout.d.ts +10 -0
  41. package/dist/core/models/clipState.d.ts +3 -0
  42. package/dist/core/{constants.d.ts → models/constants.d.ts} +4 -0
  43. package/dist/core/models/index.d.ts +3 -0
  44. package/dist/core/models/types.d.ts +392 -0
  45. package/dist/core/presentation/index.d.ts +1 -0
  46. package/dist/core/presentation/timelinePresentationAdapter.d.ts +22 -0
  47. package/dist/core/stores/index.d.ts +4 -0
  48. package/dist/core/stores/playbackStore.d.ts +17 -0
  49. package/dist/core/stores/selectionStore.d.ts +7 -0
  50. package/dist/core/stores/timelineStore.d.ts +44 -0
  51. package/dist/core/stores/viewportStore.d.ts +33 -0
  52. package/dist/core/testing/konva-test-stub.d.ts +81 -0
  53. package/dist/core/tracks/index.d.ts +3 -0
  54. package/dist/core/tracks/timelineTrackBridge.d.ts +37 -0
  55. package/dist/core/tracks/timelineTrackCollection.d.ts +50 -0
  56. package/dist/core/tracks/trackManager.d.ts +19 -0
  57. package/dist/core/utils/mountManager.d.ts +10 -0
  58. package/dist/index.cjs.js +29 -3
  59. package/dist/index.d.ts +12 -7
  60. package/dist/index.es.js +8914 -4353
  61. package/dist/utils/logging/Logger.d.ts +30 -0
  62. package/dist/utils/logging/index.d.ts +1 -0
  63. package/dist/utils/{KonvaUtils.d.ts → rendering/KonvaUtils.d.ts} +3 -43
  64. package/dist/utils/rendering/clipCoverRenderer.d.ts +23 -0
  65. package/dist/utils/rendering/clipVisualRenderer.d.ts +5 -0
  66. package/dist/utils/rendering/index.d.ts +4 -0
  67. package/dist/utils/rendering/timelineGridDrawing.d.ts +8 -0
  68. package/dist/utils/time/index.d.ts +1 -0
  69. package/dist/utils/{timeUtils.d.ts → time/timeUtils.d.ts} +4 -0
  70. package/package.json +5 -3
  71. package/dist/components/Clip.d.ts +0 -44
  72. package/dist/components/VideoTrack.d.ts +0 -126
  73. package/dist/core/timelineManager.d.ts +0 -212
  74. package/dist/core/types.d.ts +0 -183
  75. package/dist/utils/Logger.d.ts +0 -49
@@ -1,183 +0,0 @@
1
- export type PlayState = 'playing' | 'paused';
2
- export type TimeMs = number;
3
- export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
4
- export interface LogConfig {
5
- enabled?: boolean;
6
- level?: LogLevel;
7
- moduleLevels?: Record<string, LogLevel>;
8
- }
9
- export interface ThumbnailProvider {
10
- /**
11
- * 获取片段的封面图片
12
- * @param clip 片段对象
13
- * @returns 封面图片URL、Promise<URL>或封面图片URL数组、Promise<URL数组>
14
- */
15
- getThumbnails(clip: Clip): string[] | Promise<string[]>;
16
- }
17
- export interface ClipConfig {
18
- id?: string;
19
- externalId?: string;
20
- src: string;
21
- name: string;
22
- startTime?: TimeMs;
23
- duration: TimeMs;
24
- startTimeAtSource?: TimeMs;
25
- endTimeAtSource?: TimeMs;
26
- sourceDuration?: TimeMs;
27
- thumbnails?: string[];
28
- style?: Record<string, any>;
29
- }
30
- export interface Clip {
31
- id: string;
32
- externalId?: string;
33
- src: string;
34
- name: string;
35
- startTime: TimeMs;
36
- duration: TimeMs;
37
- endTime: TimeMs;
38
- startTimeAtSource: TimeMs;
39
- endTimeAtSource: TimeMs;
40
- sourceDuration: TimeMs;
41
- isDragging: boolean;
42
- isResizing: boolean;
43
- isResizingLeft: boolean;
44
- isResizingRight: boolean;
45
- isSelected: boolean;
46
- zIndex: number;
47
- opacity: number;
48
- thumbnails?: string[];
49
- style?: Record<string, any>;
50
- }
51
- export interface TrackConfig {
52
- id?: string;
53
- clips: Clip[];
54
- }
55
- export interface Track extends TrackConfig {
56
- id: string;
57
- }
58
- export interface Theme {
59
- background: string;
60
- border: string;
61
- timeTick: string;
62
- timeText: string;
63
- trackBackground: string;
64
- trackBorder: string;
65
- clipBackground: string;
66
- clipBorder: string;
67
- clipName: string;
68
- clipDuration: string;
69
- clipHandle: string;
70
- clipCoverBackground: string;
71
- clipSelectedBackground: string;
72
- clipSelectedBorder: string;
73
- clipSelectedName: string;
74
- clipSelectedDuration: string;
75
- clipSelectedHandle: string;
76
- clipSelectedCoverBackground: string;
77
- playhead: string;
78
- grid: string;
79
- scrollbarBackground?: string;
80
- scrollbarBorder?: string;
81
- scrollbarThumb?: string;
82
- scrollbarThumbBorder?: string;
83
- }
84
- export declare const defaultDarkTheme: Theme;
85
- export interface TimelineConfig {
86
- duration: TimeMs;
87
- zoom: number;
88
- currentTime: TimeMs;
89
- playState: PlayState;
90
- container?: HTMLElement;
91
- theme?: Theme;
92
- timeScaleHeight?: number;
93
- debug?: boolean;
94
- speed?: number;
95
- thumbnailProvider?: ThumbnailProvider;
96
- }
97
- export interface VideoPreviewConfig {
98
- videoElement: HTMLVideoElement;
99
- autoPlay?: boolean;
100
- volume?: number;
101
- }
102
- export interface VideoPreview {
103
- videoElement: HTMLVideoElement;
104
- currentClip: Clip | null;
105
- isPlaying: boolean;
106
- lastUpdateTime: number;
107
- }
108
- export type ActionType = 'add_clip' | 'remove_clip' | 'update_clip' | 'split_clip' | 'move_clip' | 'resize_clip' | 'set_time' | 'remove_gaps' | 'multi_clip_update';
109
- export interface Action {
110
- type: ActionType;
111
- data: any;
112
- timestamp: number;
113
- }
114
- export interface Position {
115
- x: number;
116
- y: number;
117
- }
118
- export interface Range {
119
- start: number;
120
- end: number;
121
- }
122
- export interface HistoryState {
123
- past: Action[];
124
- future: Action[];
125
- }
126
- export type TimelineEvent = 'time_change' | 'play_state_change' | 'clip_added' | 'clip_removed' | 'clip_updated' | 'zoom_change' | 'history_change' | 'track_duration_change' | 'clip_selected' | 'speed_change' | 'can_play_change' | 'buffering_state_change' | 'source_loading_change';
127
- export interface TimeChangeData {
128
- time: TimeMs;
129
- }
130
- export interface PlayStateChangeData {
131
- playState: PlayState;
132
- }
133
- export interface ZoomChangeData {
134
- zoom: number;
135
- }
136
- export interface ClipEventData {
137
- clip: Clip;
138
- }
139
- export interface ClipRemovedEventData {
140
- clipId: string;
141
- }
142
- export interface CanPlayChangeData {
143
- canPlay: boolean;
144
- }
145
- export interface BufferingStateChangeData {
146
- isBuffering: boolean;
147
- }
148
- export interface SourceLoadingChangeData {
149
- isLoading: boolean;
150
- pending: number;
151
- }
152
- export interface EventListener {
153
- (event: TimelineEvent, data?: any): void;
154
- }
155
- export interface TimelineManagerConfig {
156
- initialDuration?: TimeMs;
157
- initialZoom?: number;
158
- logConfig?: LogConfig;
159
- thumbnailProvider?: ThumbnailProvider;
160
- }
161
- export interface TimelineExportData {
162
- version: string;
163
- exportTime: number;
164
- coverUrl: string;
165
- tracks: TrackExportData[];
166
- }
167
- export interface TrackExportData {
168
- id: string;
169
- clips: ClipExportData[];
170
- }
171
- export interface ClipExportData {
172
- id: string;
173
- externalId?: string;
174
- src: string;
175
- name: string;
176
- startTime: TimeMs;
177
- duration: TimeMs;
178
- endTime: TimeMs;
179
- startTimeAtSource: TimeMs;
180
- endTimeAtSource: TimeMs;
181
- sourceDuration: TimeMs;
182
- thumbnails?: string[];
183
- }
@@ -1,49 +0,0 @@
1
- export declare class Logger {
2
- private static debugEnabled;
3
- private static moduleDebugEnabled;
4
- /**
5
- * 启用或禁用调试日志
6
- * @param enabled 是否启用调试日志
7
- */
8
- static setDebugEnabled(enabled: boolean): void;
9
- /**
10
- * 为特定模块启用或禁用调试日志
11
- * @param module 模块名称
12
- * @param enabled 是否启用调试日志
13
- */
14
- static setModuleDebugEnabled(module: string, enabled: boolean): void;
15
- /**
16
- * 检查特定模块的调试日志是否启用
17
- * @param module 模块名称
18
- * @returns 是否启用调试日志
19
- */
20
- private static isModuleDebugEnabled;
21
- /**
22
- * 输出调试级别日志
23
- * @param module 模块名称
24
- * @param message 日志消息
25
- * @param data 附加数据
26
- */
27
- static debug(module: string, message: string, data?: any): void;
28
- /**
29
- * 输出信息级别日志
30
- * @param module 模块名称
31
- * @param message 日志消息
32
- * @param data 附加数据
33
- */
34
- static info(module: string, message: string, data?: any): void;
35
- /**
36
- * 输出警告级别日志
37
- * @param module 模块名称
38
- * @param message 日志消息
39
- * @param data 附加数据
40
- */
41
- static warn(module: string, message: string, data?: any): void;
42
- /**
43
- * 输出错误级别日志
44
- * @param module 模块名称
45
- * @param message 日志消息
46
- * @param data 附加数据
47
- */
48
- static error(module: string, message: string, data?: any): void;
49
- }