@codingfactory/mediables-vue 2.7.2 → 2.9.0

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 (52) hide show
  1. package/dist/{PixiFrameExporter-n220y4aZ.cjs → PixiFrameExporter-COcgeYmj.cjs} +2 -2
  2. package/dist/{PixiFrameExporter-n220y4aZ.cjs.map → PixiFrameExporter-COcgeYmj.cjs.map} +1 -1
  3. package/dist/{PixiFrameExporter-C5RSaXvT.js → PixiFrameExporter-SiG3q5-_.js} +2 -2
  4. package/dist/{PixiFrameExporter-C5RSaXvT.js.map → PixiFrameExporter-SiG3q5-_.js.map} +1 -1
  5. package/dist/components/video/ui-v2/AssetRail.vue.d.ts +2 -0
  6. package/dist/components/video/ui-v2/AssetRailItem.vue.d.ts +7 -0
  7. package/dist/components/video/ui-v2/AudioMixerPanel.vue.d.ts +33 -0
  8. package/dist/components/video/ui-v2/CaptionSrtPanel.vue.d.ts +9 -0
  9. package/dist/components/video/ui-v2/DesktopInspectorSections.vue.d.ts +21 -0
  10. package/dist/components/video/ui-v2/DraftRecoveryBanner.vue.d.ts +12 -0
  11. package/dist/components/video/ui-v2/KeyframePresetPanel.vue.d.ts +26 -0
  12. package/dist/components/video/ui-v2/MobileClipSummary.vue.d.ts +4 -0
  13. package/dist/components/video/ui-v2/MobileToolPicker.vue.d.ts +3 -0
  14. package/dist/components/video/ui-v2/SplitPanelLayout.vue.d.ts +9 -5
  15. package/dist/components/video/ui-v2/TimelineTrackHeader.vue.d.ts +2 -0
  16. package/dist/composables/useClientVideoExport.d.ts +27 -0
  17. package/dist/composables/useLiveStream.d.ts +2 -2
  18. package/dist/composables/useRadialMenu.d.ts +1 -1
  19. package/dist/composables/useVideoEditor.d.ts +119 -7
  20. package/dist/composables/useVideoFilters.d.ts +4 -4
  21. package/dist/index-B6oyn6Pa.cjs +350 -0
  22. package/dist/index-B6oyn6Pa.cjs.map +1 -0
  23. package/dist/index-BGexNz7s.js +32993 -0
  24. package/dist/index-BGexNz7s.js.map +1 -0
  25. package/dist/mediables-vue.cjs +1 -1
  26. package/dist/mediables-vue.mjs +1 -1
  27. package/dist/render-page/assets/{index-aDRQNAjC.js → index-jZGmiMRr.js} +972 -159
  28. package/dist/render-page/index.html +1 -1
  29. package/dist/services/VideoJobClient.d.ts +1 -1
  30. package/dist/style.css +1 -1
  31. package/dist/types/api.d.ts +14 -0
  32. package/dist/types/video.d.ts +164 -5
  33. package/dist/video/project/audioMixerSchema.d.ts +152 -0
  34. package/dist/video/project/captionSrt.d.ts +23 -0
  35. package/dist/video/project/draftRecovery.d.ts +86 -0
  36. package/dist/video/project/exportPresets.d.ts +172 -0
  37. package/dist/video/project/index.d.ts +22 -0
  38. package/dist/video/project/keyframeAutomation.d.ts +91 -0
  39. package/dist/video/project/mediaSourceAnalysis.d.ts +127 -0
  40. package/dist/video/project/mediaSourceCache.d.ts +47 -0
  41. package/dist/video/project/recipeMigration.d.ts +26 -0
  42. package/dist/video/project/timelineSelection.d.ts +23 -0
  43. package/dist/video/project/timelineTransactions.d.ts +129 -0
  44. package/dist/video/project/visualLayerSchema.d.ts +238 -0
  45. package/dist/video-engine/adapters/AudioManager.d.ts +9 -0
  46. package/dist/video-engine/adapters/MediablesCompositionAdapter.d.ts +3 -0
  47. package/dist/video-engine/adapters/TextOverlayManager.d.ts +4 -2
  48. package/package.json +1 -1
  49. package/dist/index-B_7DfcKr.js +0 -29339
  50. package/dist/index-B_7DfcKr.js.map +0 -1
  51. package/dist/index-Dx7DOxwK.cjs +0 -342
  52. package/dist/index-Dx7DOxwK.cjs.map +0 -1
@@ -3,14 +3,16 @@
3
3
  *
4
4
  * Core logic for video editing operations
5
5
  */
6
- import type { VideoRecipe, VideoMedia, AppliedFilter, TextOverlayRecipe, AudioTrackRecipe } from '../types/video';
6
+ import type { VideoRecipe, TimelineClip, VideoMedia, AppliedFilter, TextOverlayRecipe, AudioTrackRecipe, TimelineTransitionRecipe, CaptionTrackRecipe, VisualLayerRecipe } from '../types/video';
7
7
  import { MediablesCompositionAdapter } from '../video-engine/adapters/MediablesCompositionAdapter';
