@designcombo/video 0.1.15 → 0.1.17
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/{SharedSystems-C-xrqDs6.js → SharedSystems-XCOGRjXb.js} +1 -1
- package/dist/{WebGLRenderer-DA5apB9s.js → WebGLRenderer-CM65GBMW.js} +2 -2
- package/dist/{WebGPURenderer-uG2zGI9E.js → WebGPURenderer-CI6Vr5j2.js} +2 -2
- package/dist/{browserAll-DBeYf_Ix.js → browserAll-BjsPS6lK.js} +2 -2
- package/dist/clips/base-clip.d.ts +2 -2
- package/dist/clips/caption-clip.d.ts +111 -23
- package/dist/clips/iclip.d.ts +2 -2
- package/dist/clips/text-clip.d.ts +3 -1
- package/dist/{index-BsY0yXsw.js → index-DhYa39iK.js} +5936 -5706
- package/dist/index.es.js +6 -6
- package/dist/index.umd.js +82 -81
- package/dist/json-serialization.d.ts +17 -4
- package/dist/sprite/base-sprite.d.ts +5 -5
- package/dist/studio/timeline-model.d.ts +9 -1
- package/dist/studio/transport.d.ts +1 -1
- package/dist/studio.d.ts +19 -6
- package/dist/transfomer/parts/snapping.d.ts +41 -0
- package/dist/transfomer/transformer.d.ts +4 -0
- package/dist/{webworkerAll-BNQ2PT3I.js → webworkerAll-DMKSbUmt.js} +718 -545
- package/package.json +3 -2
|
@@ -62,20 +62,30 @@ export interface ImageJSON extends BaseClipJSON {
|
|
|
62
62
|
export interface TextStyleJSON {
|
|
63
63
|
fontSize?: number;
|
|
64
64
|
fontFamily?: string;
|
|
65
|
-
fontWeight?: number;
|
|
65
|
+
fontWeight?: string | number;
|
|
66
66
|
fontStyle?: string;
|
|
67
|
-
color?: string
|
|
67
|
+
color?: string | number | {
|
|
68
|
+
type: 'gradient';
|
|
69
|
+
x0: number;
|
|
70
|
+
y0: number;
|
|
71
|
+
x1: number;
|
|
72
|
+
y1: number;
|
|
73
|
+
colors: Array<{
|
|
74
|
+
ratio: number;
|
|
75
|
+
color: string | number;
|
|
76
|
+
}>;
|
|
77
|
+
};
|
|
68
78
|
align?: 'left' | 'center' | 'right';
|
|
69
79
|
fontUrl?: string;
|
|
70
80
|
stroke?: {
|
|
71
|
-
color: string;
|
|
81
|
+
color: string | number;
|
|
72
82
|
width: number;
|
|
73
83
|
join?: 'miter' | 'round' | 'bevel';
|
|
74
84
|
cap?: 'butt' | 'round' | 'square';
|
|
75
85
|
miterLimit?: number;
|
|
76
86
|
};
|
|
77
87
|
shadow?: {
|
|
78
|
-
color: string;
|
|
88
|
+
color: string | number;
|
|
79
89
|
alpha: number;
|
|
80
90
|
blur: number;
|
|
81
91
|
distance: number;
|
|
@@ -86,6 +96,8 @@ export interface TextStyleJSON {
|
|
|
86
96
|
lineHeight?: number;
|
|
87
97
|
letterSpacing?: number;
|
|
88
98
|
textCase?: 'none' | 'uppercase' | 'lowercase' | 'title';
|
|
99
|
+
verticalAlign?: 'top' | 'center' | 'bottom';
|
|
100
|
+
wordsPerLine?: 'single' | 'multiple';
|
|
89
101
|
}
|
|
90
102
|
export interface TextJSON extends BaseClipJSON {
|
|
91
103
|
type: 'Text';
|
|
@@ -139,6 +151,7 @@ export interface CaptionJSON extends BaseClipJSON {
|
|
|
139
151
|
videoHeight?: number;
|
|
140
152
|
fontUrl?: string;
|
|
141
153
|
mediaId?: string;
|
|
154
|
+
wordsPerLine?: 'single' | 'multiple';
|
|
142
155
|
}
|
|
143
156
|
export interface EffectJSON extends BaseClipJSON {
|
|
144
157
|
type: 'Effect';
|
|
@@ -29,7 +29,7 @@ export interface BaseSpriteEvents {
|
|
|
29
29
|
*
|
|
30
30
|
* @see {@link OffscreenSprite}
|
|
31
31
|
*/
|
|
32
|
-
export declare abstract class BaseSprite extends EventEmitter<
|
|
32
|
+
export declare abstract class BaseSprite<T extends BaseSpriteEvents = BaseSpriteEvents> extends EventEmitter<T> {
|
|
33
33
|
/**
|
|
34
34
|
* Unique identifier for the sprite/clip
|
|
35
35
|
*/
|
|
@@ -65,25 +65,25 @@ export declare abstract class BaseSprite extends EventEmitter<BaseSpriteEvents>
|
|
|
65
65
|
to: number;
|
|
66
66
|
};
|
|
67
67
|
constructor();
|
|
68
|
-
|
|
68
|
+
protected _left: number;
|
|
69
69
|
/**
|
|
70
70
|
* Left position (x coordinate)
|
|
71
71
|
*/
|
|
72
72
|
get left(): number;
|
|
73
73
|
set left(v: number);
|
|
74
|
-
|
|
74
|
+
protected _top: number;
|
|
75
75
|
/**
|
|
76
76
|
* Top position (y coordinate)
|
|
77
77
|
*/
|
|
78
78
|
get top(): number;
|
|
79
79
|
set top(v: number);
|
|
80
|
-
|
|
80
|
+
protected _width: number;
|
|
81
81
|
/**
|
|
82
82
|
* Width
|
|
83
83
|
*/
|
|
84
84
|
get width(): number;
|
|
85
85
|
set width(v: number);
|
|
86
|
-
|
|
86
|
+
protected _height: number;
|
|
87
87
|
/**
|
|
88
88
|
* Height
|
|
89
89
|
*/
|
|
@@ -17,11 +17,19 @@ export declare class TimelineModel {
|
|
|
17
17
|
name: string;
|
|
18
18
|
type: string;
|
|
19
19
|
id?: string;
|
|
20
|
-
}): StudioTrack;
|
|
20
|
+
}, index?: number): StudioTrack;
|
|
21
21
|
/**
|
|
22
22
|
* Remove a track and all its clips
|
|
23
23
|
*/
|
|
24
24
|
removeTrack(trackId: string): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Move a track to a new index
|
|
27
|
+
*/
|
|
28
|
+
moveTrack(trackId: string, newIndex: number): Promise<void>;
|
|
29
|
+
/**
|
|
30
|
+
* Set the order of tracks by ID
|
|
31
|
+
*/
|
|
32
|
+
setTrackOrder(trackIds: string[]): Promise<void>;
|
|
25
33
|
/**
|
|
26
34
|
* Add a Transition clip at the join where the selected clip starts.
|
|
27
35
|
*/
|
|
@@ -12,7 +12,7 @@ export declare class Transport {
|
|
|
12
12
|
private playStartTime;
|
|
13
13
|
private playStartTimestamp;
|
|
14
14
|
private rafId;
|
|
15
|
-
playbackElements: Map<IClip
|
|
15
|
+
playbackElements: Map<IClip<import('../sprite/base-sprite').BaseSpriteEvents>, PlaybackElementInfo>;
|
|
16
16
|
constructor(studio: Studio);
|
|
17
17
|
setMaxDuration(duration: number): void;
|
|
18
18
|
/**
|
package/dist/studio.d.ts
CHANGED
|
@@ -43,6 +43,10 @@ export interface StudioEvents {
|
|
|
43
43
|
};
|
|
44
44
|
'track:added': {
|
|
45
45
|
track: StudioTrack;
|
|
46
|
+
index?: number;
|
|
47
|
+
};
|
|
48
|
+
'track:order-changed': {
|
|
49
|
+
tracks: StudioTrack[];
|
|
46
50
|
};
|
|
47
51
|
'track:removed': {
|
|
48
52
|
trackId: string;
|
|
@@ -100,8 +104,8 @@ export declare class Studio extends EventEmitter<StudioEvents> {
|
|
|
100
104
|
history: HistoryManager;
|
|
101
105
|
pixiApp: Application | null;
|
|
102
106
|
get tracks(): StudioTrack[];
|
|
103
|
-
get clips(): IClip[];
|
|
104
|
-
spriteRenderers: Map<IClip
|
|
107
|
+
get clips(): IClip<import('./sprite/base-sprite').BaseSpriteEvents>[];
|
|
108
|
+
spriteRenderers: Map<IClip<import('./sprite/base-sprite').BaseSpriteEvents>, PixiSpriteRenderer>;
|
|
105
109
|
artboard: Container | null;
|
|
106
110
|
clipContainer: Container | null;
|
|
107
111
|
artboardMask: Graphics | null;
|
|
@@ -112,9 +116,9 @@ export declare class Studio extends EventEmitter<StudioEvents> {
|
|
|
112
116
|
set selectedClips(val: Set<IClip>);
|
|
113
117
|
get interactiveClips(): Set<IClip>;
|
|
114
118
|
set interactiveClips(val: Set<IClip>);
|
|
115
|
-
get playbackElements(): Map<IClip
|
|
116
|
-
videoSprites: Map<IClip
|
|
117
|
-
clipListeners: Map<IClip
|
|
119
|
+
get playbackElements(): Map<IClip<import('./sprite/base-sprite').BaseSpriteEvents>, import('./studio/transport').PlaybackElementInfo>;
|
|
120
|
+
videoSprites: Map<IClip<import('./sprite/base-sprite').BaseSpriteEvents>, Sprite>;
|
|
121
|
+
clipListeners: Map<IClip<import('./sprite/base-sprite').BaseSpriteEvents>, () => void>;
|
|
118
122
|
get isPlaying(): boolean;
|
|
119
123
|
set isPlaying(val: boolean);
|
|
120
124
|
get currentTime(): number;
|
|
@@ -178,6 +182,7 @@ export declare class Studio extends EventEmitter<StudioEvents> {
|
|
|
178
182
|
/**
|
|
179
183
|
* Update studio dimensions
|
|
180
184
|
*/
|
|
185
|
+
setSize(width: number, height: number): void;
|
|
181
186
|
updateDimensions(width: number, height: number): void;
|
|
182
187
|
private handleResize;
|
|
183
188
|
private updateArtboardLayout;
|
|
@@ -203,8 +208,16 @@ export declare class Studio extends EventEmitter<StudioEvents> {
|
|
|
203
208
|
name: string;
|
|
204
209
|
type: string;
|
|
205
210
|
id?: string;
|
|
206
|
-
}): StudioTrack;
|
|
211
|
+
}, index?: number): StudioTrack;
|
|
207
212
|
setTracks(tracks: StudioTrack[]): Promise<void>;
|
|
213
|
+
/**
|
|
214
|
+
* Move a track to a new index
|
|
215
|
+
*/
|
|
216
|
+
moveTrack(trackId: string, newIndex: number): Promise<void>;
|
|
217
|
+
/**
|
|
218
|
+
* Set the order of tracks by ID
|
|
219
|
+
*/
|
|
220
|
+
setTrackOrder(trackIds: string[]): Promise<void>;
|
|
208
221
|
removeTrack(trackId: string): Promise<void>;
|
|
209
222
|
/**
|
|
210
223
|
* Get a clip by its ID
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Point, Rectangle } from 'pixi.js';
|
|
2
|
+
export interface SnapGuide {
|
|
3
|
+
type: 'vertical' | 'horizontal';
|
|
4
|
+
position: number;
|
|
5
|
+
start: number;
|
|
6
|
+
end: number;
|
|
7
|
+
}
|
|
8
|
+
export interface SnapResult {
|
|
9
|
+
x: number | null;
|
|
10
|
+
y: number | null;
|
|
11
|
+
guides: SnapGuide[];
|
|
12
|
+
}
|
|
13
|
+
export declare class SnappingManager {
|
|
14
|
+
private artboardWidth;
|
|
15
|
+
private artboardHeight;
|
|
16
|
+
private scale;
|
|
17
|
+
static SNAP_THRESHOLD: number;
|
|
18
|
+
constructor(artboardWidth: number, artboardHeight: number, scale?: number);
|
|
19
|
+
updateContext(width: number, height: number, scale: number): void;
|
|
20
|
+
/**
|
|
21
|
+
* Snap a rectangle (bounds of the object) to artboard edges and center.
|
|
22
|
+
* returns delta (adjustment) needed for x and y
|
|
23
|
+
*/
|
|
24
|
+
snapMove(current: Rectangle): {
|
|
25
|
+
dx: number;
|
|
26
|
+
dy: number;
|
|
27
|
+
guides: SnapGuide[];
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Snap during scaling
|
|
31
|
+
* For now, simplistic implementation: snap the edges being moved.
|
|
32
|
+
*/
|
|
33
|
+
snapResize(proposed: Rectangle): {
|
|
34
|
+
corrected: Rectangle;
|
|
35
|
+
guides: SnapGuide[];
|
|
36
|
+
};
|
|
37
|
+
snapPoint(point: Point): {
|
|
38
|
+
p: Point;
|
|
39
|
+
guides: SnapGuide[];
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -13,11 +13,15 @@ export declare class Transformer extends Container {
|
|
|
13
13
|
group: Container[];
|
|
14
14
|
centeredScaling?: boolean;
|
|
15
15
|
clip?: any;
|
|
16
|
+
artboardWidth?: number;
|
|
17
|
+
artboardHeight?: number;
|
|
16
18
|
};
|
|
17
19
|
constructor(opts: {
|
|
18
20
|
group: Container[];
|
|
19
21
|
centeredScaling?: boolean;
|
|
20
22
|
clip?: any;
|
|
23
|
+
artboardWidth?: number;
|
|
24
|
+
artboardHeight?: number;
|
|
21
25
|
});
|
|
22
26
|
/**
|
|
23
27
|
* Public method to update transformer bounds without recreating it
|