@remotion/studio-shared 4.0.490 → 4.0.491
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/api-requests.d.ts +4 -1
- package/dist/define-plugin-definitions.d.ts +1 -3
- package/dist/define-plugin-definitions.js +1 -2
- package/dist/effect-catalog.js +22 -0
- package/dist/package-info.d.ts +1 -1
- package/dist/package-info.js +9 -1
- package/dist/render-defaults.d.ts +0 -1
- package/dist/schema-field-info.js +0 -3
- package/dist/shape-drag-data.d.ts +22 -0
- package/dist/shape-drag-data.js +90 -0
- package/dist/studio-runtime-config.d.ts +0 -1
- package/package.json +4 -4
package/dist/api-requests.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AudioCodec, ChromeMode, Codec, ColorSpace, LogLevel, PixelFormat, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { HardwareAccelerationOption } from '@remotion/renderer/client';
|
|
3
|
-
import type { _InternalTypes, CannotUpdateSequenceReason, CanUpdateEffectPropsResponse, CanUpdateSequencePropsResponseFalse, CanUpdateSequencePropsResponseTrue, CanUpdateSequencePropStatus, ExtrapolateType, InteractivitySchema, InterpolateOutputOption, JsxComponentIdentity, SequenceNodePath, SequencePropsSubscriptionKey } from 'remotion';
|
|
3
|
+
import type { _InternalTypes, CannotUpdateSequenceReason, CanUpdateEffectPropsResponse, CanUpdateSequencePropsResponseFalse, CanUpdateSequencePropsResponseTrue, CanUpdateSequencePropStatus, ExtrapolateType, InteractivitySchema, InterpolateOutputOption, JsxComponentIdentity, SequenceNodePath, SequencePropsSubscriptionKey, VideoConfigValues } from 'remotion';
|
|
4
4
|
import type { RecastCodemod, VisualControlChange } from './codemods';
|
|
5
5
|
import type { ComponentProp } from './component-drag-data';
|
|
6
6
|
import type { EffectClipboardParam, EffectClipboardPasteType, EffectClipboardSnapshot } from './effect-clipboard-data';
|
|
@@ -206,6 +206,7 @@ export type SubscribeToSequencePropsRequest = {
|
|
|
206
206
|
keys: string[];
|
|
207
207
|
effects: string[][];
|
|
208
208
|
clientId: string;
|
|
209
|
+
videoConfigValues: VideoConfigValues;
|
|
209
210
|
};
|
|
210
211
|
export type SubscribeToSequencePropsResponse = {
|
|
211
212
|
success: true;
|
|
@@ -479,6 +480,7 @@ export type PasteEffectsRequest = {
|
|
|
479
480
|
type: EffectClipboardPasteType;
|
|
480
481
|
effects: EffectClipboardSnapshot[];
|
|
481
482
|
clientId: string;
|
|
483
|
+
insertAtIndices: number[] | null;
|
|
482
484
|
};
|
|
483
485
|
export type PasteEffectsResponse = {
|
|
484
486
|
success: true;
|
|
@@ -602,6 +604,7 @@ export type UpdateElementInstallTargetRequest = {
|
|
|
602
604
|
canInstall: boolean;
|
|
603
605
|
lastFocusedAt: number | null;
|
|
604
606
|
readOnly: boolean;
|
|
607
|
+
studioUrl: string;
|
|
605
608
|
};
|
|
606
609
|
export type UpdateElementInstallTargetResponse = {};
|
|
607
610
|
export type DownloadRemoteAssetRequest = {
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
export declare const getDefinePluginDefinitions: ({ maxTimelineTracks, askAIEnabled, interactivityEnabled, keyboardShortcutsEnabled, bufferStateDelayInMilliseconds,
|
|
1
|
+
export declare const getDefinePluginDefinitions: ({ maxTimelineTracks, askAIEnabled, interactivityEnabled, keyboardShortcutsEnabled, bufferStateDelayInMilliseconds, }: {
|
|
2
2
|
maxTimelineTracks: number | null;
|
|
3
3
|
askAIEnabled: boolean;
|
|
4
4
|
interactivityEnabled: boolean;
|
|
5
5
|
keyboardShortcutsEnabled: boolean;
|
|
6
6
|
bufferStateDelayInMilliseconds: number | null;
|
|
7
|
-
experimentalClientSideRenderingEnabled: boolean;
|
|
8
7
|
}) => {
|
|
9
8
|
'process.env.MAX_TIMELINE_TRACKS': number | null;
|
|
10
9
|
'process.env.ASK_AI_ENABLED': boolean;
|
|
11
10
|
'process.env.INTERACTIVITY_ENABLED': boolean;
|
|
12
11
|
'process.env.KEYBOARD_SHORTCUTS_ENABLED': boolean;
|
|
13
12
|
'process.env.BUFFER_STATE_DELAY_IN_MILLISECONDS': number | null;
|
|
14
|
-
'process.env.EXPERIMENTAL_CLIENT_SIDE_RENDERING_ENABLED': boolean;
|
|
15
13
|
};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getDefinePluginDefinitions = void 0;
|
|
4
|
-
const getDefinePluginDefinitions = ({ maxTimelineTracks, askAIEnabled, interactivityEnabled, keyboardShortcutsEnabled, bufferStateDelayInMilliseconds,
|
|
4
|
+
const getDefinePluginDefinitions = ({ maxTimelineTracks, askAIEnabled, interactivityEnabled, keyboardShortcutsEnabled, bufferStateDelayInMilliseconds, }) => ({
|
|
5
5
|
'process.env.MAX_TIMELINE_TRACKS': maxTimelineTracks,
|
|
6
6
|
'process.env.ASK_AI_ENABLED': askAIEnabled,
|
|
7
7
|
'process.env.INTERACTIVITY_ENABLED': interactivityEnabled,
|
|
8
8
|
'process.env.KEYBOARD_SHORTCUTS_ENABLED': keyboardShortcutsEnabled,
|
|
9
9
|
'process.env.BUFFER_STATE_DELAY_IN_MILLISECONDS': bufferStateDelayInMilliseconds,
|
|
10
|
-
'process.env.EXPERIMENTAL_CLIENT_SIDE_RENDERING_ENABLED': experimentalClientSideRenderingEnabled,
|
|
11
10
|
});
|
|
12
11
|
exports.getDefinePluginDefinitions = getDefinePluginDefinitions;
|
package/dist/effect-catalog.js
CHANGED
|
@@ -400,6 +400,17 @@ exports.EFFECT_CATALOG = [
|
|
|
400
400
|
config: {},
|
|
401
401
|
},
|
|
402
402
|
},
|
|
403
|
+
{
|
|
404
|
+
id: 'effects-skew',
|
|
405
|
+
category: 'Distort',
|
|
406
|
+
label: 'skew()',
|
|
407
|
+
description: 'Skew the source on two axes',
|
|
408
|
+
effect: {
|
|
409
|
+
name: 'skew',
|
|
410
|
+
importPath: '@remotion/effects/skew',
|
|
411
|
+
config: {},
|
|
412
|
+
},
|
|
413
|
+
},
|
|
403
414
|
{
|
|
404
415
|
id: 'effects-burlap',
|
|
405
416
|
category: 'Stylize',
|
|
@@ -630,6 +641,17 @@ exports.EFFECT_CATALOG = [
|
|
|
630
641
|
config: {},
|
|
631
642
|
},
|
|
632
643
|
},
|
|
644
|
+
{
|
|
645
|
+
id: 'effects-liquid-contours',
|
|
646
|
+
category: 'Generate',
|
|
647
|
+
label: 'liquidContours()',
|
|
648
|
+
description: 'Two-color liquid contour background',
|
|
649
|
+
effect: {
|
|
650
|
+
name: 'liquidContours',
|
|
651
|
+
importPath: '@remotion/effects/liquid-contours',
|
|
652
|
+
config: {},
|
|
653
|
+
},
|
|
654
|
+
},
|
|
633
655
|
{
|
|
634
656
|
id: 'effects-checkerboard',
|
|
635
657
|
category: 'Generate',
|
package/dist/package-info.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const packages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "canvas-capture", "cli", "cloudrun", "codex-plugin", "compositor-darwin-arm64", "compositor-darwin-x64", "compositor-linux-arm64-gnu", "compositor-linux-arm64-musl", "compositor-linux-x64-gnu", "compositor-linux-x64-musl", "compositor-win32-x64-msvc", "core", "create-video", "discord-poster", "docusaurus-plugin", "docs", "enable-scss", "eslint-config", "eslint-config-flat", "eslint-config-internal", "eslint-plugin", "example-without-zod", "example", "fonts", "gif", "google-fonts", "install-whisper-cpp", "it-tests", "react18-tests", "lambda-go-example", "lambda-go", "lambda-php", "lambda-ruby", "lambda-python", "lambda", "lambda-client", "layout-utils", "rounded-text-box", "licensing", "lottie", "mcp", "media-utils", "motion-blur", "noise", "paths", "player-a11y", "player-example", "player", "preload", "renderer", "rive", "shapes", "skia", "promo-pages", "streaming", "serverless", "serverless-client", "skills", "skills-evals", "studio-server", "studio-shared", "studio", "tailwind", "tailwind-v4", "timeline-utils", "test-utils", "three", "transitions", "media-parser", "zod-types", "zod-types-v3", "webcodecs", "convert", "captions", "openai-whisper", "elevenlabs", "compositor", "example-videos", "whisper-web", "media", "remotion-media", "web-renderer", "design", "light-leaks", "rough-notation", "starburst", "vercel", "sfx", "effects"];
|
|
1
|
+
export declare const packages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "canvas-capture", "claude-code-plugin", "cli", "cloudrun", "codex-plugin", "kimi-code-plugin", "compositor-darwin-arm64", "compositor-darwin-x64", "compositor-linux-arm64-gnu", "compositor-linux-arm64-musl", "compositor-linux-x64-gnu", "compositor-linux-x64-musl", "compositor-win32-x64-msvc", "core", "create-video", "discord-poster", "docusaurus-plugin", "docs", "enable-scss", "eslint-config", "eslint-config-flat", "eslint-config-internal", "eslint-plugin", "example-without-zod", "example", "fonts", "gif", "google-fonts", "install-whisper-cpp", "it-tests", "react18-tests", "lambda-go-example", "lambda-go", "lambda-php", "lambda-ruby", "lambda-python", "lambda", "lambda-client", "layout-utils", "rounded-text-box", "licensing", "lottie", "mcp", "media-utils", "motion-blur", "noise", "paths", "player-a11y", "player-example", "player", "preload", "renderer", "rive", "shapes", "skia", "promo-pages", "streaming", "serverless", "serverless-client", "skills", "skills-evals", "studio-server", "studio-shared", "studio", "tailwind", "tailwind-v4", "timeline-utils", "test-utils", "three", "transitions", "media-parser", "zod-types", "zod-types-v3", "webcodecs", "convert", "captions", "openai-whisper", "elevenlabs", "compositor", "example-videos", "whisper-web", "media", "remotion-media", "web-renderer", "design", "light-leaks", "rough-notation", "starburst", "vercel", "sfx", "effects"];
|
|
2
2
|
export type Pkgs = (typeof packages)[number];
|
|
3
3
|
export type ExtraPackage = {
|
|
4
4
|
name: string;
|
package/dist/package-info.js
CHANGED
|
@@ -12,9 +12,11 @@ exports.packages = [
|
|
|
12
12
|
'bundler',
|
|
13
13
|
'browser-studio',
|
|
14
14
|
'canvas-capture',
|
|
15
|
+
'claude-code-plugin',
|
|
15
16
|
'cli',
|
|
16
17
|
'cloudrun',
|
|
17
18
|
'codex-plugin',
|
|
19
|
+
'kimi-code-plugin',
|
|
18
20
|
'compositor-darwin-arm64',
|
|
19
21
|
'compositor-darwin-x64',
|
|
20
22
|
'compositor-linux-arm64-gnu',
|
|
@@ -131,7 +133,9 @@ exports.descriptions = {
|
|
|
131
133
|
compositor: 'Rust binary for Remotion',
|
|
132
134
|
player: 'React component for embedding a Remotion preview into your app',
|
|
133
135
|
cloudrun: 'Render Remotion videos on Google Cloud Run',
|
|
136
|
+
'claude-code-plugin': null,
|
|
134
137
|
'codex-plugin': null,
|
|
138
|
+
'kimi-code-plugin': null,
|
|
135
139
|
renderer: 'Render Remotion videos using Node.js or Bun',
|
|
136
140
|
cli: 'Control Remotion features using the `npx remotion` command',
|
|
137
141
|
core: 'Make videos programmatically',
|
|
@@ -217,7 +221,7 @@ exports.descriptions = {
|
|
|
217
221
|
'serverless-client': null,
|
|
218
222
|
media: 'Experimental WebCodecs-based media tags',
|
|
219
223
|
'remotion-media': null,
|
|
220
|
-
'web-renderer': 'Render videos in the browser
|
|
224
|
+
'web-renderer': 'Render videos in the browser',
|
|
221
225
|
design: 'Design system',
|
|
222
226
|
'light-leaks': 'Light leak effects for Remotion',
|
|
223
227
|
'rough-notation': 'Rough annotation primitives for Remotion',
|
|
@@ -240,7 +244,9 @@ exports.installableMap = {
|
|
|
240
244
|
'canvas-capture': false,
|
|
241
245
|
cli: false,
|
|
242
246
|
cloudrun: true,
|
|
247
|
+
'claude-code-plugin': false,
|
|
243
248
|
'codex-plugin': false,
|
|
249
|
+
'kimi-code-plugin': false,
|
|
244
250
|
'lambda-client': false,
|
|
245
251
|
'serverless-client': false,
|
|
246
252
|
'compositor-darwin-arm64': false,
|
|
@@ -330,7 +336,9 @@ exports.installableMap = {
|
|
|
330
336
|
exports.apiDocs = {
|
|
331
337
|
player: 'https://www.remotion.dev/docs/player',
|
|
332
338
|
cloudrun: 'https://www.remotion.dev/docs/cloudrun',
|
|
339
|
+
'claude-code-plugin': null,
|
|
333
340
|
'codex-plugin': null,
|
|
341
|
+
'kimi-code-plugin': null,
|
|
334
342
|
renderer: 'https://www.remotion.dev/docs/renderer',
|
|
335
343
|
cli: 'https://www.remotion.dev/docs/cli',
|
|
336
344
|
core: 'https://www.remotion.dev/docs/remotion',
|
|
@@ -84,9 +84,6 @@ const getSchemaFieldRowHeight = ({ fieldSchema, value, }) => {
|
|
|
84
84
|
value,
|
|
85
85
|
}) * exports.SCHEMA_FIELD_ROW_HEIGHT);
|
|
86
86
|
}
|
|
87
|
-
if (fieldSchema.type === 'text-content') {
|
|
88
|
-
return exports.SCHEMA_FIELD_ROW_HEIGHT * 2;
|
|
89
|
-
}
|
|
90
87
|
return exports.SCHEMA_FIELD_ROW_HEIGHT;
|
|
91
88
|
};
|
|
92
89
|
const getEffectFieldValue = ({ key, dragOverrides, effectStatus, }) => {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const SHAPE_DRAG_MIME_TYPE = "application/vnd.remotion.shape+json";
|
|
2
|
+
export declare const shapeNames: readonly ["Arrow", "Circle", "Ellipse", "Heart", "Pie", "Polygon", "Rect", "Star", "Triangle"];
|
|
3
|
+
export type ShapeName = (typeof shapeNames)[number];
|
|
4
|
+
export type ShapeAttribute = {
|
|
5
|
+
name: string;
|
|
6
|
+
value: string | number | boolean;
|
|
7
|
+
};
|
|
8
|
+
export type ShapeDragData = {
|
|
9
|
+
type: 'remotion-shape';
|
|
10
|
+
version: 1;
|
|
11
|
+
shape: ShapeName;
|
|
12
|
+
attributes: ShapeAttribute[];
|
|
13
|
+
};
|
|
14
|
+
export declare const isShapeName: (value: unknown) => value is "Arrow" | "Circle" | "Ellipse" | "Heart" | "Pie" | "Polygon" | "Rect" | "Star" | "Triangle";
|
|
15
|
+
export declare const isShapeAttributeName: (value: unknown) => value is string;
|
|
16
|
+
export declare const isShapeAttribute: (value: unknown) => value is ShapeAttribute;
|
|
17
|
+
export declare const areShapeAttributes: (value: unknown) => value is ShapeAttribute[];
|
|
18
|
+
export declare const makeShapeDragData: ({ attributes, shape, }: {
|
|
19
|
+
attributes: ShapeAttribute[];
|
|
20
|
+
shape: "Arrow" | "Circle" | "Ellipse" | "Heart" | "Pie" | "Polygon" | "Rect" | "Star" | "Triangle";
|
|
21
|
+
}) => ShapeDragData;
|
|
22
|
+
export declare const parseShapeDragData: (value: string) => ShapeDragData | null;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseShapeDragData = exports.makeShapeDragData = exports.areShapeAttributes = exports.isShapeAttribute = exports.isShapeAttributeName = exports.isShapeName = exports.shapeNames = exports.SHAPE_DRAG_MIME_TYPE = void 0;
|
|
4
|
+
exports.SHAPE_DRAG_MIME_TYPE = 'application/vnd.remotion.shape+json';
|
|
5
|
+
exports.shapeNames = [
|
|
6
|
+
'Arrow',
|
|
7
|
+
'Circle',
|
|
8
|
+
'Ellipse',
|
|
9
|
+
'Heart',
|
|
10
|
+
'Pie',
|
|
11
|
+
'Polygon',
|
|
12
|
+
'Rect',
|
|
13
|
+
'Star',
|
|
14
|
+
'Triangle',
|
|
15
|
+
];
|
|
16
|
+
const isRecord = (value) => {
|
|
17
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
18
|
+
};
|
|
19
|
+
const isShapeName = (value) => {
|
|
20
|
+
return typeof value === 'string' && exports.shapeNames.includes(value);
|
|
21
|
+
};
|
|
22
|
+
exports.isShapeName = isShapeName;
|
|
23
|
+
const isShapeAttributeName = (value) => {
|
|
24
|
+
return (typeof value === 'string' &&
|
|
25
|
+
value !== 'style' &&
|
|
26
|
+
/^[A-Za-z_$][A-Za-z0-9_$]*$/.test(value));
|
|
27
|
+
};
|
|
28
|
+
exports.isShapeAttributeName = isShapeAttributeName;
|
|
29
|
+
const isShapeAttribute = (value) => {
|
|
30
|
+
if (!isRecord(value)) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
if (!(0, exports.isShapeAttributeName)(value.name)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
return (typeof value.value === 'string' ||
|
|
37
|
+
typeof value.value === 'boolean' ||
|
|
38
|
+
(typeof value.value === 'number' && Number.isFinite(value.value)));
|
|
39
|
+
};
|
|
40
|
+
exports.isShapeAttribute = isShapeAttribute;
|
|
41
|
+
const areShapeAttributes = (value) => {
|
|
42
|
+
if (!Array.isArray(value)) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
const seen = new Set();
|
|
46
|
+
for (const attribute of value) {
|
|
47
|
+
if (!(0, exports.isShapeAttribute)(attribute) || seen.has(attribute.name)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
seen.add(attribute.name);
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
};
|
|
54
|
+
exports.areShapeAttributes = areShapeAttributes;
|
|
55
|
+
const makeShapeDragData = ({ attributes, shape, }) => {
|
|
56
|
+
return {
|
|
57
|
+
type: 'remotion-shape',
|
|
58
|
+
version: 1,
|
|
59
|
+
shape,
|
|
60
|
+
attributes,
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
exports.makeShapeDragData = makeShapeDragData;
|
|
64
|
+
const parseShapeDragData = (value) => {
|
|
65
|
+
try {
|
|
66
|
+
const parsed = JSON.parse(value);
|
|
67
|
+
if (!isRecord(parsed)) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
if (parsed.type !== 'remotion-shape' || parsed.version !== 1) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
if (!(0, exports.isShapeName)(parsed.shape)) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
if (!(0, exports.areShapeAttributes)(parsed.attributes)) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
type: 'remotion-shape',
|
|
81
|
+
version: 1,
|
|
82
|
+
shape: parsed.shape,
|
|
83
|
+
attributes: parsed.attributes,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
catch (_a) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
exports.parseShapeDragData = parseShapeDragData;
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio-shared"
|
|
4
4
|
},
|
|
5
5
|
"name": "@remotion/studio-shared",
|
|
6
|
-
"version": "4.0.
|
|
6
|
+
"version": "4.0.491",
|
|
7
7
|
"description": "Internal package for shared objects between the Studio backend and frontend",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"scripts": {
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"remotion": "4.0.
|
|
23
|
+
"remotion": "4.0.491"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@remotion/renderer": "4.0.
|
|
27
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
26
|
+
"@remotion/renderer": "4.0.491",
|
|
27
|
+
"@remotion/eslint-config-internal": "4.0.491",
|
|
28
28
|
"eslint": "9.19.0",
|
|
29
29
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
30
30
|
},
|