@rendley/sdk 1.14.4 → 1.15.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/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -1
- package/dist/modules/animation/PropertyAnimator.d.ts +93 -0
- package/dist/modules/animation/PropertyAnimator.types.d.ts +516 -0
- package/dist/modules/animation/index.d.ts +2 -0
- package/dist/modules/clip/Clip.d.ts +378 -54
- package/dist/modules/clip/ClipStyle.d.ts +11 -0
- package/dist/modules/clip/clips/audio/AudioClip.d.ts +38 -7
- package/dist/modules/clip/clips/custom/CustomClip.d.ts +37 -6
- package/dist/modules/clip/clips/htmlText/HtmlTextClip.d.ts +40 -7
- package/dist/modules/clip/clips/lottie/LottieClip.d.ts +38 -7
- package/dist/modules/clip/clips/shape/ShapeClip.d.ts +39 -6
- package/dist/modules/clip/clips/svg/SvgClip.d.ts +37 -6
- package/dist/modules/clip/clips/text/TextClip.d.ts +40 -7
- package/dist/modules/clip/clips/video/VideoClip.d.ts +38 -7
- package/dist/modules/event-emitter/types/EventEmitter.types.d.ts +5 -0
- package/dist/modules/filter/CropAnimationFilter.d.ts +7 -0
- package/dist/modules/undo/UndoManager.d.ts +2 -0
- package/dist/modules/undo/UndoManager.types.d.ts +39 -0
- package/dist/utils/animation/animation.d.ts +6 -6
- package/package.json +1 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BezierHandle, PropertyKeyframe, PropertyAnimatorSchema, PropertyLink, PropertyRegistration, PropertyTrack, PropertyValue, TrackDefaults } from "./PropertyAnimator.types";
|
|
3
|
+
export declare class PropertyAnimator {
|
|
4
|
+
private clipId?;
|
|
5
|
+
private tracks;
|
|
6
|
+
private properties;
|
|
7
|
+
/** compound key → PropertyLink */
|
|
8
|
+
private links;
|
|
9
|
+
/** component key → compound key (reverse lookup) */
|
|
10
|
+
private componentToCompound;
|
|
11
|
+
setClipId(clipId: string): void;
|
|
12
|
+
getClipId(): string | undefined;
|
|
13
|
+
private recordUndo;
|
|
14
|
+
/** Tolerance for matching keyframes: half a frame minus epsilon */
|
|
15
|
+
private get tolerance();
|
|
16
|
+
/** Round a time value to the nearest frame boundary */
|
|
17
|
+
private alignTime;
|
|
18
|
+
registerProperty(registration: PropertyRegistration): void;
|
|
19
|
+
unregisterProperty(key: string): void;
|
|
20
|
+
getRegisteredProperties(): ReadonlyMap<string, PropertyRegistration>;
|
|
21
|
+
/**
|
|
22
|
+
* Register a link between a compound vector property and its scalar components.
|
|
23
|
+
* E.g. linkProperties({ compound: "scale", components: ["scaleX", "scaleY"] })
|
|
24
|
+
*/
|
|
25
|
+
linkProperties(link: PropertyLink): void;
|
|
26
|
+
/**
|
|
27
|
+
* Split a compound track into component tracks.
|
|
28
|
+
* Decomposes each vector keyframe into individual scalar keyframes, preserving handles and hold.
|
|
29
|
+
* Removes the compound track.
|
|
30
|
+
*/
|
|
31
|
+
splitTrack(compound: string): void;
|
|
32
|
+
/**
|
|
33
|
+
* Merge component tracks back into a compound vector track.
|
|
34
|
+
* By default, requires all components to have keyframes at identical times (lossless merge).
|
|
35
|
+
* With force=true, evaluates missing component values and inherits handles from neighbors (lossy).
|
|
36
|
+
* Removes component tracks.
|
|
37
|
+
*/
|
|
38
|
+
mergeTrack(compound: string, force?: boolean): void;
|
|
39
|
+
/**
|
|
40
|
+
* Check if component tracks can be losslessly merged back into the compound.
|
|
41
|
+
* Returns true if all components with keyframes have them at exactly the same times.
|
|
42
|
+
*/
|
|
43
|
+
canMergeTrack(compound: string): boolean;
|
|
44
|
+
/** Returns true if the compound property is currently split into components */
|
|
45
|
+
isSplit(compound: string): boolean;
|
|
46
|
+
/** Get the link for a property (either compound or component key) */
|
|
47
|
+
getLink(property: string): PropertyLink | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Check if adding a keyframe to this property would conflict with an active linked track.
|
|
50
|
+
* Throws if there's a conflict (user must explicitly split/merge first).
|
|
51
|
+
*/
|
|
52
|
+
private validateLinkConflict;
|
|
53
|
+
addTrack(property: string, defaults?: TrackDefaults): PropertyTrack;
|
|
54
|
+
removeTrack(property: string): void;
|
|
55
|
+
hasTrack(property: string): boolean;
|
|
56
|
+
getTrack(property: string): PropertyTrack | undefined;
|
|
57
|
+
getTracks(): ReadonlyMap<string, PropertyTrack>;
|
|
58
|
+
addKeyframe(property: string, time: number, value: PropertyValue, handleIn?: BezierHandle, handleOut?: BezierHandle, hold?: boolean): PropertyKeyframe;
|
|
59
|
+
removeKeyframe(property: string, keyframe: PropertyKeyframe): void;
|
|
60
|
+
removeKeyframeAtTime(property: string, time: number): void;
|
|
61
|
+
updateKeyframe(property: string, time: number, patch: Partial<Omit<PropertyKeyframe, "time">>): void;
|
|
62
|
+
moveKeyframe(property: string, oldTime: number, newTime: number, clamped?: boolean): void;
|
|
63
|
+
getKeyframesAtTime(time: number): Map<string, PropertyKeyframe>;
|
|
64
|
+
getKeyframeAtTime(property: string, time: number): PropertyKeyframe | undefined;
|
|
65
|
+
removeKeyframesAtTime(time: number): void;
|
|
66
|
+
clear(property?: string): void;
|
|
67
|
+
duplicateKeyframe(property: string, sourceTime: number, targetTime: number): PropertyKeyframe | undefined;
|
|
68
|
+
hasKeyframeAtTime(property: string, time: number): boolean;
|
|
69
|
+
getNextKeyframe(property: string, time: number): PropertyKeyframe | undefined;
|
|
70
|
+
getPrevKeyframe(property: string, time: number): PropertyKeyframe | undefined;
|
|
71
|
+
getAllKeyframeTimes(): Set<number>;
|
|
72
|
+
getKeyframesBetween(property: string, startTime: number, endTime: number): PropertyKeyframe[];
|
|
73
|
+
getAnimatedProperties(): Set<string>;
|
|
74
|
+
evaluate(time: number): Map<string, PropertyValue>;
|
|
75
|
+
evaluateProperty(property: string, time: number): PropertyValue | undefined;
|
|
76
|
+
/** Apply evaluated values to registered properties at the given time */
|
|
77
|
+
apply(time: number): void;
|
|
78
|
+
private evaluateTrack;
|
|
79
|
+
/**
|
|
80
|
+
* Record the current value of a registered property as a keyframe.
|
|
81
|
+
* Reads the value from the property's registered getter.
|
|
82
|
+
* If a keyframe already exists at that time, only the value is updated (handles are preserved).
|
|
83
|
+
* If no keyframe exists, a new one is inserted with default handles.
|
|
84
|
+
* If no track exists, one is created automatically.
|
|
85
|
+
*/
|
|
86
|
+
recordProperty(property: string, currentTime: number): void;
|
|
87
|
+
serialize(): z.infer<typeof PropertyAnimatorSchema>;
|
|
88
|
+
deserialize(data: z.infer<typeof PropertyAnimatorSchema>): void;
|
|
89
|
+
private emitKeyframeChanged;
|
|
90
|
+
/** Find the single closest keyframe within tolerance using binary search. Returns index or -1. */
|
|
91
|
+
private findClosestKeyframeIndex;
|
|
92
|
+
private findInsertIndex;
|
|
93
|
+
}
|
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { PropertyDescriptionTypeEnum } from "../library/types/Property.types";
|
|
3
|
+
/** Bezier control point in normalized [0-1] space */
|
|
4
|
+
export interface BezierHandle {
|
|
5
|
+
time: number;
|
|
6
|
+
value: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const DEFAULT_HANDLE_IN: BezierHandle;
|
|
9
|
+
export declare const DEFAULT_HANDLE_OUT: BezierHandle;
|
|
10
|
+
export type PropertyValue = number | number[] | string | boolean;
|
|
11
|
+
export interface PropertyKeyframe {
|
|
12
|
+
time: number;
|
|
13
|
+
value: PropertyValue;
|
|
14
|
+
/** Incoming bezier handle (controls curve arriving at this keyframe) */
|
|
15
|
+
handleIn: BezierHandle;
|
|
16
|
+
/** Outgoing bezier handle (controls curve leaving this keyframe) */
|
|
17
|
+
handleOut: BezierHandle;
|
|
18
|
+
/** If true, holds this value until the next keyframe (no interpolation) */
|
|
19
|
+
hold?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface TrackDefaults {
|
|
22
|
+
handleIn?: BezierHandle;
|
|
23
|
+
handleOut?: BezierHandle;
|
|
24
|
+
hold?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export interface PropertyTrack {
|
|
27
|
+
property: string;
|
|
28
|
+
type: PropertyDescriptionTypeEnum;
|
|
29
|
+
keyframes: PropertyKeyframe[];
|
|
30
|
+
defaults?: TrackDefaults;
|
|
31
|
+
customData?: Map<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
export interface PropertyRegistration {
|
|
34
|
+
key: string;
|
|
35
|
+
type: PropertyDescriptionTypeEnum;
|
|
36
|
+
get: () => PropertyValue;
|
|
37
|
+
set: (value: PropertyValue) => void;
|
|
38
|
+
}
|
|
39
|
+
/** Links a vector property to its scalar components */
|
|
40
|
+
export interface PropertyLink {
|
|
41
|
+
/** The compound property key, e.g. "scale" */
|
|
42
|
+
compound: string;
|
|
43
|
+
/** The component property keys in order, e.g. ["scaleX", "scaleY"] */
|
|
44
|
+
components: string[];
|
|
45
|
+
}
|
|
46
|
+
export declare function isContinuousType(type: PropertyDescriptionTypeEnum): boolean;
|
|
47
|
+
export declare const BezierHandleSchema: z.ZodObject<{
|
|
48
|
+
time: z.ZodNumber;
|
|
49
|
+
value: z.ZodNumber;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
value: number;
|
|
52
|
+
time: number;
|
|
53
|
+
}, {
|
|
54
|
+
value: number;
|
|
55
|
+
time: number;
|
|
56
|
+
}>;
|
|
57
|
+
export declare const PropertyKeyframeSchema: z.ZodObject<{
|
|
58
|
+
time: z.ZodNumber;
|
|
59
|
+
value: z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">, z.ZodString, z.ZodBoolean]>;
|
|
60
|
+
handleIn: z.ZodObject<{
|
|
61
|
+
time: z.ZodNumber;
|
|
62
|
+
value: z.ZodNumber;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
value: number;
|
|
65
|
+
time: number;
|
|
66
|
+
}, {
|
|
67
|
+
value: number;
|
|
68
|
+
time: number;
|
|
69
|
+
}>;
|
|
70
|
+
handleOut: z.ZodObject<{
|
|
71
|
+
time: z.ZodNumber;
|
|
72
|
+
value: z.ZodNumber;
|
|
73
|
+
}, "strip", z.ZodTypeAny, {
|
|
74
|
+
value: number;
|
|
75
|
+
time: number;
|
|
76
|
+
}, {
|
|
77
|
+
value: number;
|
|
78
|
+
time: number;
|
|
79
|
+
}>;
|
|
80
|
+
hold: z.ZodOptional<z.ZodBoolean>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
83
|
+
time: number;
|
|
84
|
+
handleIn: {
|
|
85
|
+
value: number;
|
|
86
|
+
time: number;
|
|
87
|
+
};
|
|
88
|
+
handleOut: {
|
|
89
|
+
value: number;
|
|
90
|
+
time: number;
|
|
91
|
+
};
|
|
92
|
+
hold?: boolean | undefined;
|
|
93
|
+
}, {
|
|
94
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
95
|
+
time: number;
|
|
96
|
+
handleIn: {
|
|
97
|
+
value: number;
|
|
98
|
+
time: number;
|
|
99
|
+
};
|
|
100
|
+
handleOut: {
|
|
101
|
+
value: number;
|
|
102
|
+
time: number;
|
|
103
|
+
};
|
|
104
|
+
hold?: boolean | undefined;
|
|
105
|
+
}>;
|
|
106
|
+
export declare const TrackDefaultsSchema: z.ZodObject<{
|
|
107
|
+
handleIn: z.ZodOptional<z.ZodObject<{
|
|
108
|
+
time: z.ZodNumber;
|
|
109
|
+
value: z.ZodNumber;
|
|
110
|
+
}, "strip", z.ZodTypeAny, {
|
|
111
|
+
value: number;
|
|
112
|
+
time: number;
|
|
113
|
+
}, {
|
|
114
|
+
value: number;
|
|
115
|
+
time: number;
|
|
116
|
+
}>>;
|
|
117
|
+
handleOut: z.ZodOptional<z.ZodObject<{
|
|
118
|
+
time: z.ZodNumber;
|
|
119
|
+
value: z.ZodNumber;
|
|
120
|
+
}, "strip", z.ZodTypeAny, {
|
|
121
|
+
value: number;
|
|
122
|
+
time: number;
|
|
123
|
+
}, {
|
|
124
|
+
value: number;
|
|
125
|
+
time: number;
|
|
126
|
+
}>>;
|
|
127
|
+
hold: z.ZodOptional<z.ZodBoolean>;
|
|
128
|
+
}, "strip", z.ZodTypeAny, {
|
|
129
|
+
handleIn?: {
|
|
130
|
+
value: number;
|
|
131
|
+
time: number;
|
|
132
|
+
} | undefined;
|
|
133
|
+
handleOut?: {
|
|
134
|
+
value: number;
|
|
135
|
+
time: number;
|
|
136
|
+
} | undefined;
|
|
137
|
+
hold?: boolean | undefined;
|
|
138
|
+
}, {
|
|
139
|
+
handleIn?: {
|
|
140
|
+
value: number;
|
|
141
|
+
time: number;
|
|
142
|
+
} | undefined;
|
|
143
|
+
handleOut?: {
|
|
144
|
+
value: number;
|
|
145
|
+
time: number;
|
|
146
|
+
} | undefined;
|
|
147
|
+
hold?: boolean | undefined;
|
|
148
|
+
}>;
|
|
149
|
+
export declare const PropertyTrackSchema: z.ZodObject<{
|
|
150
|
+
property: z.ZodString;
|
|
151
|
+
type: z.ZodNativeEnum<typeof PropertyDescriptionTypeEnum>;
|
|
152
|
+
keyframes: z.ZodArray<z.ZodObject<{
|
|
153
|
+
time: z.ZodNumber;
|
|
154
|
+
value: z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">, z.ZodString, z.ZodBoolean]>;
|
|
155
|
+
handleIn: z.ZodObject<{
|
|
156
|
+
time: z.ZodNumber;
|
|
157
|
+
value: z.ZodNumber;
|
|
158
|
+
}, "strip", z.ZodTypeAny, {
|
|
159
|
+
value: number;
|
|
160
|
+
time: number;
|
|
161
|
+
}, {
|
|
162
|
+
value: number;
|
|
163
|
+
time: number;
|
|
164
|
+
}>;
|
|
165
|
+
handleOut: z.ZodObject<{
|
|
166
|
+
time: z.ZodNumber;
|
|
167
|
+
value: z.ZodNumber;
|
|
168
|
+
}, "strip", z.ZodTypeAny, {
|
|
169
|
+
value: number;
|
|
170
|
+
time: number;
|
|
171
|
+
}, {
|
|
172
|
+
value: number;
|
|
173
|
+
time: number;
|
|
174
|
+
}>;
|
|
175
|
+
hold: z.ZodOptional<z.ZodBoolean>;
|
|
176
|
+
}, "strip", z.ZodTypeAny, {
|
|
177
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
178
|
+
time: number;
|
|
179
|
+
handleIn: {
|
|
180
|
+
value: number;
|
|
181
|
+
time: number;
|
|
182
|
+
};
|
|
183
|
+
handleOut: {
|
|
184
|
+
value: number;
|
|
185
|
+
time: number;
|
|
186
|
+
};
|
|
187
|
+
hold?: boolean | undefined;
|
|
188
|
+
}, {
|
|
189
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
190
|
+
time: number;
|
|
191
|
+
handleIn: {
|
|
192
|
+
value: number;
|
|
193
|
+
time: number;
|
|
194
|
+
};
|
|
195
|
+
handleOut: {
|
|
196
|
+
value: number;
|
|
197
|
+
time: number;
|
|
198
|
+
};
|
|
199
|
+
hold?: boolean | undefined;
|
|
200
|
+
}>, "many">;
|
|
201
|
+
defaults: z.ZodOptional<z.ZodObject<{
|
|
202
|
+
handleIn: z.ZodOptional<z.ZodObject<{
|
|
203
|
+
time: z.ZodNumber;
|
|
204
|
+
value: z.ZodNumber;
|
|
205
|
+
}, "strip", z.ZodTypeAny, {
|
|
206
|
+
value: number;
|
|
207
|
+
time: number;
|
|
208
|
+
}, {
|
|
209
|
+
value: number;
|
|
210
|
+
time: number;
|
|
211
|
+
}>>;
|
|
212
|
+
handleOut: z.ZodOptional<z.ZodObject<{
|
|
213
|
+
time: z.ZodNumber;
|
|
214
|
+
value: z.ZodNumber;
|
|
215
|
+
}, "strip", z.ZodTypeAny, {
|
|
216
|
+
value: number;
|
|
217
|
+
time: number;
|
|
218
|
+
}, {
|
|
219
|
+
value: number;
|
|
220
|
+
time: number;
|
|
221
|
+
}>>;
|
|
222
|
+
hold: z.ZodOptional<z.ZodBoolean>;
|
|
223
|
+
}, "strip", z.ZodTypeAny, {
|
|
224
|
+
handleIn?: {
|
|
225
|
+
value: number;
|
|
226
|
+
time: number;
|
|
227
|
+
} | undefined;
|
|
228
|
+
handleOut?: {
|
|
229
|
+
value: number;
|
|
230
|
+
time: number;
|
|
231
|
+
} | undefined;
|
|
232
|
+
hold?: boolean | undefined;
|
|
233
|
+
}, {
|
|
234
|
+
handleIn?: {
|
|
235
|
+
value: number;
|
|
236
|
+
time: number;
|
|
237
|
+
} | undefined;
|
|
238
|
+
handleOut?: {
|
|
239
|
+
value: number;
|
|
240
|
+
time: number;
|
|
241
|
+
} | undefined;
|
|
242
|
+
hold?: boolean | undefined;
|
|
243
|
+
}>>;
|
|
244
|
+
customData: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodUnknown], null>, "many">>;
|
|
245
|
+
}, "strip", z.ZodTypeAny, {
|
|
246
|
+
type: PropertyDescriptionTypeEnum;
|
|
247
|
+
property: string;
|
|
248
|
+
keyframes: {
|
|
249
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
250
|
+
time: number;
|
|
251
|
+
handleIn: {
|
|
252
|
+
value: number;
|
|
253
|
+
time: number;
|
|
254
|
+
};
|
|
255
|
+
handleOut: {
|
|
256
|
+
value: number;
|
|
257
|
+
time: number;
|
|
258
|
+
};
|
|
259
|
+
hold?: boolean | undefined;
|
|
260
|
+
}[];
|
|
261
|
+
defaults?: {
|
|
262
|
+
handleIn?: {
|
|
263
|
+
value: number;
|
|
264
|
+
time: number;
|
|
265
|
+
} | undefined;
|
|
266
|
+
handleOut?: {
|
|
267
|
+
value: number;
|
|
268
|
+
time: number;
|
|
269
|
+
} | undefined;
|
|
270
|
+
hold?: boolean | undefined;
|
|
271
|
+
} | undefined;
|
|
272
|
+
customData?: [string, unknown][] | undefined;
|
|
273
|
+
}, {
|
|
274
|
+
type: PropertyDescriptionTypeEnum;
|
|
275
|
+
property: string;
|
|
276
|
+
keyframes: {
|
|
277
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
278
|
+
time: number;
|
|
279
|
+
handleIn: {
|
|
280
|
+
value: number;
|
|
281
|
+
time: number;
|
|
282
|
+
};
|
|
283
|
+
handleOut: {
|
|
284
|
+
value: number;
|
|
285
|
+
time: number;
|
|
286
|
+
};
|
|
287
|
+
hold?: boolean | undefined;
|
|
288
|
+
}[];
|
|
289
|
+
defaults?: {
|
|
290
|
+
handleIn?: {
|
|
291
|
+
value: number;
|
|
292
|
+
time: number;
|
|
293
|
+
} | undefined;
|
|
294
|
+
handleOut?: {
|
|
295
|
+
value: number;
|
|
296
|
+
time: number;
|
|
297
|
+
} | undefined;
|
|
298
|
+
hold?: boolean | undefined;
|
|
299
|
+
} | undefined;
|
|
300
|
+
customData?: [string, unknown][] | undefined;
|
|
301
|
+
}>;
|
|
302
|
+
export declare const PropertyAnimatorSchema: z.ZodObject<{
|
|
303
|
+
tracks: z.ZodArray<z.ZodObject<{
|
|
304
|
+
property: z.ZodString;
|
|
305
|
+
type: z.ZodNativeEnum<typeof PropertyDescriptionTypeEnum>;
|
|
306
|
+
keyframes: z.ZodArray<z.ZodObject<{
|
|
307
|
+
time: z.ZodNumber;
|
|
308
|
+
value: z.ZodUnion<[z.ZodNumber, z.ZodArray<z.ZodNumber, "many">, z.ZodString, z.ZodBoolean]>;
|
|
309
|
+
handleIn: z.ZodObject<{
|
|
310
|
+
time: z.ZodNumber;
|
|
311
|
+
value: z.ZodNumber;
|
|
312
|
+
}, "strip", z.ZodTypeAny, {
|
|
313
|
+
value: number;
|
|
314
|
+
time: number;
|
|
315
|
+
}, {
|
|
316
|
+
value: number;
|
|
317
|
+
time: number;
|
|
318
|
+
}>;
|
|
319
|
+
handleOut: z.ZodObject<{
|
|
320
|
+
time: z.ZodNumber;
|
|
321
|
+
value: z.ZodNumber;
|
|
322
|
+
}, "strip", z.ZodTypeAny, {
|
|
323
|
+
value: number;
|
|
324
|
+
time: number;
|
|
325
|
+
}, {
|
|
326
|
+
value: number;
|
|
327
|
+
time: number;
|
|
328
|
+
}>;
|
|
329
|
+
hold: z.ZodOptional<z.ZodBoolean>;
|
|
330
|
+
}, "strip", z.ZodTypeAny, {
|
|
331
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
332
|
+
time: number;
|
|
333
|
+
handleIn: {
|
|
334
|
+
value: number;
|
|
335
|
+
time: number;
|
|
336
|
+
};
|
|
337
|
+
handleOut: {
|
|
338
|
+
value: number;
|
|
339
|
+
time: number;
|
|
340
|
+
};
|
|
341
|
+
hold?: boolean | undefined;
|
|
342
|
+
}, {
|
|
343
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
344
|
+
time: number;
|
|
345
|
+
handleIn: {
|
|
346
|
+
value: number;
|
|
347
|
+
time: number;
|
|
348
|
+
};
|
|
349
|
+
handleOut: {
|
|
350
|
+
value: number;
|
|
351
|
+
time: number;
|
|
352
|
+
};
|
|
353
|
+
hold?: boolean | undefined;
|
|
354
|
+
}>, "many">;
|
|
355
|
+
defaults: z.ZodOptional<z.ZodObject<{
|
|
356
|
+
handleIn: z.ZodOptional<z.ZodObject<{
|
|
357
|
+
time: z.ZodNumber;
|
|
358
|
+
value: z.ZodNumber;
|
|
359
|
+
}, "strip", z.ZodTypeAny, {
|
|
360
|
+
value: number;
|
|
361
|
+
time: number;
|
|
362
|
+
}, {
|
|
363
|
+
value: number;
|
|
364
|
+
time: number;
|
|
365
|
+
}>>;
|
|
366
|
+
handleOut: z.ZodOptional<z.ZodObject<{
|
|
367
|
+
time: z.ZodNumber;
|
|
368
|
+
value: z.ZodNumber;
|
|
369
|
+
}, "strip", z.ZodTypeAny, {
|
|
370
|
+
value: number;
|
|
371
|
+
time: number;
|
|
372
|
+
}, {
|
|
373
|
+
value: number;
|
|
374
|
+
time: number;
|
|
375
|
+
}>>;
|
|
376
|
+
hold: z.ZodOptional<z.ZodBoolean>;
|
|
377
|
+
}, "strip", z.ZodTypeAny, {
|
|
378
|
+
handleIn?: {
|
|
379
|
+
value: number;
|
|
380
|
+
time: number;
|
|
381
|
+
} | undefined;
|
|
382
|
+
handleOut?: {
|
|
383
|
+
value: number;
|
|
384
|
+
time: number;
|
|
385
|
+
} | undefined;
|
|
386
|
+
hold?: boolean | undefined;
|
|
387
|
+
}, {
|
|
388
|
+
handleIn?: {
|
|
389
|
+
value: number;
|
|
390
|
+
time: number;
|
|
391
|
+
} | undefined;
|
|
392
|
+
handleOut?: {
|
|
393
|
+
value: number;
|
|
394
|
+
time: number;
|
|
395
|
+
} | undefined;
|
|
396
|
+
hold?: boolean | undefined;
|
|
397
|
+
}>>;
|
|
398
|
+
customData: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodString, z.ZodUnknown], null>, "many">>;
|
|
399
|
+
}, "strip", z.ZodTypeAny, {
|
|
400
|
+
type: PropertyDescriptionTypeEnum;
|
|
401
|
+
property: string;
|
|
402
|
+
keyframes: {
|
|
403
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
404
|
+
time: number;
|
|
405
|
+
handleIn: {
|
|
406
|
+
value: number;
|
|
407
|
+
time: number;
|
|
408
|
+
};
|
|
409
|
+
handleOut: {
|
|
410
|
+
value: number;
|
|
411
|
+
time: number;
|
|
412
|
+
};
|
|
413
|
+
hold?: boolean | undefined;
|
|
414
|
+
}[];
|
|
415
|
+
defaults?: {
|
|
416
|
+
handleIn?: {
|
|
417
|
+
value: number;
|
|
418
|
+
time: number;
|
|
419
|
+
} | undefined;
|
|
420
|
+
handleOut?: {
|
|
421
|
+
value: number;
|
|
422
|
+
time: number;
|
|
423
|
+
} | undefined;
|
|
424
|
+
hold?: boolean | undefined;
|
|
425
|
+
} | undefined;
|
|
426
|
+
customData?: [string, unknown][] | undefined;
|
|
427
|
+
}, {
|
|
428
|
+
type: PropertyDescriptionTypeEnum;
|
|
429
|
+
property: string;
|
|
430
|
+
keyframes: {
|
|
431
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
432
|
+
time: number;
|
|
433
|
+
handleIn: {
|
|
434
|
+
value: number;
|
|
435
|
+
time: number;
|
|
436
|
+
};
|
|
437
|
+
handleOut: {
|
|
438
|
+
value: number;
|
|
439
|
+
time: number;
|
|
440
|
+
};
|
|
441
|
+
hold?: boolean | undefined;
|
|
442
|
+
}[];
|
|
443
|
+
defaults?: {
|
|
444
|
+
handleIn?: {
|
|
445
|
+
value: number;
|
|
446
|
+
time: number;
|
|
447
|
+
} | undefined;
|
|
448
|
+
handleOut?: {
|
|
449
|
+
value: number;
|
|
450
|
+
time: number;
|
|
451
|
+
} | undefined;
|
|
452
|
+
hold?: boolean | undefined;
|
|
453
|
+
} | undefined;
|
|
454
|
+
customData?: [string, unknown][] | undefined;
|
|
455
|
+
}>, "many">;
|
|
456
|
+
}, "strip", z.ZodTypeAny, {
|
|
457
|
+
tracks: {
|
|
458
|
+
type: PropertyDescriptionTypeEnum;
|
|
459
|
+
property: string;
|
|
460
|
+
keyframes: {
|
|
461
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
462
|
+
time: number;
|
|
463
|
+
handleIn: {
|
|
464
|
+
value: number;
|
|
465
|
+
time: number;
|
|
466
|
+
};
|
|
467
|
+
handleOut: {
|
|
468
|
+
value: number;
|
|
469
|
+
time: number;
|
|
470
|
+
};
|
|
471
|
+
hold?: boolean | undefined;
|
|
472
|
+
}[];
|
|
473
|
+
defaults?: {
|
|
474
|
+
handleIn?: {
|
|
475
|
+
value: number;
|
|
476
|
+
time: number;
|
|
477
|
+
} | undefined;
|
|
478
|
+
handleOut?: {
|
|
479
|
+
value: number;
|
|
480
|
+
time: number;
|
|
481
|
+
} | undefined;
|
|
482
|
+
hold?: boolean | undefined;
|
|
483
|
+
} | undefined;
|
|
484
|
+
customData?: [string, unknown][] | undefined;
|
|
485
|
+
}[];
|
|
486
|
+
}, {
|
|
487
|
+
tracks: {
|
|
488
|
+
type: PropertyDescriptionTypeEnum;
|
|
489
|
+
property: string;
|
|
490
|
+
keyframes: {
|
|
491
|
+
value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined);
|
|
492
|
+
time: number;
|
|
493
|
+
handleIn: {
|
|
494
|
+
value: number;
|
|
495
|
+
time: number;
|
|
496
|
+
};
|
|
497
|
+
handleOut: {
|
|
498
|
+
value: number;
|
|
499
|
+
time: number;
|
|
500
|
+
};
|
|
501
|
+
hold?: boolean | undefined;
|
|
502
|
+
}[];
|
|
503
|
+
defaults?: {
|
|
504
|
+
handleIn?: {
|
|
505
|
+
value: number;
|
|
506
|
+
time: number;
|
|
507
|
+
} | undefined;
|
|
508
|
+
handleOut?: {
|
|
509
|
+
value: number;
|
|
510
|
+
time: number;
|
|
511
|
+
} | undefined;
|
|
512
|
+
hold?: boolean | undefined;
|
|
513
|
+
} | undefined;
|
|
514
|
+
customData?: [string, unknown][] | undefined;
|
|
515
|
+
}[];
|
|
516
|
+
}>;
|