8
8
  export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoRecipe, initialMedia?: VideoMedia): {
9
- currentFrame: import("vue").Ref<any, any>;
9
+ currentFrame: import("vue").Ref<unknown, unknown>;
10
10
  playheadPosition: import("vue").ComputedRef<number>;
11
11
  timelineClips: import("vue").ComputedRef<{
12
12
  id: string;
13
- type: "clip" | "video";
13
+ type: import("@/types").TimelineClipKind;
14
+ trackId?: string | undefined;
15
+ sourceRefId?: string | undefined;
14
16
  timelineStart: number;
15
17
  timelineEnd: number;
16
18
  startTime?: number | undefined;
@@ -24,12 +26,38 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
24
26
  filters?: {
25
27
  id: string;
26
28
  filterId: string;
27
- params: Record<string, any>;
29
+ params: import("@/types").FilterParamMap;
28
30
  intensity: number;
29
31
  ffmpegCommand?: string | undefined;
30
32
  }[] | undefined;
31
33
  thumbnail?: string | undefined;
32
34
  label?: string | undefined;
35
+ waveformSamples?: readonly {
36
+ index: number;
37
+ time: number;
38
+ duration: number;
39
+ endTime: number;
40
+ peak: number;
41
+ rms: number;
42
+ channel: import("../video/project").WaveformChannel;
43
+ }[] | undefined;
44
+ filmstripFrames?: readonly {
45
+ id: string;
46
+ time: number;
47
+ duration: number | null;
48
+ uri: string;
49
+ width: number;
50
+ height: number;
51
+ aspectRatio: number;
52
+ cacheKey: string | null;
53
+ }[] | undefined;
54
+ keyframes?: readonly {
55
+ id: string;
56
+ target: "opacity" | "scale" | "x" | "y" | "rotation" | "audioVolume";
57
+ time: number;
58
+ value: number;
59
+ easing: import("../video/project").KeyframeAutomationEasing;
60
+ }[] | undefined;
33
61
  url?: string | undefined;
34
62
  muted?: boolean | undefined;
35
63
  scale?: number | undefined;
@@ -42,12 +70,56 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
42
70
  scale?: number | undefined;
43
71
  } | undefined;
44
72
  }[]>;
73
+ tracks: import("vue").ComputedRef<{
74
+ id: string;
75
+ type: import("@/types").TimelineTrackType;
76
+ name: string;
77
+ order: number;
78
+ locked?: boolean | undefined;
79
+ hidden?: boolean | undefined;
80
+ muted?: boolean | undefined;
81
+ solo?: boolean | undefined;
82
+ height?: number | undefined;
83
+ clipIds?: string[] | undefined;
84
+ }[]>;
85
+ mediaSources: import("vue").ComputedRef<{
86
+ id: string;
87
+ type: import("@/types").TimelineClipSourceType;
88
+ mediaUuid?: string | undefined;
89
+ url?: string | undefined;
90
+ filename?: string | undefined;
91
+ mimeType?: string | undefined;
92
+ duration?: number | undefined;
93
+ width?: number | undefined;
94
+ height?: number | undefined;
95
+ frameRate?: number | undefined;
96
+ hasAudio?: boolean | undefined;
97
+ thumbnailUrl?: string | undefined;
98
+ isPrivate?: boolean | undefined;
99
+ metadata?: import("@/types").JsonObject | undefined;
100
+ }[]>;
101
+ transitions: import("vue").ComputedRef<{
102
+ id: string;
103
+ type: import("@/types").TimelineTransitionType;
104
+ fromClipId: string;
105
+ toClipId: string;
106
+ duration: number;
107
+ easing: import("@/types").TimelineTransitionEasing;
108
+ cutTime?: number | undefined;
109
+ params?: {
110
+ direction?: "left" | "right" | "up" | "down" | undefined;
111
+ color?: string | undefined;
112
+ softness?: number | undefined;
113
+ } | undefined;
114
+ }[]>;
45
115
  totalDuration: import("vue").ComputedRef<number>;
46
116
  hasChanges: import("vue").ComputedRef<boolean>;
47
117
  isPlaying: import("vue").ComputedRef<boolean>;
