@remotion/studio-shared 4.0.501 → 4.0.503
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 +57 -2
- package/dist/browser-studio-operations.d.ts +6 -1
- package/dist/composition-drag-data.d.ts +1 -1
- package/dist/define-plugin-definitions.d.ts +3 -1
- package/dist/define-plugin-definitions.js +2 -1
- package/dist/effect-catalog.d.ts +1 -1
- package/dist/element-drag-data.d.ts +1 -3
- package/dist/element-drag-data.js +2 -11
- package/dist/esm/index.mjs +3696 -0
- package/dist/esm/keyframe-easing-presets.mjs +123 -0
- package/dist/esm/keyframe-interpolation-function.mjs +114 -0
- package/dist/esm/parse-spring-easing-config.mjs +92 -0
- package/dist/esm/studio-entry-points.mjs +19 -0
- package/dist/esm/studio-html.mjs +102 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +10 -10
- package/dist/optimistic-update-for-code-values.d.ts +7 -0
- package/dist/optimistic-update-for-code-values.js +30 -0
- package/dist/optimistic-update-for-effect-code-values.d.ts +8 -0
- package/dist/optimistic-update-for-effect-code-values.js +43 -0
- package/dist/package-info.d.ts +2 -2
- package/dist/package-info.js +4 -8
- package/dist/shape-drag-data.d.ts +22 -0
- package/dist/shape-drag-data.js +90 -0
- package/package.json +56 -9
package/dist/api-requests.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { AudioCodec, ChromeMode, Codec, ColorSpace, LogLevel, PixelFormat, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
1
|
+
import type { AudioCodec, BuiltInEditor, ChromeMode, Codec, ColorSpace, LogLevel, PixelFormat, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
3
2
|
import type { HardwareAccelerationOption } from '@remotion/renderer/client';
|
|
3
|
+
import type { ComponentProp, ElementDragData } from '@remotion/studio-protocol';
|
|
4
4
|
import type { _InternalTypes, CannotUpdateSequenceReason, CanUpdateEffectPropsResponse, CanUpdateSequencePropsResponseFalse, CanUpdateSequencePropsResponseTrue, CanUpdateSequencePropStatus, ExtrapolateType, InteractivitySchema, InterpolateOutputOption, JsxComponentIdentity, SequenceNodePath, SequencePropsSubscriptionKey, VideoConfigValues } from 'remotion';
|
|
5
5
|
import type { RecastCodemod, VisualControlChange } from './codemods';
|
|
6
6
|
import type { EffectClipboardParam, EffectClipboardPasteType, EffectClipboardSnapshot } from './effect-clipboard-data';
|
|
@@ -16,6 +16,7 @@ export type OpenInFileExplorerRequest = {
|
|
|
16
16
|
directory: string;
|
|
17
17
|
};
|
|
18
18
|
export type OpenInEditorRequest = {
|
|
19
|
+
editorId: EditorPickerId | null;
|
|
19
20
|
stack: SymbolicatedStackFrame;
|
|
20
21
|
};
|
|
21
22
|
export type OpenInEditorResponse = {
|
|
@@ -654,10 +655,33 @@ export type ConvertFigmaClipboardToSvgResponse = {
|
|
|
654
655
|
success: false;
|
|
655
656
|
reason: string;
|
|
656
657
|
};
|
|
658
|
+
export type ElementInstallExpectedFileState = {
|
|
659
|
+
exists: false;
|
|
660
|
+
} | {
|
|
661
|
+
exists: true;
|
|
662
|
+
sourceHash: string;
|
|
663
|
+
};
|
|
664
|
+
export type PrepareElementInstallRequest = {
|
|
665
|
+
compositionFile: string;
|
|
666
|
+
compositionId: string;
|
|
667
|
+
element: ElementDragData['element'];
|
|
668
|
+
};
|
|
669
|
+
export type PrepareElementInstallResponse = {
|
|
670
|
+
success: true;
|
|
671
|
+
plan: {
|
|
672
|
+
filePath: string;
|
|
673
|
+
expectedFileState: ElementInstallExpectedFileState;
|
|
674
|
+
};
|
|
675
|
+
} | {
|
|
676
|
+
success: false;
|
|
677
|
+
reason: string;
|
|
678
|
+
stack: string;
|
|
679
|
+
};
|
|
657
680
|
export type InsertElementRequest = {
|
|
658
681
|
compositionFile: string;
|
|
659
682
|
compositionId: string;
|
|
660
683
|
element: ElementDragData['element'];
|
|
684
|
+
expectedFileState: ElementInstallExpectedFileState | null;
|
|
661
685
|
from: number | null;
|
|
662
686
|
position: InsertableCompositionElementPosition | null;
|
|
663
687
|
overwriteExisting: boolean;
|
|
@@ -679,6 +703,12 @@ export type InsertElementResponse = {
|
|
|
679
703
|
reason: string;
|
|
680
704
|
stack: string;
|
|
681
705
|
};
|
|
706
|
+
export type ElementInstallSource = {
|
|
707
|
+
type: 'studio-protocol';
|
|
708
|
+
origin: string;
|
|
709
|
+
} | {
|
|
710
|
+
type: 'drag-and-drop';
|
|
711
|
+
};
|
|
682
712
|
export type ElementInstallRequest = {
|
|
683
713
|
id: string;
|
|
684
714
|
clientId: string;
|
|
@@ -686,7 +716,9 @@ export type ElementInstallRequest = {
|
|
|
686
716
|
compositionFile: string;
|
|
687
717
|
compositionId: string;
|
|
688
718
|
element: ElementDragData['element'];
|
|
719
|
+
from: number | null;
|
|
689
720
|
position: InsertableCompositionElementPosition | null;
|
|
721
|
+
source: ElementInstallSource;
|
|
690
722
|
};
|
|
691
723
|
export type UpdateElementInstallTargetRequest = {
|
|
692
724
|
requestId: string | null;
|
|
@@ -713,6 +745,8 @@ export type UpdateAvailableResponse = {
|
|
|
713
745
|
currentVersion: string;
|
|
714
746
|
latestVersion: string;
|
|
715
747
|
updateAvailable: boolean;
|
|
748
|
+
skillsUpdateAvailable: boolean;
|
|
749
|
+
remotionUpgradeSkillAvailable: boolean;
|
|
716
750
|
timedOut: boolean;
|
|
717
751
|
packageManager: PackageManager | 'unknown';
|
|
718
752
|
};
|
|
@@ -731,6 +765,24 @@ export type UpdatePublicLicenseResponse = {
|
|
|
731
765
|
success: false;
|
|
732
766
|
reason: string;
|
|
733
767
|
};
|
|
768
|
+
export type GetDefaultEditorInfoRequest = {};
|
|
769
|
+
export type EditorPickerId = BuiltInEditor | 'custom';
|
|
770
|
+
export type GetDefaultEditorInfoResponse = {
|
|
771
|
+
defaultEditor: EditorPickerId | null;
|
|
772
|
+
installedEditors: {
|
|
773
|
+
id: EditorPickerId;
|
|
774
|
+
name: string;
|
|
775
|
+
}[];
|
|
776
|
+
};
|
|
777
|
+
export type UpdateDefaultEditorRequest = {
|
|
778
|
+
defaultEditor: EditorPickerId | null;
|
|
779
|
+
};
|
|
780
|
+
export type UpdateDefaultEditorResponse = {
|
|
781
|
+
success: true;
|
|
782
|
+
} | {
|
|
783
|
+
success: false;
|
|
784
|
+
reason: string;
|
|
785
|
+
};
|
|
734
786
|
export type InstallPackageRequest = {
|
|
735
787
|
packageNames: string[];
|
|
736
788
|
};
|
|
@@ -799,6 +851,7 @@ export type ApiRoutes = {
|
|
|
799
851
|
'/api/insert-jsx-element': ReqAndRes<InsertJsxElementRequest, InsertJsxElementResponse>;
|
|
800
852
|
'/api/convert-figma-clipboard-to-svg': ReqAndRes<ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse>;
|
|
801
853
|
'/api/insert-element': ReqAndRes<InsertElementRequest, InsertElementResponse>;
|
|
854
|
+
'/api/prepare-element-install': ReqAndRes<PrepareElementInstallRequest, PrepareElementInstallResponse>;
|
|
802
855
|
'/api/update-element-install-target': ReqAndRes<UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse>;
|
|
803
856
|
'/api/download-remote-asset': ReqAndRes<DownloadRemoteAssetRequest, DownloadRemoteAssetResponse>;
|
|
804
857
|
'/api/update-available': ReqAndRes<UpdateAvailableRequest, UpdateAvailableResponse>;
|
|
@@ -808,6 +861,8 @@ export type ApiRoutes = {
|
|
|
808
861
|
'/api/rename-static-file': ReqAndRes<RenameStaticFileRequest, RenameStaticFileResponse>;
|
|
809
862
|
'/api/restart-studio': ReqAndRes<RestartStudioRequest, RestartStudioResponse>;
|
|
810
863
|
'/api/update-public-license': ReqAndRes<UpdatePublicLicenseRequest, UpdatePublicLicenseResponse>;
|
|
864
|
+
'/api/default-editor-info': ReqAndRes<GetDefaultEditorInfoRequest, GetDefaultEditorInfoResponse>;
|
|
865
|
+
'/api/update-default-editor': ReqAndRes<UpdateDefaultEditorRequest, UpdateDefaultEditorResponse>;
|
|
811
866
|
'/api/install-package': ReqAndRes<InstallPackageRequest, InstallPackageResponse>;
|
|
812
867
|
'/api/undo': ReqAndRes<UndoRequest, UndoResponse>;
|
|
813
868
|
'/api/redo': ReqAndRes<RedoRequest, RedoResponse>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CompositionComponentInfoRequest, CompositionComponentInfoResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, FindInFileRequest, FindInFileResponse, InsertJsxElementRequest, InsertJsxElementResponse, RedoResponse, RenameStaticFileRequest, RenameStaticFileResponse, UndoResponse } from './api-requests';
|
|
1
|
+
import type { CompositionComponentInfoRequest, CompositionComponentInfoResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, FindInFileRequest, FindInFileResponse, InsertJsxElementRequest, InsertJsxElementResponse, RedoResponse, RenameStaticFileRequest, RenameStaticFileResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromSequencePropsRequest } from './api-requests';
|
|
2
2
|
import type { EventSourceEvent } from './event-source-event';
|
|
3
3
|
export type WriteStaticFileRequest = {
|
|
4
4
|
contents: string | ArrayBuffer;
|
|
@@ -17,8 +17,13 @@ export type BrowserStudioOperations = {
|
|
|
17
17
|
insertSolid: (request: InsertJsxElementRequest) => Promise<InsertJsxElementResponse>;
|
|
18
18
|
redo: () => Promise<RedoResponse>;
|
|
19
19
|
renameStaticFile: (request: RenameStaticFileRequest) => Promise<RenameStaticFileResponse>;
|
|
20
|
+
saveSequenceProps: (request: SaveSequencePropsRequest) => Promise<SaveSequencePropsResponse>;
|
|
21
|
+
subscribeToDefaultProps: (request: SubscribeToDefaultPropsRequest) => Promise<SubscribeToDefaultPropsResponse>;
|
|
22
|
+
subscribeToSequenceProps: (request: SubscribeToSequencePropsRequest) => Promise<SubscribeToSequencePropsResponse>;
|
|
20
23
|
subscribeToEvent: (listener: (event: EventSourceEvent) => void) => () => void;
|
|
21
24
|
undo: () => Promise<UndoResponse>;
|
|
25
|
+
unsubscribeFromDefaultProps: (request: UnsubscribeFromDefaultPropsRequest) => Promise<undefined>;
|
|
26
|
+
unsubscribeFromSequenceProps: (request: UnsubscribeFromSequencePropsRequest) => Promise<undefined>;
|
|
22
27
|
writeStaticFile: (request: WriteStaticFileRequest) => Promise<void>;
|
|
23
28
|
};
|
|
24
29
|
declare global {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { CompositionDragData } from '@remotion/
|
|
1
|
+
import type { CompositionDragData } from '@remotion/studio-protocol';
|
|
2
2
|
import type { SymbolicatedStackFrame } from './stack-types';
|
|
3
3
|
export declare const compositionDragDataToSymbolicatedStack: (dragData: CompositionDragData) => SymbolicatedStackFrame | null;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
export declare const getDefinePluginDefinitions: ({ maxTimelineTracks, askAIEnabled, interactivityEnabled, keyboardShortcutsEnabled, bufferStateDelayInMilliseconds, }: {
|
|
1
|
+
export declare const getDefinePluginDefinitions: ({ maxTimelineTracks, askAIEnabled, interactivityEnabled, keyboardShortcutsEnabled, bufferStateDelayInMilliseconds, experimentalClientSideRenderingEnabled, }: {
|
|
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;
|
|
7
8
|
}) => {
|
|
8
9
|
'process.env.MAX_TIMELINE_TRACKS': number | null;
|
|
9
10
|
'process.env.ASK_AI_ENABLED': boolean;
|
|
10
11
|
'process.env.INTERACTIVITY_ENABLED': boolean;
|
|
11
12
|
'process.env.KEYBOARD_SHORTCUTS_ENABLED': boolean;
|
|
12
13
|
'process.env.BUFFER_STATE_DELAY_IN_MILLISECONDS': number | null;
|
|
14
|
+
'process.env.EXPERIMENTAL_CLIENT_SIDE_RENDERING_ENABLED': boolean;
|
|
13
15
|
};
|
|
@@ -1,11 +1,12 @@
|
|
|
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, experimentalClientSideRenderingEnabled, }) => ({
|
|
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,
|
|
10
11
|
});
|
|
11
12
|
exports.getDefinePluginDefinitions = getDefinePluginDefinitions;
|
package/dist/effect-catalog.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export type ElementDragData = {
|
|
|
4
4
|
type: 'remotion-element';
|
|
5
5
|
version: 1;
|
|
6
6
|
element: {
|
|
7
|
-
dependencies: string[];
|
|
8
7
|
slug: string;
|
|
9
8
|
displayName: string;
|
|
10
9
|
sourceCode: string;
|
|
@@ -14,8 +13,7 @@ export type ElementDragData = {
|
|
|
14
13
|
export declare const isLowercaseElementFileName: (value: unknown) => value is string;
|
|
15
14
|
export declare const makeElementFileNameFromSlug: (slug: string) => string | null;
|
|
16
15
|
export declare const getElementComponentNameFromSourceCode: (sourceCode: string) => string | null;
|
|
17
|
-
export declare const makeElementDragData: ({
|
|
18
|
-
dependencies: string[];
|
|
16
|
+
export declare const makeElementDragData: ({ dimensions, displayName, slug, sourceCode, }: {
|
|
19
17
|
slug: string;
|
|
20
18
|
displayName: string;
|
|
21
19
|
sourceCode: string;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseElementDragData = exports.makeElementDragData = exports.getElementComponentNameFromSourceCode = exports.makeElementFileNameFromSlug = exports.isLowercaseElementFileName = exports.ELEMENT_DRAG_MIME_TYPE = void 0;
|
|
4
4
|
const component_drag_data_1 = require("./component-drag-data");
|
|
5
|
-
const package_name_1 = require("./package-name");
|
|
6
5
|
const drag_mime_types_1 = require("./drag-mime-types");
|
|
7
6
|
Object.defineProperty(exports, "ELEMENT_DRAG_MIME_TYPE", { enumerable: true, get: function () { return drag_mime_types_1.ELEMENT_DRAG_MIME_TYPE; } });
|
|
8
7
|
const isRecord = (value) => {
|
|
@@ -49,11 +48,6 @@ const isSourceCode = (value) => {
|
|
|
49
48
|
value.trim().length > 0 &&
|
|
50
49
|
value.length < 200000);
|
|
51
50
|
};
|
|
52
|
-
const isDependencies = (value) => {
|
|
53
|
-
return (Array.isArray(value) &&
|
|
54
|
-
value.length <= 100 &&
|
|
55
|
-
value.every((dependency) => typeof dependency === 'string' && (0, package_name_1.isValidPackageName)(dependency)));
|
|
56
|
-
};
|
|
57
51
|
const isDimensions = (value) => {
|
|
58
52
|
if (!isRecord(value)) {
|
|
59
53
|
return false;
|
|
@@ -75,12 +69,11 @@ const getElementComponentNameFromSourceCode = (sourceCode) => {
|
|
|
75
69
|
return (0, component_drag_data_1.isComponentIdentifier)(componentName) ? componentName : null;
|
|
76
70
|
};
|
|
77
71
|
exports.getElementComponentNameFromSourceCode = getElementComponentNameFromSourceCode;
|
|
78
|
-
const makeElementDragData = ({
|
|
72
|
+
const makeElementDragData = ({ dimensions, displayName, slug, sourceCode, }) => {
|
|
79
73
|
return {
|
|
80
74
|
type: 'remotion-element',
|
|
81
75
|
version: 1,
|
|
82
76
|
element: {
|
|
83
|
-
dependencies: Array.from(new Set(dependencies)),
|
|
84
77
|
slug,
|
|
85
78
|
displayName,
|
|
86
79
|
sourceCode,
|
|
@@ -101,20 +94,18 @@ const parseElementDragData = (value) => {
|
|
|
101
94
|
if (!isRecord(parsed.element)) {
|
|
102
95
|
return null;
|
|
103
96
|
}
|
|
104
|
-
const {
|
|
97
|
+
const { dimensions, displayName, slug, sourceCode } = parsed.element;
|
|
105
98
|
if (!isSlug(slug) ||
|
|
106
99
|
!isDisplayName(displayName) ||
|
|
107
100
|
!isSourceCode(sourceCode) ||
|
|
108
101
|
(0, exports.getElementComponentNameFromSourceCode)(sourceCode) === null ||
|
|
109
102
|
(0, exports.makeElementFileNameFromSlug)(slug) === null ||
|
|
110
|
-
(dependencies !== undefined && !isDependencies(dependencies)) ||
|
|
111
103
|
(dimensions !== undefined &&
|
|
112
104
|
dimensions !== null &&
|
|
113
105
|
!isDimensions(dimensions))) {
|
|
114
106
|
return null;
|
|
115
107
|
}
|
|
116
108
|
return (0, exports.makeElementDragData)({
|
|
117
|
-
dependencies: dependencies !== null && dependencies !== void 0 ? dependencies : [],
|
|
118
109
|
slug,
|
|
119
110
|
displayName,
|
|
120
111
|
sourceCode,
|