@remotion/studio 4.0.84 → 4.0.85
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/dist/components/EditorContent.js +11 -6
- package/dist/components/FramePersistor.js +7 -2
- package/dist/components/NewComposition/RemInput.d.ts +2 -2
- package/dist/components/NewComposition/RemInputTypeColor.d.ts +1 -1
- package/dist/components/RenderModal/RenderModal.js +1 -1
- package/dist/components/RenderModal/RenderModalGif.js +4 -2
- package/dist/components/Splitter/SplitterContainer.js +1 -1
- package/dist/components/Timeline/TimelineDragHandler.js +5 -2
- package/dist/components/TopPanel.js +1 -3
- package/dist/helpers/colors.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/package.json +7 -7
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/command.d.ts +0 -2
- package/dist/command.js +0 -157
- package/dist/components/Timeline/TimelineEyeToggler.d.ts +0 -0
- package/dist/components/Timeline/TimelineEyeToggler.js +0 -1
- package/dist/components/Timeline/timeline-state-reducer.d.ts +0 -19
- package/dist/components/Timeline/timeline-state-reducer.js +0 -47
- package/dist/preview-server/can-update-default-props.d.ts +0 -1
- package/dist/preview-server/can-update-default-props.js +0 -9
- package/dist/preview-server/routes.d.ts +0 -20
- package/dist/preview-server/routes.js +0 -277
- package/dist/preview-server/update-default-props.d.ts +0 -3
- package/dist/preview-server/update-default-props.js +0 -34
- package/dist/render-queue/copy-still-to-clipboard.d.ts +0 -1
- package/dist/render-queue/copy-still-to-clipboard.js +0 -8
- package/dist/render-queue/get-default-video-contexts.d.ts +0 -14
- package/dist/render-queue/get-default-video-contexts.js +0 -29
- package/dist/render-queue/job.d.ts +0 -191
- package/dist/render-queue/job.js +0 -2
- package/dist/render-queue/make-retry-payload.d.ts +0 -2
- package/dist/render-queue/make-retry-payload.js +0 -136
- package/dist/render-queue/open-directory-in-finder.d.ts +0 -1
- package/dist/render-queue/open-directory-in-finder.js +0 -49
- package/dist/render-queue/process-still.d.ts +0 -8
- package/dist/render-queue/process-still.js +0 -49
- package/dist/render-queue/process-video.d.ts +0 -10
- package/dist/render-queue/process-video.js +0 -70
- package/dist/render-queue/queue.d.ts +0 -11
- package/dist/render-queue/queue.js +0 -221
- package/dist/symbolications.d.ts +0 -1
- package/dist/symbolications.js +0 -11
package/.turbo/turbo-build.log
CHANGED
package/.turbo/turbo-lint.log
CHANGED
|
@@ -5,20 +5,25 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const remotion_1 = require("remotion");
|
|
7
7
|
const is_current_selected_still_1 = require("../helpers/is-current-selected-still");
|
|
8
|
+
const InitialCompositionLoader_1 = require("./InitialCompositionLoader");
|
|
9
|
+
const MenuToolbar_1 = require("./MenuToolbar");
|
|
8
10
|
const SplitterContainer_1 = require("./Splitter/SplitterContainer");
|
|
9
11
|
const SplitterElement_1 = require("./Splitter/SplitterElement");
|
|
10
12
|
const SplitterHandle_1 = require("./Splitter/SplitterHandle");
|
|
11
13
|
const Timeline_1 = require("./Timeline/Timeline");
|
|
12
14
|
const TopPanel_1 = require("./TopPanel");
|
|
13
15
|
const noop = () => undefined;
|
|
16
|
+
const container = {
|
|
17
|
+
display: 'flex',
|
|
18
|
+
flexDirection: 'column',
|
|
19
|
+
flex: 1,
|
|
20
|
+
height: 0,
|
|
21
|
+
};
|
|
14
22
|
const EditorContent = () => {
|
|
15
23
|
const isStill = (0, is_current_selected_still_1.useIsStill)();
|
|
16
24
|
const { canvasContent } = (0, react_1.useContext)(remotion_1.Internals.CompositionManager);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
return (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, {});
|
|
21
|
-
}
|
|
22
|
-
return ((0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { orientation: "horizontal", id: "top-to-bottom", maxFlex: 0.9, minFlex: 0.2, defaultFlex: 0.75, children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, {}) }), (0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "none", onCollapse: noop }), (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(Timeline_1.Timeline, {}) })] }));
|
|
25
|
+
// Preventing multiple renders so the update check doesn't get rendered twice and needs to be aborted
|
|
26
|
+
const onlyTopPanel = canvasContent === null || isStill || canvasContent.type !== 'composition';
|
|
27
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(InitialCompositionLoader_1.InitialCompositionLoader, {}), (0, jsx_runtime_1.jsx)(MenuToolbar_1.MenuToolbar, {}), onlyTopPanel ? ((0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, {})) : ((0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { orientation: "horizontal", id: "top-to-bottom", maxFlex: 0.9, minFlex: 0.2, defaultFlex: 0.75, children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)(TopPanel_1.TopPanel, {}) }), (0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "none", onCollapse: noop }), (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(Timeline_1.Timeline, {}) })] }))] }));
|
|
23
28
|
};
|
|
24
29
|
exports.EditorContent = EditorContent;
|
|
@@ -7,11 +7,16 @@ const FramePersistor = () => {
|
|
|
7
7
|
const [playing] = remotion_1.Internals.Timeline.usePlayingState();
|
|
8
8
|
const config = (0, remotion_1.useVideoConfig)();
|
|
9
9
|
const frame = remotion_1.Internals.Timeline.useTimelinePosition();
|
|
10
|
+
const setFrame = remotion_1.Internals.useTimelineSetFrame();
|
|
10
11
|
(0, react_1.useEffect)(() => {
|
|
11
12
|
if (!playing) {
|
|
12
|
-
|
|
13
|
+
setFrame((f) => {
|
|
14
|
+
const newObj = { ...f, [config.id]: frame };
|
|
15
|
+
remotion_1.Internals.persistCurrentFrame(newObj);
|
|
16
|
+
return newObj;
|
|
17
|
+
});
|
|
13
18
|
}
|
|
14
|
-
}, [config.id, frame, playing]);
|
|
19
|
+
}, [config.id, frame, playing, setFrame]);
|
|
15
20
|
return null;
|
|
16
21
|
};
|
|
17
22
|
exports.FramePersistor = FramePersistor;
|
|
@@ -12,6 +12,6 @@ export declare const getInputBorderColor: ({ status, isFocused, isHovered, }: {
|
|
|
12
12
|
status: 'error' | 'warning' | 'ok';
|
|
13
13
|
isFocused: boolean;
|
|
14
14
|
isHovered: boolean;
|
|
15
|
-
}) => "
|
|
16
|
-
export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | "status" | "rightAlign"
|
|
15
|
+
}) => "hsla(0, 0%, 100%, 0.15)" | "rgba(0, 0, 0, 0.6)" | "rgba(255, 255, 255, 0.05)" | "#ff3232" | "#f1c40f";
|
|
16
|
+
export declare const RemotionInput: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status" | "rightAlign"> & React.RefAttributes<HTMLInputElement>>;
|
|
17
17
|
export {};
|
|
@@ -4,5 +4,5 @@ type Props = React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>
|
|
|
4
4
|
status: RemInputStatus;
|
|
5
5
|
name: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" |
|
|
7
|
+
export declare const RemInputTypeColor: React.ForwardRefExoticComponent<Pick<Props, "key" | keyof React.InputHTMLAttributes<HTMLInputElement> | "status"> & React.RefAttributes<HTMLInputElement>>;
|
|
8
8
|
export {};
|
|
@@ -201,7 +201,7 @@ const RenderModal = ({ initialFrame, initialVideoImageFormat, initialStillImageF
|
|
|
201
201
|
const [encodingMaxRate, setEncodingMaxRate] = (0, react_1.useState)(() => initialEncodingMaxRate !== null && initialEncodingMaxRate !== void 0 ? initialEncodingMaxRate : null);
|
|
202
202
|
const [encodingBufferSize, setEncodingBufferSize] = (0, react_1.useState)(() => initialEncodingBufferSize !== null && initialEncodingBufferSize !== void 0 ? initialEncodingBufferSize : null);
|
|
203
203
|
const [limitNumberOfGifLoops, setLimitNumberOfGifLoops] = (0, react_1.useState)(() => initialNumberOfGifLoops !== null);
|
|
204
|
-
const [numberOfGifLoopsSetting, setNumberOfGifLoopsSetting] = (0, react_1.useState)(() => initialNumberOfGifLoops !== null && initialNumberOfGifLoops !== void 0 ? initialNumberOfGifLoops :
|
|
204
|
+
const [numberOfGifLoopsSetting, setNumberOfGifLoopsSetting] = (0, react_1.useState)(() => initialNumberOfGifLoops !== null && initialNumberOfGifLoops !== void 0 ? initialNumberOfGifLoops : 0);
|
|
205
205
|
const [delayRenderTimeout, setDelayRenderTimeout] = (0, react_1.useState)(() => initialDelayRenderTimeout);
|
|
206
206
|
const [offthreadVideoCacheSizeInBytes, setOffthreadVideoCacheSizeInBytes] = (0, react_1.useState)(initialOffthreadVideoCacheSizeInBytes);
|
|
207
207
|
const codec = (0, react_1.useMemo)(() => {
|
|
@@ -4,9 +4,11 @@ exports.RenderModalGif = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const Checkbox_1 = require("../Checkbox");
|
|
7
|
-
const layout_1 = require("
|
|
7
|
+
const layout_1 = require("../layout");
|
|
8
|
+
const layout_2 = require("./layout");
|
|
8
9
|
const NumberOfLoopsSetting_1 = require("./NumberOfLoopsSetting");
|
|
9
10
|
const NumberSetting_1 = require("./NumberSetting");
|
|
11
|
+
const OptionExplainerBubble_1 = require("./OptionExplainerBubble");
|
|
10
12
|
const container = {
|
|
11
13
|
flex: 1,
|
|
12
14
|
};
|
|
@@ -14,6 +16,6 @@ const RenderModalGif = ({ everyNthFrame, limitNumberOfGifLoops, numberOfGifLoops
|
|
|
14
16
|
const onShouldLimitNumberOfGifLoops = (0, react_1.useCallback)((e) => {
|
|
15
17
|
setLimitNumberOfGifLoops(e.target.checked);
|
|
16
18
|
}, [setLimitNumberOfGifLoops]);
|
|
17
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { name: "Every nth frame", min: 1, onValueChanged: setEveryNthFrameSetting, value: everyNthFrame, step: 1 }), (0, jsx_runtime_1.jsxs)("div", { style:
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(NumberSetting_1.NumberSetting, { name: "Every nth frame", min: 1, onValueChanged: setEveryNthFrameSetting, value: everyNthFrame, step: 1 }), (0, jsx_runtime_1.jsxs)("div", { style: layout_2.optionRow, children: [(0, jsx_runtime_1.jsxs)("div", { style: layout_2.label, children: ["Limit GIF loops ", (0, jsx_runtime_1.jsx)(layout_1.Spacing, { x: 0.5 }), (0, jsx_runtime_1.jsx)(OptionExplainerBubble_1.OptionExplainerBubble, { id: "numberOfGifLoopsOption" })] }), (0, jsx_runtime_1.jsx)("div", { style: layout_2.rightRow, children: (0, jsx_runtime_1.jsx)(Checkbox_1.Checkbox, { checked: limitNumberOfGifLoops, onChange: onShouldLimitNumberOfGifLoops, name: "limitNumberOfGifLoops" }) })] }), limitNumberOfGifLoops ? ((0, jsx_runtime_1.jsx)(NumberOfLoopsSetting_1.NumberOfLoopsSetting, { numberOfGifLoops: numberOfGifLoopsSetting, setNumberOfGifLoops: setNumberOfGifLoopsSetting })) : null] }));
|
|
18
20
|
};
|
|
19
21
|
exports.RenderModalGif = RenderModalGif;
|
|
@@ -15,7 +15,7 @@ const containerColumn = {
|
|
|
15
15
|
display: 'flex',
|
|
16
16
|
flexDirection: 'column',
|
|
17
17
|
flex: 1,
|
|
18
|
-
height:
|
|
18
|
+
height: 0,
|
|
19
19
|
};
|
|
20
20
|
const SplitterContainer = ({ orientation, children, defaultFlex, maxFlex, minFlex, id }) => {
|
|
21
21
|
const [initialTimelineFlex, persistFlex] = (0, timeline_1.useTimelineFlex)(id);
|
|
@@ -291,8 +291,11 @@ const Inner = () => {
|
|
|
291
291
|
width,
|
|
292
292
|
extrapolate: 'clamp',
|
|
293
293
|
});
|
|
294
|
-
|
|
295
|
-
|
|
294
|
+
setFrame((c) => {
|
|
295
|
+
const newObj = { ...c, [videoConfig.id]: frame };
|
|
296
|
+
remotion_1.Internals.persistCurrentFrame(newObj);
|
|
297
|
+
return newObj;
|
|
298
|
+
});
|
|
296
299
|
if (dragging.wasPlaying) {
|
|
297
300
|
play();
|
|
298
301
|
}
|
|
@@ -10,8 +10,6 @@ const CanvasOrLoading_1 = require("./CanvasOrLoading");
|
|
|
10
10
|
const CurrentCompositionSideEffects_1 = require("./CurrentCompositionSideEffects");
|
|
11
11
|
const use_is_ruler_visible_1 = require("./EditorRuler/use-is-ruler-visible");
|
|
12
12
|
const ExplorerPanel_1 = require("./ExplorerPanel");
|
|
13
|
-
const InitialCompositionLoader_1 = require("./InitialCompositionLoader");
|
|
14
|
-
const MenuToolbar_1 = require("./MenuToolbar");
|
|
15
13
|
const OptionsPanel_1 = require("./OptionsPanel");
|
|
16
14
|
const PreviewToolbar_1 = require("./PreviewToolbar");
|
|
17
15
|
const SplitterContainer_1 = require("./Splitter/SplitterContainer");
|
|
@@ -67,6 +65,6 @@ const TopPanel = () => {
|
|
|
67
65
|
const onCollapseRight = (0, react_1.useCallback)(() => {
|
|
68
66
|
setSidebarCollapsedState({ left: null, right: 'collapsed' });
|
|
69
67
|
}, [setSidebarCollapsedState]);
|
|
70
|
-
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)(
|
|
68
|
+
return ((0, jsx_runtime_1.jsxs)("div", { style: container, children: [(0, jsx_runtime_1.jsx)("div", { style: row, children: (0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { minFlex: 0.15, maxFlex: 0.4, defaultFlex: 0.2, id: "sidebar-to-preview", orientation: "vertical", children: [actualStateLeft === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)(ExplorerPanel_1.ExplorerPanel, {}) })) : null, actualStateLeft === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "left", onCollapse: onCollapseLeft })) : null, (0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsxs)(SplitterContainer_1.SplitterContainer, { minFlex: 0.5, maxFlex: 0.8, defaultFlex: 0.7, id: "canvas-to-right-sidebar", orientation: "vertical", children: [(0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "flexer", children: (0, jsx_runtime_1.jsx)("div", { style: canvasContainerStyle, children: (0, jsx_runtime_1.jsx)(CanvasOrLoading_1.CanvasOrLoading, {}) }) }), actualStateRight === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterHandle_1.SplitterHandle, { allowToCollapse: "right", onCollapse: onCollapseRight })) : null, actualStateRight === 'expanded' ? ((0, jsx_runtime_1.jsx)(SplitterElement_1.SplitterElement, { sticky: null, type: "anti-flexer", children: (0, jsx_runtime_1.jsx)(OptionsPanel_1.OptionsPanel, {}) })) : null] }) })] }) }), (0, jsx_runtime_1.jsx)(PreviewToolbar_1.PreviewToolbar, {}), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.CurrentCompositionKeybindings, {}), (0, jsx_runtime_1.jsx)(CurrentCompositionSideEffects_1.TitleUpdater, {})] }));
|
|
71
69
|
};
|
|
72
70
|
exports.TopPanel = TopPanel;
|
package/dist/helpers/colors.d.ts
CHANGED
|
@@ -23,4 +23,4 @@ export declare const TIMELINE_TRACK_SEPARATOR = "rgba(0, 0, 0, 0.3)";
|
|
|
23
23
|
export declare const getBackgroundFromHoverState: ({ selected, hovered, }: {
|
|
24
24
|
selected: boolean;
|
|
25
25
|
hovered: boolean;
|
|
26
|
-
}) => "transparent" | "hsla(0, 0%, 100%, 0.
|
|
26
|
+
}) => "transparent" | "hsla(0, 0%, 100%, 0.15)" | "hsla(0, 0%, 100%, 0.25)" | "rgba(255, 255, 255, 0.06)";
|
package/dist/index.d.ts
CHANGED
|
@@ -33,12 +33,12 @@ export declare const StudioInternals: {
|
|
|
33
33
|
installCommand: string;
|
|
34
34
|
startCommand: string;
|
|
35
35
|
}[];
|
|
36
|
-
getPackageManager: (remotionRoot: string, packageManager: string | undefined) =>
|
|
36
|
+
getPackageManager: (remotionRoot: string, packageManager: string | undefined) => {
|
|
37
37
|
manager: import("./preview-server/get-package-manager").PackageManager;
|
|
38
38
|
path: string;
|
|
39
39
|
installCommand: string;
|
|
40
40
|
startCommand: string;
|
|
41
|
-
};
|
|
41
|
+
} | "unknown";
|
|
42
42
|
getMaxTimelineTracks: () => number;
|
|
43
43
|
setMaxTimelineTracks: (maxTracks: number) => void;
|
|
44
44
|
formatBytes: (number: number, options?: Intl.NumberFormatOptions & {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remotion/studio",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.85",
|
|
4
4
|
"description": "Remotion Editor",
|
|
5
5
|
"main": "dist",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"memfs": "3.4.3",
|
|
19
19
|
"source-map": "0.7.3",
|
|
20
20
|
"open": "^8.4.2",
|
|
21
|
-
"remotion": "4.0.
|
|
22
|
-
"@remotion/bundler": "4.0.
|
|
23
|
-
"@remotion/
|
|
24
|
-
"@remotion/
|
|
25
|
-
"@remotion/
|
|
21
|
+
"remotion": "4.0.85",
|
|
22
|
+
"@remotion/bundler": "4.0.85",
|
|
23
|
+
"@remotion/renderer": "4.0.85",
|
|
24
|
+
"@remotion/player": "4.0.85",
|
|
25
|
+
"@remotion/media-utils": "4.0.85"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"react": "18.2.0",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"prettier-plugin-organize-imports": "3.2.4",
|
|
41
41
|
"vitest": "0.31.1",
|
|
42
42
|
"zod": "^3.22.3",
|
|
43
|
-
"@remotion/zod-types": "4.0.
|
|
43
|
+
"@remotion/zod-types": "4.0.85"
|
|
44
44
|
},
|
|
45
45
|
"scripts": {
|
|
46
46
|
"lint": "eslint src --ext ts,tsx",
|