48
118
  selectedClip: import("vue").ComputedRef<{
49
119
  id: string;
50
- type: "clip" | "video";
120
+ type: import("@/types").TimelineClipKind;
121
+ trackId?: string | undefined;
122
+ sourceRefId?: string | undefined;
51
123
  timelineStart: number;
52
124
  timelineEnd: number;
53
125
  startTime?: number | undefined;
@@ -61,12 +133,38 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
61
133
  filters?: {
62
134
  id: string;
63
135
  filterId: string;
64
- params: Record<string, any>;
136
+ params: import("@/types").FilterParamMap;
65
137
  intensity: number;
66
138
  ffmpegCommand?: string | undefined;
67
139
  }[] | undefined;
68
140
  thumbnail?: string | undefined;
69
141
  label?: string | undefined;
142
+ waveformSamples?: readonly {
143
+ index: number;
144
+ time: number;
145
+ duration: number;
146
+ endTime: number;
147
+ peak: number;
148
+ rms: number;
149
+ channel: import("../video/project").WaveformChannel;
150
+ }[] | undefined;
151
+ filmstripFrames?: readonly {
152
+ id: string;
153
+ time: number;
154
+ duration: number | null;
155
+ uri: string;
156
+ width: number;
157
+ height: number;
158
+ aspectRatio: number;
159
+ cacheKey: string | null;
160
+ }[] | undefined;
161
+ keyframes?: readonly {
162
+ id: string;
163
+ target: "opacity" | "scale" | "x" | "y" | "rotation" | "audioVolume";
164
+ time: number;
165
+ value: number;
166
+ easing: import("../video/project").KeyframeAutomationEasing;
167
+ }[] | undefined;
70
168
  url?: string | undefined;
71
169
  muted?: boolean | undefined;
72
170
  scale?: number | undefined;
@@ -90,10 +188,24 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
90
188
  handleClipSelect: (clipId: string | null) => void;
91
189
  splitAtPlayhead: () => void;
92
190
  deleteSelectedClip: () => void;
191
+ rippleDeleteClip: (clipId: string) => boolean;
192
+ rippleDeleteSelectedClip: () => boolean;
93
193
  duplicateSelectedClip: () => void;
194
+ appendMediaSourceToTimeline: (sourceId: string) => TimelineClip | null;
195
+ replaceSelectedClipSource: (sourceId: string) => boolean;
196
+ removeMediaSource: (sourceId: string) => boolean;
197
+ toggleTrackLock: (trackId: string) => boolean;
198
+ toggleTrackHidden: (trackId: string) => boolean;
199
+ toggleTrackMuted: (trackId: string) => boolean;
200
+ toggleTrackSolo: (trackId: string) => boolean;
94
201
  setFilters: (filters: AppliedFilter[]) => void;
95
202
  setTextOverlays: (overlays: TextOverlayRecipe[]) => void;
96
203
  setAudioTracks: (tracks: AudioTrackRecipe[]) => void;
204
+ setCaptionTracks: (tracks: CaptionTrackRecipe[]) => void;
205
+ setVisualLayers: (layers: VisualLayerRecipe[]) => void;
206
+ setTransitions: (transitions: TimelineTransitionRecipe[]) => void;
207
+ setClipKeyframes: (clipId: string, keyframes: NonNullable<TimelineClip["keyframes"]>) => void;
208
+ loadRecipe: (recipe: VideoRecipe) => void;
97
209
  moveClip: (clipId: string, newStart: number) => void;
98
210
  saveDraft: () => VideoRecipe;
99
211
  clearHasChanges: () => void;
@@ -118,7 +230,7 @@ export declare function useVideoEditor(mediaUuid: string, initialRecipe?: VideoR
118
230
  canRedo: import("vue").ComputedRef<boolean>;
119
231
  initializeComposition: (width?: number, height?: number) => Promise<void>;
120
232
  syncCompositionWithState: () => Promise<void>;
121
- syncWithComposition: (_composition: any) => void;
233
+ syncWithComposition: (_composition: unknown) => void;
122
234
  convertToFrames: (seconds: number) => number;
123
235
  convertToSeconds: (frames: number) => number;
124
236
  seekToFrame: (frame: number) => void;
@@ -53,13 +53,13 @@ export declare function useVideoFilters(): {
53
53
  activeFilters: import("vue").Ref<{
54
54
  id: string;
55
55
  filterId: string;
56
- params: Record<string, any>;
56
+ params: import("@/types").FilterParamMap;
57
57
  intensity: number;
58
58
  ffmpegCommand?: string | undefined;
59
59
  }[], AppliedFilter[] | {
60
60
  id: string;
61
61
  filterId: string;
62
- params: Record<string, any>;
62
+ params: import("@/types").FilterParamMap;
63
63
  intensity: number;
64
64
  ffmpegCommand?: string | undefined;
65
65
  }[]>;
@@ -147,13 +147,13 @@ export declare function useVideoFilters(): {
147
147
  previewFilter: import("vue").Ref<{
148
148
  id: string;
149
149
  filterId: string;
150
- params: Record<string, any>;
150
+ params: import("@/types").FilterParamMap;
151
151
  intensity: number;
152
152
  ffmpegCommand?: string | undefined;
153
153
  } | null, AppliedFilter | {
154
154
  id: string;
155
155
  filterId: string;
156
- params: Record<string, any>;
156
+ params: import("@/types").FilterParamMap;
157
157
  intensity: number;
158
158
  ffmpegCommand?: string | undefined;
159
159
  } | null>;