openvideo 0.0.3 → 0.1.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.
- package/dist/{SharedSystems-B3cyWriK.js → SharedSystems-BukQJH1h.js} +1 -1
- package/dist/{WebGLRenderer-D7W8spZ5.js → WebGLRenderer-BuRbEm0g.js} +2 -2
- package/dist/{WebGPURenderer-BHkeWSc1.js → WebGPURenderer-CTm7Kg4-.js} +2 -2
- package/dist/animation/easings.d.ts +3 -0
- package/dist/animation/gsap-animation.d.ts +29 -0
- package/dist/animation/index.d.ts +5 -0
- package/dist/animation/keyframe-animation.d.ts +11 -0
- package/dist/animation/presets.d.ts +34 -0
- package/dist/animation/registry.d.ts +11 -0
- package/dist/animation/types.d.ts +118 -0
- package/dist/{browserAll-C8dCWSj4.js → browserAll-NQ4Ztn0h.js} +2 -2
- package/dist/clips/base-clip.d.ts +2 -2
- package/dist/clips/caption-clip.d.ts +42 -41
- package/dist/clips/iclip.d.ts +23 -0
- package/dist/clips/placeholder-clip.d.ts +4 -0
- package/dist/clips/text-clip.d.ts +38 -17
- package/dist/{index-gXIG5heI.js → index-C7b-H3n2.js} +9666 -5456
- package/dist/index.d.ts +1 -0
- package/dist/index.es.js +28 -22
- package/dist/index.umd.js +348 -176
- package/dist/json-serialization.d.ts +6 -0
- package/dist/sprite/base-sprite.d.ts +40 -4
- package/dist/sprite/pixi-sprite-renderer.d.ts +3 -0
- package/dist/studio.d.ts +16 -16
- package/dist/{webworkerAll-I-KX_dQM.js → webworkerAll-B_y2Hkt4.js} +241 -268
- package/package.json +2 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IClip, ITransitionInfo } from './clips';
|
|
2
2
|
interface BaseClipJSON {
|
|
3
3
|
id?: string;
|
|
4
|
+
name?: string;
|
|
4
5
|
effects?: Array<{
|
|
5
6
|
id: string;
|
|
6
7
|
key: string;
|
|
@@ -44,6 +45,11 @@ interface BaseClipJSON {
|
|
|
44
45
|
iterCount?: number;
|
|
45
46
|
};
|
|
46
47
|
};
|
|
48
|
+
animations?: Array<{
|
|
49
|
+
type: string;
|
|
50
|
+
opts: any;
|
|
51
|
+
params?: any;
|
|
52
|
+
}>;
|
|
47
53
|
main?: boolean;
|
|
48
54
|
}
|
|
49
55
|
export interface VideoJSON extends BaseClipJSON {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { default as EventEmitter } from '../event-emitter';
|
|
2
|
+
import { IAnimation, AnimationTransform } from '../animation';
|
|
2
3
|
type IRectBaseProps = any;
|
|
3
4
|
interface IAnimationOpts {
|
|
4
5
|
duration: number;
|
|
@@ -9,7 +10,7 @@ type TAnimateProps = IRectBaseProps & {
|
|
|
9
10
|
opacity: number;
|
|
10
11
|
};
|
|
11
12
|
export type TAnimationKeyFrame = Array<[number, Partial<TAnimateProps>]>;
|
|
12
|
-
type TKeyFrameOpts = Partial<Record<`${number}%` |
|
|
13
|
+
type TKeyFrameOpts = Partial<Record<`${number}%` | "from" | "to", Partial<TAnimateProps>>>;
|
|
13
14
|
export interface BaseSpriteEvents {
|
|
14
15
|
propsChange: Partial<{
|
|
15
16
|
left: number;
|
|
@@ -34,6 +35,10 @@ export declare abstract class BaseSprite<T extends BaseSpriteEvents = BaseSprite
|
|
|
34
35
|
* Unique identifier for the sprite/clip
|
|
35
36
|
*/
|
|
36
37
|
id: string;
|
|
38
|
+
/**
|
|
39
|
+
* Name of the sprite/clip
|
|
40
|
+
*/
|
|
41
|
+
name: string;
|
|
37
42
|
/**
|
|
38
43
|
* Control display time range of clips, commonly used in editing scenario timeline (track) module
|
|
39
44
|
* from: start time offset in microseconds
|
|
@@ -123,7 +128,7 @@ export declare abstract class BaseSprite<T extends BaseSpriteEvents = BaseSprite
|
|
|
123
128
|
/**
|
|
124
129
|
* Flip clip horizontally or vertically
|
|
125
130
|
*/
|
|
126
|
-
flip:
|
|
131
|
+
flip: "horizontal" | "vertical" | null;
|
|
127
132
|
effects: Array<{
|
|
128
133
|
id: string;
|
|
129
134
|
key: string;
|
|
@@ -140,11 +145,19 @@ export declare abstract class BaseSprite<T extends BaseSpriteEvents = BaseSprite
|
|
|
140
145
|
set style(v: any);
|
|
141
146
|
private animatKeyFrame;
|
|
142
147
|
private animatOpts;
|
|
148
|
+
/**
|
|
149
|
+
* List of active animations
|
|
150
|
+
*/
|
|
151
|
+
animations: IAnimation[];
|
|
152
|
+
/**
|
|
153
|
+
* Current transform offsets/multipliers from animations
|
|
154
|
+
* Resets every frame in animate()
|
|
155
|
+
*/
|
|
156
|
+
renderTransform: AnimationTransform;
|
|
143
157
|
/**
|
|
144
158
|
* @see {@link IClip.ready}
|
|
145
159
|
* For clips, this should be Promise<IClipMeta>, but for BaseSprite it's just Promise<void>
|
|
146
160
|
*/
|
|
147
|
-
ready: Promise<any>;
|
|
148
161
|
protected _render(ctx: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D): void;
|
|
149
162
|
/**
|
|
150
163
|
* Add animation to clip, usage reference CSS animation
|
|
@@ -166,7 +179,30 @@ export declare abstract class BaseSprite<T extends BaseSpriteEvents = BaseSprite
|
|
|
166
179
|
/**
|
|
167
180
|
* If current sprite has animation set, set sprite's animation properties to state at specified time
|
|
168
181
|
*/
|
|
169
|
-
animate(time: number): void;
|
|
182
|
+
animate(time: number, target?: any): void;
|
|
183
|
+
/**
|
|
184
|
+
* Add a modular animation to the clip
|
|
185
|
+
* @param name Preset name or 'keyframes'
|
|
186
|
+
* @param opts Animation options (duration, delay, etc.)
|
|
187
|
+
* @param params Preset-specific parameters or KeyframeData
|
|
188
|
+
*/
|
|
189
|
+
addAnimation(name: string, opts: any, params?: any): string;
|
|
190
|
+
/**
|
|
191
|
+
* Remove an animation by ID
|
|
192
|
+
*/
|
|
193
|
+
removeAnimation(id: string): void;
|
|
194
|
+
/**
|
|
195
|
+
* Clear all modular animations
|
|
196
|
+
*/
|
|
197
|
+
clearAnimations(): void;
|
|
198
|
+
/**
|
|
199
|
+
* Update an existing animation by ID
|
|
200
|
+
* @param id Animation ID to update
|
|
201
|
+
* @param type Animation type (preset name or 'keyframes')
|
|
202
|
+
* @param opts Animation options
|
|
203
|
+
* @param params Preset-specific parameters or KeyframeData
|
|
204
|
+
*/
|
|
205
|
+
updateAnimation(id: string, type: string, opts: any, params?: any): void;
|
|
170
206
|
/**
|
|
171
207
|
* Copy current sprite's properties to target
|
|
172
208
|
*
|
|
@@ -23,6 +23,7 @@ export declare class PixiSpriteRenderer {
|
|
|
23
23
|
private maskGraphics;
|
|
24
24
|
private shadowGraphics;
|
|
25
25
|
private shadowContainer;
|
|
26
|
+
private animationContainer;
|
|
26
27
|
private resolution;
|
|
27
28
|
private destroyed;
|
|
28
29
|
constructor(_pixiApp: Application | null, sprite: IClip, targetContainer?: Container | null);
|
|
@@ -42,6 +43,8 @@ export declare class PixiSpriteRenderer {
|
|
|
42
43
|
private applyStyle;
|
|
43
44
|
private applyStroke;
|
|
44
45
|
private applyShadow;
|
|
46
|
+
private applyBlur;
|
|
47
|
+
private applyBrightness;
|
|
45
48
|
updateTransforms(): void;
|
|
46
49
|
getSprite(): Sprite | null;
|
|
47
50
|
getRoot(): Container | null;
|
package/dist/studio.d.ts
CHANGED
|
@@ -33,45 +33,45 @@ interface GlobalEffectInfo {
|
|
|
33
33
|
duration: number;
|
|
34
34
|
}
|
|
35
35
|
export interface StudioEvents {
|
|
36
|
-
|
|
36
|
+
"selection:created": {
|
|
37
37
|
selected: IClip[];
|
|
38
38
|
};
|
|
39
|
-
|
|
39
|
+
"selection:updated": {
|
|
40
40
|
selected: IClip[];
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
"selection:cleared": {
|
|
43
43
|
deselected: IClip[];
|
|
44
44
|
};
|
|
45
|
-
|
|
45
|
+
"track:added": {
|
|
46
46
|
track: StudioTrack;
|
|
47
47
|
index?: number;
|
|
48
48
|
};
|
|
49
|
-
|
|
49
|
+
"track:order-changed": {
|
|
50
50
|
tracks: StudioTrack[];
|
|
51
51
|
};
|
|
52
|
-
|
|
52
|
+
"track:removed": {
|
|
53
53
|
trackId: string;
|
|
54
54
|
};
|
|
55
|
-
|
|
55
|
+
"clip:added": {
|
|
56
56
|
clip: IClip;
|
|
57
57
|
trackId: string;
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
"clips:added": {
|
|
60
60
|
clips: IClip[];
|
|
61
61
|
trackId?: string;
|
|
62
62
|
};
|
|
63
|
-
|
|
63
|
+
"clip:removed": {
|
|
64
64
|
clipId: string;
|
|
65
65
|
};
|
|
66
|
-
|
|
66
|
+
"clip:updated": {
|
|
67
67
|
clip: IClip;
|
|
68
68
|
};
|
|
69
|
-
|
|
69
|
+
"clip:replaced": {
|
|
70
70
|
oldClip: IClip;
|
|
71
71
|
newClip: IClip;
|
|
72
72
|
trackId: string;
|
|
73
73
|
};
|
|
74
|
-
|
|
74
|
+
"studio:restored": {
|
|
75
75
|
clips: IClip[];
|
|
76
76
|
tracks: StudioTrack[];
|
|
77
77
|
settings: IStudioOpts;
|
|
@@ -85,7 +85,7 @@ export interface StudioEvents {
|
|
|
85
85
|
pause: {
|
|
86
86
|
isPlaying: boolean;
|
|
87
87
|
};
|
|
88
|
-
|
|
88
|
+
"history:changed": {
|
|
89
89
|
canUndo: boolean;
|
|
90
90
|
canRedo: boolean;
|
|
91
91
|
};
|
|
@@ -127,7 +127,7 @@ export declare class Studio extends EventEmitter<StudioEvents> {
|
|
|
127
127
|
set currentTime(val: number);
|
|
128
128
|
get maxDuration(): number;
|
|
129
129
|
set maxDuration(val: number);
|
|
130
|
-
opts: Required<Omit<IStudioOpts,
|
|
130
|
+
opts: Required<Omit<IStudioOpts, "canvas">> & {
|
|
131
131
|
canvas?: HTMLCanvasElement;
|
|
132
132
|
};
|
|
133
133
|
destroyed: boolean;
|
|
@@ -138,7 +138,7 @@ export declare class Studio extends EventEmitter<StudioEvents> {
|
|
|
138
138
|
private clipCache;
|
|
139
139
|
private _isUpdatingLayout;
|
|
140
140
|
globalEffects: Map<string, GlobalEffectInfo>;
|
|
141
|
-
|
|
141
|
+
activeGlobalEffects: ActiveGlobalEffect[];
|
|
142
142
|
currentGlobalEffectSprite: Sprite | null;
|
|
143
143
|
effectFilters: Map<string, {
|
|
144
144
|
filter: import('pixi.js').Filter;
|
|
@@ -348,7 +348,7 @@ export declare class Studio extends EventEmitter<StudioEvents> {
|
|
|
348
348
|
removeGlobalEffect(id: string): void;
|
|
349
349
|
clearGlobalEffects(): void;
|
|
350
350
|
private updateActiveGlobalEffect;
|
|
351
|
-
private
|
|
351
|
+
private applyGlobalEffects;
|
|
352
352
|
/**
|
|
353
353
|
* Destroy the studio and clean up resources
|
|
354
354
|
*/
|