@remotion/studio-shared 4.0.513 → 4.0.515
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 +22 -1
- package/dist/browser-studio-operations.d.ts +63 -1
- package/dist/config-method-lifecycles.d.ts +1 -0
- package/dist/config-method-lifecycles.js +1 -0
- package/dist/define-plugin-definitions.d.ts +3 -1
- package/dist/define-plugin-definitions.js +2 -1
- package/dist/effect-catalog.js +14 -0
- package/dist/element-drag-data.d.ts +1 -3
- package/dist/element-drag-data.js +2 -11
- package/dist/esm/index.mjs +30 -4
- package/dist/esm/studio-html.mjs +2 -1
- package/dist/index.d.ts +3 -3
- 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 +13 -3
- package/dist/render-defaults.d.ts +10 -0
- package/dist/shape-drag-data.d.ts +22 -0
- package/dist/shape-drag-data.js +90 -0
- package/dist/studio-html.d.ts +2 -1
- package/dist/studio-html.js +2 -2
- package/dist/studio-runtime-config.d.ts +14 -1
- package/package.json +5 -5
package/dist/api-requests.d.ts
CHANGED
|
@@ -637,6 +637,18 @@ export type SplitJsxSequenceResponse = {
|
|
|
637
637
|
reason: string;
|
|
638
638
|
stack: string;
|
|
639
639
|
};
|
|
640
|
+
export type SplitVideoFromAudioRequest = {
|
|
641
|
+
fileName: string;
|
|
642
|
+
nodePath: SequenceNodePath;
|
|
643
|
+
};
|
|
644
|
+
export type SplitVideoFromAudioResponse = {
|
|
645
|
+
success: true;
|
|
646
|
+
nodePathMutation: SequenceNodePathMutation;
|
|
647
|
+
} | {
|
|
648
|
+
success: false;
|
|
649
|
+
reason: string;
|
|
650
|
+
stack: string;
|
|
651
|
+
};
|
|
640
652
|
export type InsertableCompositionElement = {
|
|
641
653
|
type: 'solid';
|
|
642
654
|
width: number;
|
|
@@ -755,6 +767,9 @@ export type InsertElementResponse = {
|
|
|
755
767
|
export type ElementInstallSource = {
|
|
756
768
|
type: 'studio-protocol';
|
|
757
769
|
origin: string;
|
|
770
|
+
} | {
|
|
771
|
+
type: 'browser-studio-link';
|
|
772
|
+
origin: string | null;
|
|
758
773
|
} | {
|
|
759
774
|
type: 'drag-and-drop';
|
|
760
775
|
};
|
|
@@ -795,10 +810,14 @@ export type UpdateAvailableResponse = {
|
|
|
795
810
|
latestVersion: string;
|
|
796
811
|
updateAvailable: boolean;
|
|
797
812
|
skillsUpdateAvailable: boolean;
|
|
798
|
-
remotionUpgradeSkillAvailable: boolean;
|
|
799
813
|
timedOut: boolean;
|
|
800
814
|
packageManager: PackageManager | 'unknown';
|
|
801
815
|
};
|
|
816
|
+
export type GetRemotionSkillsInfoRequest = {};
|
|
817
|
+
export type GetRemotionSkillsInfoResponse = {
|
|
818
|
+
remotionUpgradeSkillAvailable: boolean;
|
|
819
|
+
remotionInteractivitySkillAvailable: boolean;
|
|
820
|
+
};
|
|
802
821
|
export type ProjectInfoRequest = {};
|
|
803
822
|
export type ProjectInfoResponse = {
|
|
804
823
|
projectInfo: ProjectInfo;
|
|
@@ -928,6 +947,7 @@ export type ApiRoutes = {
|
|
|
928
947
|
'/api/delete-jsx-node': ReqAndRes<DeleteJsxNodeRequest, DeleteJsxNodeResponse>;
|
|
929
948
|
'/api/duplicate-jsx-node': ReqAndRes<DuplicateJsxNodeRequest, DuplicateJsxNodeResponse>;
|
|
930
949
|
'/api/split-jsx-sequence': ReqAndRes<SplitJsxSequenceRequest, SplitJsxSequenceResponse>;
|
|
950
|
+
'/api/split-video-from-audio': ReqAndRes<SplitVideoFromAudioRequest, SplitVideoFromAudioResponse>;
|
|
931
951
|
'/api/insert-jsx-element': ReqAndRes<InsertJsxElementRequest, InsertJsxElementResponse>;
|
|
932
952
|
'/api/convert-figma-clipboard-to-svg': ReqAndRes<ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse>;
|
|
933
953
|
'/api/insert-element': ReqAndRes<InsertElementRequest, InsertElementResponse>;
|
|
@@ -935,6 +955,7 @@ export type ApiRoutes = {
|
|
|
935
955
|
'/api/update-element-install-target': ReqAndRes<UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse>;
|
|
936
956
|
'/api/download-remote-asset': ReqAndRes<DownloadRemoteAssetRequest, DownloadRemoteAssetResponse>;
|
|
937
957
|
'/api/update-available': ReqAndRes<UpdateAvailableRequest, UpdateAvailableResponse>;
|
|
958
|
+
'/api/remotion-skills-info': ReqAndRes<GetRemotionSkillsInfoRequest, GetRemotionSkillsInfoResponse>;
|
|
938
959
|
'/api/apply-codemod': ReqAndRes<ApplyCodemodRequest, ApplyCodemodResponse>;
|
|
939
960
|
'/api/project-info': ReqAndRes<ProjectInfoRequest, ProjectInfoResponse>;
|
|
940
961
|
'/api/delete-static-file': ReqAndRes<DeleteStaticFileRequest, DeleteStaticFileResponse>;
|
|
@@ -1,29 +1,91 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ElementDragData } from '@remotion/studio-protocol';
|
|
2
|
+
import type { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApplyCodemodRequest, ApplyCodemodResponse, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, DeleteJsxNodeRequest, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteEffectRequest, DeleteEffectResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, FindInFileRequest, FindInFileResponse, DuplicateEffectRequest, DuplicateEffectResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertElementRequest, InsertElementResponse, InstallPackageRequest, MoveKeyframesRequest, MoveKeyframesResponse, PasteEffectsRequest, PasteEffectsResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, RedoResponse, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequenceRequest, ReorderSequenceResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SplitVideoFromAudioRequest, SplitVideoFromAudioResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromSequencePropsRequest, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse } from './api-requests';
|
|
3
|
+
import type { RecastCodemod } from './codemods';
|
|
2
4
|
import type { EventSourceEvent } from './event-source-event';
|
|
3
5
|
export type WriteStaticFileRequest = {
|
|
4
6
|
contents: string | ArrayBuffer;
|
|
5
7
|
filePath: string;
|
|
6
8
|
};
|
|
9
|
+
export type DuplicateCompositionRequest = {
|
|
10
|
+
codemod: Extract<RecastCodemod, {
|
|
11
|
+
type: 'duplicate-composition';
|
|
12
|
+
}>;
|
|
13
|
+
dryRun: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type DuplicateCompositionResponse = {
|
|
16
|
+
success: true;
|
|
17
|
+
diff: SimpleDiff;
|
|
18
|
+
} | {
|
|
19
|
+
success: false;
|
|
20
|
+
reason: string;
|
|
21
|
+
stack: string;
|
|
22
|
+
};
|
|
23
|
+
export type BrowserStudioKeyframeOperations = {
|
|
24
|
+
addEffectKeyframe: (request: AddEffectKeyframeRequest) => Promise<AddEffectKeyframeResponse>;
|
|
25
|
+
addKeyframes: (request: AddKeyframesRequest) => Promise<AddKeyframesResponse>;
|
|
26
|
+
addSequenceKeyframe: (request: AddSequenceKeyframeRequest) => Promise<AddSequenceKeyframeResponse>;
|
|
27
|
+
batchUpdateKeyframeSettings: (request: BatchUpdateKeyframeSettingsRequest) => Promise<BatchUpdateKeyframeSettingsResponse>;
|
|
28
|
+
deleteKeyframes: (request: DeleteKeyframesRequest) => Promise<DeleteKeyframesResponse>;
|
|
29
|
+
moveKeyframes: (request: MoveKeyframesRequest) => Promise<MoveKeyframesResponse>;
|
|
30
|
+
updateEffectKeyframeSettings: (request: UpdateEffectKeyframeSettingsRequest) => Promise<UpdateEffectKeyframeSettingsResponse>;
|
|
31
|
+
updateSequenceKeyframeSettings: (request: UpdateSequenceKeyframeSettingsRequest) => Promise<UpdateSequenceKeyframeSettingsResponse>;
|
|
32
|
+
};
|
|
33
|
+
export type BrowserStudioEffectOperations = {
|
|
34
|
+
addEffect: (request: AddEffectRequest) => Promise<AddEffectResponse>;
|
|
35
|
+
deleteEffects: (request: DeleteEffectRequest) => Promise<DeleteEffectResponse>;
|
|
36
|
+
duplicateEffects: (request: DuplicateEffectRequest) => Promise<DuplicateEffectResponse>;
|
|
37
|
+
pasteEffects: (request: PasteEffectsRequest) => Promise<PasteEffectsResponse>;
|
|
38
|
+
reorderEffect: (request: ReorderEffectRequest) => Promise<ReorderEffectResponse>;
|
|
39
|
+
saveEffectProps: (request: SaveEffectPropsRequest) => Promise<SaveEffectPropsResponse>;
|
|
40
|
+
saveMultipleEffectProps: (request: SaveMultipleEffectPropsRequest) => Promise<SaveMultipleEffectPropsResponse>;
|
|
41
|
+
};
|
|
42
|
+
export type BrowserStudioInstallPackagesResponse = {
|
|
43
|
+
success: true;
|
|
44
|
+
} | {
|
|
45
|
+
success: false;
|
|
46
|
+
reason: string;
|
|
47
|
+
stack: string;
|
|
48
|
+
};
|
|
49
|
+
export type BrowserStudioPackageInstallationOperations = {
|
|
50
|
+
installPackages: (request: InstallPackageRequest) => Promise<BrowserStudioInstallPackagesResponse>;
|
|
51
|
+
};
|
|
7
52
|
export type BrowserStudioOperations = {
|
|
53
|
+
consumeInitialElement: () => {
|
|
54
|
+
element: ElementDragData['element'];
|
|
55
|
+
sourceOrigin: string | null;
|
|
56
|
+
} | null;
|
|
57
|
+
applyCodemod: (request: ApplyCodemodRequest) => Promise<ApplyCodemodResponse>;
|
|
58
|
+
deleteJsxNode: (request: DeleteJsxNodeRequest) => Promise<DeleteJsxNodeResponse>;
|
|
8
59
|
deleteStaticFile: (request: DeleteStaticFileRequest) => Promise<DeleteStaticFileResponse>;
|
|
9
60
|
downloadProject: () => Promise<{
|
|
10
61
|
data: Uint8Array;
|
|
11
62
|
fileName: string;
|
|
12
63
|
}>;
|
|
64
|
+
duplicateComposition: (request: DuplicateCompositionRequest) => Promise<DuplicateCompositionResponse>;
|
|
65
|
+
effects: BrowserStudioEffectOperations;
|
|
13
66
|
findInFile: (request: FindInFileRequest) => Promise<FindInFileResponse>;
|
|
14
67
|
getFileSource: (fileName: string) => Promise<string | null>;
|
|
15
68
|
getCompositionFile: (compositionId: string) => string | null;
|
|
16
69
|
getCompositionComponentInfo: (request: CompositionComponentInfoRequest) => Promise<CompositionComponentInfoResponse>;
|
|
17
70
|
insertSolid: (request: InsertJsxElementRequest) => Promise<InsertJsxElementResponse>;
|
|
71
|
+
insertElement: (request: InsertElementRequest) => Promise<InsertElementResponse>;
|
|
72
|
+
insertJsxElement: (request: InsertJsxElementRequest) => Promise<InsertJsxElementResponse>;
|
|
73
|
+
keyframes: BrowserStudioKeyframeOperations;
|
|
74
|
+
packageInstallation: BrowserStudioPackageInstallationOperations;
|
|
75
|
+
prepareElementInstall: (request: PrepareElementInstallRequest) => Promise<PrepareElementInstallResponse>;
|
|
18
76
|
redo: () => Promise<RedoResponse>;
|
|
19
77
|
renameStaticFile: (request: RenameStaticFileRequest) => Promise<RenameStaticFileResponse>;
|
|
78
|
+
reorderSequence: (request: ReorderSequenceRequest) => Promise<ReorderSequenceResponse>;
|
|
20
79
|
saveSequenceProps: (request: SaveSequencePropsRequest) => Promise<SaveSequencePropsResponse>;
|
|
80
|
+
splitJsxSequence: (request: SplitJsxSequenceRequest) => Promise<SplitJsxSequenceResponse>;
|
|
81
|
+
splitVideoFromAudio: (request: SplitVideoFromAudioRequest) => Promise<SplitVideoFromAudioResponse>;
|
|
21
82
|
subscribeToDefaultProps: (request: SubscribeToDefaultPropsRequest) => Promise<SubscribeToDefaultPropsResponse>;
|
|
22
83
|
subscribeToSequenceProps: (request: SubscribeToSequencePropsRequest) => Promise<SubscribeToSequencePropsResponse>;
|
|
23
84
|
subscribeToEvent: (listener: (event: EventSourceEvent) => void) => () => void;
|
|
24
85
|
undo: () => Promise<UndoResponse>;
|
|
25
86
|
unsubscribeFromDefaultProps: (request: UnsubscribeFromDefaultPropsRequest) => Promise<undefined>;
|
|
26
87
|
unsubscribeFromSequenceProps: (request: UnsubscribeFromSequencePropsRequest) => Promise<undefined>;
|
|
88
|
+
updateDefaultProps: (request: UpdateDefaultPropsRequest) => Promise<UpdateDefaultPropsResponse>;
|
|
27
89
|
writeStaticFile: (request: WriteStaticFileRequest) => Promise<void>;
|
|
28
90
|
};
|
|
29
91
|
declare global {
|
|
@@ -38,6 +38,7 @@ export declare const configMethodLifecycles: {
|
|
|
38
38
|
readonly setDeleteAfter: "runtime";
|
|
39
39
|
readonly setDisallowParallelEncoding: "runtime";
|
|
40
40
|
readonly setDotEnvLocation: "restart";
|
|
41
|
+
readonly setEnableCancellation: "runtime";
|
|
41
42
|
readonly setEnableCrossSiteIsolation: "restart";
|
|
42
43
|
readonly setEnableFolderExpiry: "runtime";
|
|
43
44
|
readonly setEncodingBufferSize: "runtime";
|
|
@@ -41,6 +41,7 @@ exports.configMethodLifecycles = {
|
|
|
41
41
|
setDeleteAfter: 'runtime',
|
|
42
42
|
setDisallowParallelEncoding: 'runtime',
|
|
43
43
|
setDotEnvLocation: 'restart',
|
|
44
|
+
setEnableCancellation: 'runtime',
|
|
44
45
|
setEnableCrossSiteIsolation: 'restart',
|
|
45
46
|
setEnableFolderExpiry: 'runtime',
|
|
46
47
|
setEncodingBufferSize: 'runtime',
|
|
@@ -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.js
CHANGED
|
@@ -327,6 +327,20 @@ exports.EFFECT_CATALOG = [
|
|
|
327
327
|
config: {},
|
|
328
328
|
},
|
|
329
329
|
},
|
|
330
|
+
{
|
|
331
|
+
id: 'effects-outline',
|
|
332
|
+
category: 'Blur & Shadow',
|
|
333
|
+
label: 'outline()',
|
|
334
|
+
description: 'Solid alpha outline effect',
|
|
335
|
+
effect: {
|
|
336
|
+
name: 'outline',
|
|
337
|
+
importPath: '@remotion/effects/outline',
|
|
338
|
+
config: {
|
|
339
|
+
width: 12,
|
|
340
|
+
color: '#00ffff',
|
|
341
|
+
},
|
|
342
|
+
},
|
|
343
|
+
},
|
|
330
344
|
{
|
|
331
345
|
id: 'effects-light-trail',
|
|
332
346
|
category: 'Blur & Shadow',
|
|
@@ -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,
|
package/dist/esm/index.mjs
CHANGED
|
@@ -161,6 +161,7 @@ var configMethodLifecycles = {
|
|
|
161
161
|
setDeleteAfter: "runtime",
|
|
162
162
|
setDisallowParallelEncoding: "runtime",
|
|
163
163
|
setDotEnvLocation: "restart",
|
|
164
|
+
setEnableCancellation: "runtime",
|
|
164
165
|
setEnableCrossSiteIsolation: "restart",
|
|
165
166
|
setEnableFolderExpiry: "runtime",
|
|
166
167
|
setEncodingBufferSize: "runtime",
|
|
@@ -898,6 +899,20 @@ var EFFECT_CATALOG = [
|
|
|
898
899
|
config: {}
|
|
899
900
|
}
|
|
900
901
|
},
|
|
902
|
+
{
|
|
903
|
+
id: "effects-outline",
|
|
904
|
+
category: "Blur & Shadow",
|
|
905
|
+
label: "outline()",
|
|
906
|
+
description: "Solid alpha outline effect",
|
|
907
|
+
effect: {
|
|
908
|
+
name: "outline",
|
|
909
|
+
importPath: "@remotion/effects/outline",
|
|
910
|
+
config: {
|
|
911
|
+
width: 12,
|
|
912
|
+
color: "#00ffff"
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
},
|
|
901
916
|
{
|
|
902
917
|
id: "effects-light-trail",
|
|
903
918
|
category: "Blur & Shadow",
|
|
@@ -2266,6 +2281,7 @@ var allPackages = [
|
|
|
2266
2281
|
"studio-protocol",
|
|
2267
2282
|
"light-leaks",
|
|
2268
2283
|
"mac-cursors",
|
|
2284
|
+
"maptiler",
|
|
2269
2285
|
"rough-notation",
|
|
2270
2286
|
"starburst",
|
|
2271
2287
|
"vercel",
|
|
@@ -2279,19 +2295,25 @@ var packages = allPackages.filter((pkg) => shouldReleasePackage({
|
|
|
2279
2295
|
var extraPackages = [
|
|
2280
2296
|
{
|
|
2281
2297
|
name: "mediabunny",
|
|
2282
|
-
version: "1.
|
|
2298
|
+
version: "1.55.1",
|
|
2283
2299
|
description: "Multimedia library used by Remotion",
|
|
2284
2300
|
docsUrl: "https://www.remotion.dev/docs/mediabunny/version"
|
|
2285
2301
|
},
|
|
2286
2302
|
{
|
|
2287
2303
|
name: "@mediabunny/ac3",
|
|
2288
|
-
version: "1.
|
|
2304
|
+
version: "1.55.1",
|
|
2289
2305
|
description: "AC-3 and E-AC-3 audio codec support for Mediabunny",
|
|
2290
2306
|
docsUrl: "https://www.remotion.dev/docs/mediabunny/formats#ac-3-and-e-ac-3"
|
|
2291
2307
|
},
|
|
2308
|
+
{
|
|
2309
|
+
name: "@mediabunny/dts",
|
|
2310
|
+
version: "1.55.1",
|
|
2311
|
+
description: "DTS audio codec support for Mediabunny",
|
|
2312
|
+
docsUrl: "https://mediabunny.dev/guide/extensions/dts"
|
|
2313
|
+
},
|
|
2292
2314
|
{
|
|
2293
2315
|
name: "@mediabunny/prores",
|
|
2294
|
-
version: "1.
|
|
2316
|
+
version: "1.55.1",
|
|
2295
2317
|
description: "Apple ProRes decoder support for Mediabunny",
|
|
2296
2318
|
docsUrl: "https://www.remotion.dev/docs/mediabunny/formats"
|
|
2297
2319
|
},
|
|
@@ -2399,6 +2421,7 @@ var descriptions = {
|
|
|
2399
2421
|
"studio-protocol": "Create Element payloads and request installation into Remotion Studio",
|
|
2400
2422
|
"light-leaks": "Light leak effects for Remotion",
|
|
2401
2423
|
"mac-cursors": "macOS cursor components for Remotion",
|
|
2424
|
+
maptiler: "MapTiler components for Remotion",
|
|
2402
2425
|
"rough-notation": "Rough annotation primitives for Remotion",
|
|
2403
2426
|
"player-a11y": "Internal accessibility wrapper around @remotion/player",
|
|
2404
2427
|
starburst: "Starburst ray effect for Remotion",
|
|
@@ -2516,6 +2539,7 @@ var installableMap = {
|
|
|
2516
2539
|
packageName: "@remotion/mac-cursors",
|
|
2517
2540
|
releaseVersion: VERSION
|
|
2518
2541
|
}),
|
|
2542
|
+
maptiler: false,
|
|
2519
2543
|
"rough-notation": true,
|
|
2520
2544
|
starburst: shouldReleasePackage({
|
|
2521
2545
|
packageName: "@remotion/starburst",
|
|
@@ -2623,6 +2647,7 @@ var apiDocs = {
|
|
|
2623
2647
|
"studio-protocol": "https://www.remotion.dev/docs/studio-protocol",
|
|
2624
2648
|
"light-leaks": "https://www.remotion.dev/docs/light-leaks",
|
|
2625
2649
|
"mac-cursors": "https://www.remotion.dev/docs/mac-cursors",
|
|
2650
|
+
maptiler: null,
|
|
2626
2651
|
"rough-notation": "https://www.remotion.dev/docs/rough-notation",
|
|
2627
2652
|
starburst: "https://www.remotion.dev/docs/starburst",
|
|
2628
2653
|
vercel: "https://www.remotion.dev/docs/vercel/api",
|
|
@@ -3196,6 +3221,7 @@ var studioHtml = ({
|
|
|
3196
3221
|
logLevel,
|
|
3197
3222
|
mode,
|
|
3198
3223
|
bundleScriptUrl,
|
|
3224
|
+
bundleScriptType,
|
|
3199
3225
|
readOnlyStudio,
|
|
3200
3226
|
studioRuntimeConfig
|
|
3201
3227
|
}) => {
|
|
@@ -3263,7 +3289,7 @@ var studioHtml = ({
|
|
|
3263
3289
|
<div id="menuportal-3"></div>
|
|
3264
3290
|
<div id="menuportal-4"></div>
|
|
3265
3291
|
<div id="menuportal-5"></div>
|
|
3266
|
-
<script src="${scriptUrl}"></script>
|
|
3292
|
+
<script${bundleScriptType === "module" ? ' type="module"' : ""} src="${scriptUrl}"></script>
|
|
3267
3293
|
</body>
|
|
3268
3294
|
</html>
|
|
3269
3295
|
`.trim();
|
package/dist/esm/studio-html.mjs
CHANGED
|
@@ -27,6 +27,7 @@ var studioHtml = ({
|
|
|
27
27
|
logLevel,
|
|
28
28
|
mode,
|
|
29
29
|
bundleScriptUrl,
|
|
30
|
+
bundleScriptType,
|
|
30
31
|
readOnlyStudio,
|
|
31
32
|
studioRuntimeConfig
|
|
32
33
|
}) => {
|
|
@@ -94,7 +95,7 @@ var studioHtml = ({
|
|
|
94
95
|
<div id="menuportal-3"></div>
|
|
95
96
|
<div id="menuportal-4"></div>
|
|
96
97
|
<div id="menuportal-5"></div>
|
|
97
|
-
<script src="${scriptUrl}"></script>
|
|
98
|
+
<script${bundleScriptType === "module" ? ' type="module"' : ""} src="${scriptUrl}"></script>
|
|
98
99
|
</body>
|
|
99
100
|
</html>
|
|
100
101
|
`.trim();
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { splitAnsi, stripAnsi } from './ansi';
|
|
2
2
|
export type { TerminalId } from './terminal';
|
|
3
3
|
export type { GitClientId } from './git-client';
|
|
4
|
-
export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, BatchUpdateEffectKeyframeSettings, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, BatchUpdateSequenceKeyframeSettings, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CaptionPatch, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyRenderOutputToAssetRequest, CopyRenderOutputToAssetResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, EditorPickerId, ElementInstallExpectedFileState, ElementInstallRequest, ElementInstallSource, FindInFileRequest, FindInFileResponse, GetDefaultCodingAgentInfoRequest, GetDefaultCodingAgentInfoResponse, GetDefaultEditorInfoRequest, GetDefaultEditorInfoResponse, GoogleFontSourceEdit, InsertElementFileConflict, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInCodingAgentRequest, OpenInCodingAgentResponse, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, OpenInGitClientRequest, OpenInGitClientResponse, OpenInTerminalRequest, OpenInTerminalResponse, PackageInstallSpec, PasteEffectsRequest, PasteEffectsResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveInlineCaptionPatchesRequest, SaveMultipleEffectPropsEdit, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SaveMultipleEffectPropsResult, SaveSequencePropEdit, SaveSequencePropSourceEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsBatchRequest, SubscribeToSequencePropsBatchResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateConfigRequest, UpdateConfigResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type ConfigUpdate, type ConfigValue, type KeyframeSettings, } from './api-requests';
|
|
5
|
-
export type { BrowserStudioOperations } from './browser-studio-operations';
|
|
4
|
+
export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, BatchUpdateEffectKeyframeSettings, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, BatchUpdateSequenceKeyframeSettings, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CaptionPatch, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyRenderOutputToAssetRequest, CopyRenderOutputToAssetResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, EditorPickerId, ElementInstallExpectedFileState, ElementInstallRequest, ElementInstallSource, FindInFileRequest, FindInFileResponse, GetDefaultCodingAgentInfoRequest, GetDefaultCodingAgentInfoResponse, GetDefaultEditorInfoRequest, GetDefaultEditorInfoResponse, GetRemotionSkillsInfoRequest, GetRemotionSkillsInfoResponse, GoogleFontSourceEdit, InsertElementFileConflict, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInCodingAgentRequest, OpenInCodingAgentResponse, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, OpenInGitClientRequest, OpenInGitClientResponse, OpenInTerminalRequest, OpenInTerminalResponse, PackageInstallSpec, PasteEffectsRequest, PasteEffectsResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveInlineCaptionPatchesRequest, SaveMultipleEffectPropsEdit, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SaveMultipleEffectPropsResult, SaveSequencePropEdit, SaveSequencePropSourceEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SplitVideoFromAudioRequest, SplitVideoFromAudioResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsBatchRequest, SubscribeToSequencePropsBatchResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateConfigRequest, UpdateConfigResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type ConfigUpdate, type ConfigValue, type KeyframeSettings, } from './api-requests';
|
|
5
|
+
export type { BrowserStudioKeyframeOperations, BrowserStudioEffectOperations, BrowserStudioInstallPackagesResponse, BrowserStudioOperations, BrowserStudioPackageInstallationOperations, DuplicateCompositionRequest, DuplicateCompositionResponse, } from './browser-studio-operations';
|
|
6
6
|
export type { CanvasCaptureData, CanvasCaptureMouseMovement, CanvasCapturePointerClick, } from './canvas-capture';
|
|
7
7
|
export { CANVAS_CAPTURE_METADATA_TAG, parseCanvasCaptureData, } from './canvas-capture';
|
|
8
8
|
export type { SequenceNodePathMutation, SequenceNodePathRemapping, } from './sequence-node-path-mutation';
|
|
@@ -44,7 +44,7 @@ export { ScriptLine, SomeStackFrame, StackFrame, SymbolicatedStackFrame, } from
|
|
|
44
44
|
export { EnumPath, stringifyDefaultProps } from './stringify-default-props';
|
|
45
45
|
export { getStudioEntryPoints, type StudioEntryPointPaths, } from './studio-entry-points';
|
|
46
46
|
export { studioHtml, type StudioHtmlOptions } from './studio-html';
|
|
47
|
-
export type { StudioRuntimeConfig } from './studio-runtime-config';
|
|
47
|
+
export type { ConfigFileStudioSettings, StudioRuntimeConfig, } from './studio-runtime-config';
|
|
48
48
|
export { BORDER_RADIUS_LONGHAND_KEYS, BORDER_RADIUS_SHORTHAND_KEY, getStylePropertyLonghandKeys, } from './style-property-relations';
|
|
49
49
|
export type { VisualControlChange } from './codemods';
|
|
50
50
|
export { optimisticAddEffectKeyframe, optimisticAddSequenceKeyframe, } from './optimistic-add-keyframe';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type CanUpdateSequencePropsResponse, type SequenceSchema } from 'remotion';
|
|
2
|
+
export declare const optimisticUpdateForCodeValues: ({ previous, fieldKey, value, schema, }: {
|
|
3
|
+
previous: CanUpdateSequencePropsResponse;
|
|
4
|
+
fieldKey: string;
|
|
5
|
+
value: unknown;
|
|
6
|
+
schema: SequenceSchema;
|
|
7
|
+
}) => CanUpdateSequencePropsResponse;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.optimisticUpdateForCodeValues = void 0;
|
|
4
|
+
const no_react_1 = require("remotion/no-react");
|
|
5
|
+
const optimisticUpdateForCodeValues = ({ previous, fieldKey, value, schema, }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
if (!previous.canUpdate) {
|
|
8
|
+
return previous;
|
|
9
|
+
}
|
|
10
|
+
const props = {
|
|
11
|
+
...previous.props,
|
|
12
|
+
[fieldKey]: { status: 'static', codeValue: value },
|
|
13
|
+
};
|
|
14
|
+
if (((_a = schema[fieldKey]) === null || _a === void 0 ? void 0 : _a.type) === 'enum') {
|
|
15
|
+
const propsToDelete = no_react_1.NoReactInternals.findPropsToDelete({
|
|
16
|
+
schema,
|
|
17
|
+
key: fieldKey,
|
|
18
|
+
value,
|
|
19
|
+
});
|
|
20
|
+
for (const propToDelete of propsToDelete) {
|
|
21
|
+
delete props[propToDelete];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
canUpdate: true,
|
|
26
|
+
props,
|
|
27
|
+
effects: previous.effects,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
exports.optimisticUpdateForCodeValues = optimisticUpdateForCodeValues;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CanUpdateSequencePropsResponse, type SequenceSchema } from 'remotion';
|
|
2
|
+
export declare const optimisticUpdateForEffectCodeValues: ({ previous, effectIndex, fieldKey, value, schema, }: {
|
|
3
|
+
previous: CanUpdateSequencePropsResponse;
|
|
4
|
+
effectIndex: number;
|
|
5
|
+
fieldKey: string;
|
|
6
|
+
value: unknown;
|
|
7
|
+
schema: SequenceSchema;
|
|
8
|
+
}) => CanUpdateSequencePropsResponse;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.optimisticUpdateForEffectCodeValues = void 0;
|
|
4
|
+
const no_react_1 = require("remotion/no-react");
|
|
5
|
+
const optimisticUpdateForEffectCodeValues = ({ previous, effectIndex, fieldKey, value, schema, }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
if (!previous.canUpdate) {
|
|
8
|
+
return previous;
|
|
9
|
+
}
|
|
10
|
+
const targetIndex = previous.effects.findIndex((e) => e.effectIndex === effectIndex);
|
|
11
|
+
if (targetIndex === -1) {
|
|
12
|
+
return previous;
|
|
13
|
+
}
|
|
14
|
+
const target = previous.effects[targetIndex];
|
|
15
|
+
if (!target.canUpdate) {
|
|
16
|
+
return previous;
|
|
17
|
+
}
|
|
18
|
+
const props = {
|
|
19
|
+
...target.props,
|
|
20
|
+
[fieldKey]: { status: 'static', codeValue: value },
|
|
21
|
+
};
|
|
22
|
+
if (((_a = schema[fieldKey]) === null || _a === void 0 ? void 0 : _a.type) === 'enum') {
|
|
23
|
+
const propsToDelete = no_react_1.NoReactInternals.findPropsToDelete({
|
|
24
|
+
schema,
|
|
25
|
+
key: fieldKey,
|
|
26
|
+
value,
|
|
27
|
+
});
|
|
28
|
+
for (const propToDelete of propsToDelete) {
|
|
29
|
+
delete props[propToDelete];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const updatedEffect = {
|
|
33
|
+
...target,
|
|
34
|
+
props,
|
|
35
|
+
};
|
|
36
|
+
const effects = [...previous.effects];
|
|
37
|
+
effects[targetIndex] = updatedEffect;
|
|
38
|
+
return {
|
|
39
|
+
...previous,
|
|
40
|
+
effects,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.optimisticUpdateForEffectCodeValues = optimisticUpdateForEffectCodeValues;
|
package/dist/package-info.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
declare const allPackages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "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-codemods", "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", "studio-protocol", "light-leaks", "mac-cursors", "rough-notation", "starburst", "vercel", "sfx", "effects"];
|
|
1
|
+
declare const allPackages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "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-codemods", "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", "studio-protocol", "light-leaks", "mac-cursors", "maptiler", "rough-notation", "starburst", "vercel", "sfx", "effects"];
|
|
2
2
|
export type Pkgs = (typeof allPackages)[number];
|
|
3
|
-
export declare const packages: ("animated-emoji" | "animation-utils" | "astro-example" | "babel-loader" | "brand" | "browser-studio" | "bugs" | "bundler" | "captions" | "claude-code-plugin" | "cli" | "cloudrun" | "codex-plugin" | "compositor" | "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" | "convert" | "core" | "create-video" | "design" | "discord-poster" | "docs" | "docusaurus-plugin" | "effects" | "elevenlabs" | "enable-scss" | "eslint-config" | "eslint-config-flat" | "eslint-config-internal" | "eslint-plugin" | "example" | "example-videos" | "example-without-zod" | "fonts" | "gif" | "google-fonts" | "install-whisper-cpp" | "it-tests" | "kimi-code-plugin" | "lambda" | "lambda-client" | "lambda-go" | "lambda-go-example" | "lambda-php" | "lambda-python" | "lambda-ruby" | "layout-utils" | "licensing" | "light-leaks" | "lottie" | "mac-cursors" | "mcp" | "media" | "media-parser" | "media-utils" | "motion-blur" | "noise" | "openai-whisper" | "paths" | "player" | "player-a11y" | "player-example" | "preload" | "promo-pages" | "react18-tests" | "remotion-media" | "renderer" | "rive" | "rough-notation" | "rounded-text-box" | "serverless" | "serverless-client" | "sfx" | "shapes" | "skia" | "skills" | "skills-evals" | "starburst" | "streaming" | "studio" | "studio-codemods" | "studio-protocol" | "studio-server" | "studio-shared" | "svg-3d-engine" | "tailwind" | "tailwind-v4" | "test-utils" | "three" | "timeline-utils" | "transitions" | "vercel" | "web-renderer" | "webcodecs" | "whisper-web" | "zod-types" | "zod-types-v3")[];
|
|
3
|
+
export declare const packages: ("animated-emoji" | "animation-utils" | "astro-example" | "babel-loader" | "brand" | "browser-studio" | "bugs" | "bundler" | "captions" | "claude-code-plugin" | "cli" | "cloudrun" | "codex-plugin" | "compositor" | "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" | "convert" | "core" | "create-video" | "design" | "discord-poster" | "docs" | "docusaurus-plugin" | "effects" | "elevenlabs" | "enable-scss" | "eslint-config" | "eslint-config-flat" | "eslint-config-internal" | "eslint-plugin" | "example" | "example-videos" | "example-without-zod" | "fonts" | "gif" | "google-fonts" | "install-whisper-cpp" | "it-tests" | "kimi-code-plugin" | "lambda" | "lambda-client" | "lambda-go" | "lambda-go-example" | "lambda-php" | "lambda-python" | "lambda-ruby" | "layout-utils" | "licensing" | "light-leaks" | "lottie" | "mac-cursors" | "maptiler" | "mcp" | "media" | "media-parser" | "media-utils" | "motion-blur" | "noise" | "openai-whisper" | "paths" | "player" | "player-a11y" | "player-example" | "preload" | "promo-pages" | "react18-tests" | "remotion-media" | "renderer" | "rive" | "rough-notation" | "rounded-text-box" | "serverless" | "serverless-client" | "sfx" | "shapes" | "skia" | "skills" | "skills-evals" | "starburst" | "streaming" | "studio" | "studio-codemods" | "studio-protocol" | "studio-server" | "studio-shared" | "svg-3d-engine" | "tailwind" | "tailwind-v4" | "test-utils" | "three" | "timeline-utils" | "transitions" | "vercel" | "web-renderer" | "webcodecs" | "whisper-web" | "zod-types" | "zod-types-v3")[];
|
|
4
4
|
export type ExtraPackage = {
|
|
5
5
|
name: string;
|
|
6
6
|
version: string;
|
package/dist/package-info.js
CHANGED
|
@@ -101,6 +101,7 @@ const allPackages = [
|
|
|
101
101
|
'studio-protocol',
|
|
102
102
|
'light-leaks',
|
|
103
103
|
'mac-cursors',
|
|
104
|
+
'maptiler',
|
|
104
105
|
'rough-notation',
|
|
105
106
|
'starburst',
|
|
106
107
|
'vercel',
|
|
@@ -114,19 +115,25 @@ exports.packages = allPackages.filter((pkg) => (0, release_package_policy_1.shou
|
|
|
114
115
|
exports.extraPackages = [
|
|
115
116
|
{
|
|
116
117
|
name: 'mediabunny',
|
|
117
|
-
version: '1.
|
|
118
|
+
version: '1.55.1',
|
|
118
119
|
description: 'Multimedia library used by Remotion',
|
|
119
120
|
docsUrl: 'https://www.remotion.dev/docs/mediabunny/version',
|
|
120
121
|
},
|
|
121
122
|
{
|
|
122
123
|
name: '@mediabunny/ac3',
|
|
123
|
-
version: '1.
|
|
124
|
+
version: '1.55.1',
|
|
124
125
|
description: 'AC-3 and E-AC-3 audio codec support for Mediabunny',
|
|
125
126
|
docsUrl: 'https://www.remotion.dev/docs/mediabunny/formats#ac-3-and-e-ac-3',
|
|
126
127
|
},
|
|
128
|
+
{
|
|
129
|
+
name: '@mediabunny/dts',
|
|
130
|
+
version: '1.55.1',
|
|
131
|
+
description: 'DTS audio codec support for Mediabunny',
|
|
132
|
+
docsUrl: 'https://mediabunny.dev/guide/extensions/dts',
|
|
133
|
+
},
|
|
127
134
|
{
|
|
128
135
|
name: '@mediabunny/prores',
|
|
129
|
-
version: '1.
|
|
136
|
+
version: '1.55.1',
|
|
130
137
|
description: 'Apple ProRes decoder support for Mediabunny',
|
|
131
138
|
docsUrl: 'https://www.remotion.dev/docs/mediabunny/formats',
|
|
132
139
|
},
|
|
@@ -234,6 +241,7 @@ exports.descriptions = {
|
|
|
234
241
|
'studio-protocol': 'Create Element payloads and request installation into Remotion Studio',
|
|
235
242
|
'light-leaks': 'Light leak effects for Remotion',
|
|
236
243
|
'mac-cursors': 'macOS cursor components for Remotion',
|
|
244
|
+
maptiler: 'MapTiler components for Remotion',
|
|
237
245
|
'rough-notation': 'Rough annotation primitives for Remotion',
|
|
238
246
|
'player-a11y': 'Internal accessibility wrapper around @remotion/player',
|
|
239
247
|
starburst: 'Starburst ray effect for Remotion',
|
|
@@ -351,6 +359,7 @@ exports.installableMap = {
|
|
|
351
359
|
packageName: '@remotion/mac-cursors',
|
|
352
360
|
releaseVersion: remotion_1.VERSION,
|
|
353
361
|
}),
|
|
362
|
+
maptiler: false,
|
|
354
363
|
'rough-notation': true,
|
|
355
364
|
starburst: (0, release_package_policy_1.shouldReleasePackage)({
|
|
356
365
|
packageName: '@remotion/starburst',
|
|
@@ -458,6 +467,7 @@ exports.apiDocs = {
|
|
|
458
467
|
'studio-protocol': 'https://www.remotion.dev/docs/studio-protocol',
|
|
459
468
|
'light-leaks': 'https://www.remotion.dev/docs/light-leaks',
|
|
460
469
|
'mac-cursors': 'https://www.remotion.dev/docs/mac-cursors',
|
|
470
|
+
maptiler: null,
|
|
461
471
|
'rough-notation': 'https://www.remotion.dev/docs/rough-notation',
|
|
462
472
|
starburst: 'https://www.remotion.dev/docs/starburst',
|
|
463
473
|
vercel: 'https://www.remotion.dev/docs/vercel/api',
|
|
@@ -4,11 +4,19 @@ import type { _InternalTypes } from 'remotion';
|
|
|
4
4
|
import type { GitSource } from './git-source';
|
|
5
5
|
import type { PackageManager } from './package-manager';
|
|
6
6
|
import type { StudioRuntimeConfig } from './studio-runtime-config';
|
|
7
|
+
export type ConfigFileRenderDefaults = {
|
|
8
|
+
codec: Codec | null;
|
|
9
|
+
proResProfile: _InternalTypes['ProResProfile'] | null;
|
|
10
|
+
stillImageFormat: StillImageFormat | null;
|
|
11
|
+
videoImageFormat: VideoImageFormat | null;
|
|
12
|
+
x264Preset: X264Preset | null;
|
|
13
|
+
};
|
|
7
14
|
export type RenderDefaults = {
|
|
8
15
|
jpegQuality: number;
|
|
9
16
|
scale: number;
|
|
10
17
|
logLevel: LogLevel;
|
|
11
18
|
codec: Codec;
|
|
19
|
+
crf: number | null;
|
|
12
20
|
concurrency: number;
|
|
13
21
|
minConcurrency: number;
|
|
14
22
|
muted: boolean;
|
|
@@ -47,7 +55,9 @@ export type RenderDefaults = {
|
|
|
47
55
|
chromeMode: ChromeMode;
|
|
48
56
|
publicLicenseKey: string | null;
|
|
49
57
|
outputLocation: string | null;
|
|
58
|
+
allowHtmlInCanvas: boolean;
|
|
50
59
|
sampleRate: number;
|
|
60
|
+
configFileRenderDefaults: ConfigFileRenderDefaults | null;
|
|
51
61
|
};
|
|
52
62
|
declare global {
|
|
53
63
|
interface Window {
|
|
@@ -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/dist/studio-html.d.ts
CHANGED
|
@@ -30,7 +30,8 @@ export type StudioHtmlOptions = {
|
|
|
30
30
|
logLevel: LogLevel;
|
|
31
31
|
mode: 'dev' | 'bundle';
|
|
32
32
|
bundleScriptUrl?: string;
|
|
33
|
+
bundleScriptType?: 'classic' | 'module';
|
|
33
34
|
readOnlyStudio?: boolean;
|
|
34
35
|
studioRuntimeConfig?: StudioRuntimeConfig;
|
|
35
36
|
};
|
|
36
|
-
export declare const studioHtml: ({ publicPath, editorName, inputProps, envVariables, staticHash, remotionRoot, studioServerCommand, renderQueue, completedClientRenders, numberOfAudioTags, publicFiles, includeFavicon, title, renderDefaults, publicFolderExists, fileSystemPlatform, gitSource, projectName, installedDependencies, packageManager, audioLatencyHint, experimentalKeepAudioContextAlive, sampleRate, logLevel, mode, bundleScriptUrl, readOnlyStudio, studioRuntimeConfig, }: StudioHtmlOptions) => string;
|
|
37
|
+
export declare const studioHtml: ({ publicPath, editorName, inputProps, envVariables, staticHash, remotionRoot, studioServerCommand, renderQueue, completedClientRenders, numberOfAudioTags, publicFiles, includeFavicon, title, renderDefaults, publicFolderExists, fileSystemPlatform, gitSource, projectName, installedDependencies, packageManager, audioLatencyHint, experimentalKeepAudioContextAlive, sampleRate, logLevel, mode, bundleScriptUrl, bundleScriptType, readOnlyStudio, studioRuntimeConfig, }: StudioHtmlOptions) => string;
|
package/dist/studio-html.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.studioHtml = void 0;
|
|
4
4
|
const remotion_1 = require("remotion");
|
|
5
|
-
const studioHtml = ({ publicPath, editorName, inputProps, envVariables, staticHash, remotionRoot, studioServerCommand, renderQueue, completedClientRenders, numberOfAudioTags, publicFiles, includeFavicon, title, renderDefaults, publicFolderExists, fileSystemPlatform, gitSource, projectName, installedDependencies, packageManager, audioLatencyHint, experimentalKeepAudioContextAlive, sampleRate, logLevel, mode, bundleScriptUrl, readOnlyStudio, studioRuntimeConfig, }) => {
|
|
5
|
+
const studioHtml = ({ publicPath, editorName, inputProps, envVariables, staticHash, remotionRoot, studioServerCommand, renderQueue, completedClientRenders, numberOfAudioTags, publicFiles, includeFavicon, title, renderDefaults, publicFolderExists, fileSystemPlatform, gitSource, projectName, installedDependencies, packageManager, audioLatencyHint, experimentalKeepAudioContextAlive, sampleRate, logLevel, mode, bundleScriptUrl, bundleScriptType, readOnlyStudio, studioRuntimeConfig, }) => {
|
|
6
6
|
const scriptUrl = bundleScriptUrl !== null && bundleScriptUrl !== void 0 ? bundleScriptUrl : `${publicPath}bundle.js`;
|
|
7
7
|
const isRelativeBundle = mode === 'bundle' && publicPath === './';
|
|
8
8
|
const staticBaseValue = isRelativeBundle
|
|
@@ -89,7 +89,7 @@ const studioHtml = ({ publicPath, editorName, inputProps, envVariables, staticHa
|
|
|
89
89
|
<div id="menuportal-3"></div>
|
|
90
90
|
<div id="menuportal-4"></div>
|
|
91
91
|
<div id="menuportal-5"></div>
|
|
92
|
-
<script src="${scriptUrl}"></script>
|
|
92
|
+
<script${bundleScriptType === 'module' ? ' type="module"' : ''} src="${scriptUrl}"></script>
|
|
93
93
|
</body>
|
|
94
94
|
</html>
|
|
95
95
|
`.trim();
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import type { BuiltInEditor, DefaultCodingAgent } from '@remotion/renderer';
|
|
1
|
+
import type { BuiltInEditor, DefaultCodingAgent, LogLevel } from '@remotion/renderer';
|
|
2
|
+
export type ConfigFileStudioSettings = {
|
|
3
|
+
readonly askAIEnabled: boolean | null;
|
|
4
|
+
readonly audioLatencyHint: AudioContextLatencyCategory | null;
|
|
5
|
+
readonly beepOnFinish: boolean | null;
|
|
6
|
+
readonly enableCrossSiteIsolation: boolean | null;
|
|
7
|
+
readonly interactivityEnabled: boolean | null;
|
|
8
|
+
readonly keyboardShortcutsEnabled: boolean | null;
|
|
9
|
+
readonly logLevel: LogLevel | null;
|
|
10
|
+
readonly maxTimelineTracks: number | null;
|
|
11
|
+
readonly numberOfSharedAudioTags: number | null;
|
|
12
|
+
readonly rspack: boolean | null;
|
|
13
|
+
};
|
|
2
14
|
export type StudioRuntimeConfig = {
|
|
3
15
|
readonly maxTimelineTracks: number | null;
|
|
4
16
|
readonly askAIEnabled: boolean;
|
|
@@ -8,4 +20,5 @@ export type StudioRuntimeConfig = {
|
|
|
8
20
|
readonly defaultCodingAgent: DefaultCodingAgent | null;
|
|
9
21
|
readonly defaultEditor: BuiltInEditor | 'custom' | null;
|
|
10
22
|
readonly publicLicenseKey: string | null;
|
|
23
|
+
readonly configFileStudioSettings: ConfigFileStudioSettings | null;
|
|
11
24
|
};
|
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.515",
|
|
7
7
|
"description": "Internal package for shared objects between the Studio backend and frontend",
|
|
8
8
|
"main": "dist",
|
|
9
9
|
"module": "dist/esm/index.mjs",
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@remotion/studio-protocol": "4.0.
|
|
25
|
-
"remotion": "4.0.
|
|
24
|
+
"@remotion/studio-protocol": "4.0.515",
|
|
25
|
+
"remotion": "4.0.515"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@remotion/renderer": "4.0.
|
|
29
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
28
|
+
"@remotion/renderer": "4.0.515",
|
|
29
|
+
"@remotion/eslint-config-internal": "4.0.515",
|
|
30
30
|
"eslint": "9.19.0",
|
|
31
31
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
32
32
|
},
|