@remotion/studio 4.0.376 → 4.0.377

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.
@@ -17956,6 +17956,7 @@ var label8 = {
17956
17956
  var TriggerWebRender = () => {
17957
17957
  const video = Internals44.useVideo();
17958
17958
  const getCurrentFrame2 = PlayerInternals15.useFrameImperative();
17959
+ const { inFrame, outFrame } = useTimelineInOutFramePosition();
17959
17960
  const { setSelectedModal } = useContext53(ModalsContext);
17960
17961
  const onClick = useCallback89(() => {
17961
17962
  if (!video?.id) {
@@ -17966,9 +17967,18 @@ var TriggerWebRender = () => {
17966
17967
  type: "web-render",
17967
17968
  initialFrame: frame2,
17968
17969
  compositionId: video.id,
17969
- defaultProps: video.defaultProps
17970
+ defaultProps: video.defaultProps,
17971
+ inFrameMark: inFrame,
17972
+ outFrameMark: outFrame
17970
17973
  });
17971
- }, [getCurrentFrame2, setSelectedModal, video?.id, video?.defaultProps]);
17974
+ }, [
17975
+ getCurrentFrame2,
17976
+ inFrame,
17977
+ outFrame,
17978
+ setSelectedModal,
17979
+ video?.defaultProps,
17980
+ video?.id
17981
+ ]);
17972
17982
  if (!video) {
17973
17983
  return null;
17974
17984
  }
@@ -48683,41 +48693,31 @@ var calculateTransforms = (element) => {
48683
48693
  nativeTransformOrigin
48684
48694
  };
48685
48695
  };
48686
- var composeCanvas = (canvas, context) => {
48687
- const { totalMatrix, reset, dimensions, nativeTransformOrigin } = calculateTransforms(canvas);
48688
- const translateX = nativeTransformOrigin.x + dimensions.left;
48689
- const translateY = nativeTransformOrigin.y + dimensions.top;
48690
- const matrix = new DOMMatrix().translate(translateX, translateY).multiply(totalMatrix).translate(-translateX, -translateY);
48691
- context.setTransform(matrix);
48692
- context.drawImage(canvas, dimensions.left, dimensions.top, dimensions.width, dimensions.height);
48693
- context.setTransform(new DOMMatrix);
48694
- reset();
48695
- };
48696
- var svgToImageBitmap = (svg) => {
48697
- const {
48698
- dimensions: svgDimensions,
48699
- totalMatrix,
48700
- reset
48701
- } = calculateTransforms(svg);
48696
+ var turnSvgIntoDrawable = (svg) => {
48702
48697
  const originalTransform = svg.style.transform;
48703
48698
  const originalTransformOrigin = svg.style.transformOrigin;
48704
- svg.style.transform = totalMatrix.toString();
48705
- svg.style.transformOrigin = "50% 50%";
48699
+ const originalMarginLeft = svg.style.marginLeft;
48700
+ const originalMarginRight = svg.style.marginRight;
48701
+ const originalMarginTop = svg.style.marginTop;
48702
+ const originalMarginBottom = svg.style.marginBottom;
48703
+ svg.style.transform = "none";
48704
+ svg.style.transformOrigin = "";
48705
+ svg.style.marginLeft = "0";
48706
+ svg.style.marginRight = "0";
48707
+ svg.style.marginTop = "0";
48708
+ svg.style.marginBottom = "0";
48706
48709
  const svgData = new XMLSerializer().serializeToString(svg);
48710
+ svg.style.marginLeft = originalMarginLeft;
48711
+ svg.style.marginRight = originalMarginRight;
48712
+ svg.style.marginTop = originalMarginTop;
48713
+ svg.style.marginBottom = originalMarginBottom;
48707
48714
  svg.style.transform = originalTransform;
48708
48715
  svg.style.transformOrigin = originalTransformOrigin;
48709
- reset();
48710
48716
  return new Promise((resolve, reject) => {
48711
- const image = new Image(svgDimensions.width, svgDimensions.height);
48717
+ const image = new Image;
48712
48718
  const url2 = `data:image/svg+xml;base64,${btoa(svgData)}`;
48713
48719
  image.onload = function() {
48714
- resolve({
48715
- image,
48716
- width: svgDimensions.width,
48717
- height: svgDimensions.height,
48718
- left: svgDimensions.left,
48719
- top: svgDimensions.top
48720
- });
48720
+ resolve(image);
48721
48721
  };
48722
48722
  image.onerror = () => {
48723
48723
  reject(new Error("Failed to convert SVG to image"));
@@ -48725,6 +48725,17 @@ var svgToImageBitmap = (svg) => {
48725
48725
  image.src = url2;
48726
48726
  });
48727
48727
  };
48728
+ var composeCanvas = async (canvas, context) => {
48729
+ const { totalMatrix, reset, dimensions } = calculateTransforms(canvas);
48730
+ const translateX = dimensions.left + dimensions.width / 2;
48731
+ const translateY = dimensions.top + dimensions.height / 2;
48732
+ const matrix = new DOMMatrix().translate(translateX, translateY).multiply(totalMatrix).translate(-translateX, -translateY);
48733
+ context.setTransform(matrix);
48734
+ const drawable = canvas instanceof SVGSVGElement ? await turnSvgIntoDrawable(canvas) : canvas;
48735
+ context.drawImage(drawable, dimensions.left, dimensions.top, dimensions.width, dimensions.height);
48736
+ context.setTransform(new DOMMatrix);
48737
+ reset();
48738
+ };
48728
48739
  var compose = async ({
48729
48740
  composables,
48730
48741
  width: width2,
@@ -48736,14 +48747,7 @@ var compose = async ({
48736
48747
  throw new Error("Could not get context");
48737
48748
  }
48738
48749
  for (const composable of composables) {
48739
- if (composable.type === "canvas" || composable.type === "img") {
48740
- composeCanvas(composable.element, context);
48741
- } else if (composable.type === "svg") {
48742
- const imageBitmap = await svgToImageBitmap(composable.element);
48743
- if (imageBitmap) {
48744
- context.drawImage(imageBitmap.image, imageBitmap.left, imageBitmap.top, imageBitmap.width, imageBitmap.height);
48745
- }
48746
- }
48750
+ await composeCanvas(composable.element, context);
48747
48751
  }
48748
48752
  return canvas;
48749
48753
  };
@@ -49760,7 +49764,9 @@ var validateOutnameForStill = ({
49760
49764
  };
49761
49765
  var WebRenderModal = ({
49762
49766
  initialFrame,
49763
- defaultProps
49767
+ defaultProps,
49768
+ inFrameMark,
49769
+ outFrameMark
49764
49770
  }) => {
49765
49771
  const context = useContext83(ResolvedCompositionContext);
49766
49772
  if (!context) {
@@ -49784,10 +49790,28 @@ var WebRenderModal = ({
49784
49790
  const [videoBitrate, setVideoBitrate] = useState81("high");
49785
49791
  const [hardwareAcceleration, setHardwareAcceleration] = useState81("no-preference");
49786
49792
  const [keyframeIntervalInSeconds, setKeyframeIntervalInSeconds] = useState81(5);
49787
- const [startFrame, setStartFrame] = useState81(null);
49788
- const [endFrame, setEndFrame] = useState81(null);
49793
+ const [startFrame, setStartFrame] = useState81(() => inFrameMark ?? null);
49794
+ const [endFrame, setEndFrame] = useState81(() => outFrameMark ?? null);
49789
49795
  const [renderProgress, setRenderProgress] = useState81(null);
49790
49796
  const [transparent, setTransparent] = useState81(false);
49797
+ const finalEndFrame = useMemo132(() => {
49798
+ if (endFrame === null) {
49799
+ return resolvedComposition.durationInFrames - 1;
49800
+ }
49801
+ return Math.max(0, Math.min(resolvedComposition.durationInFrames - 1, endFrame));
49802
+ }, [endFrame, resolvedComposition.durationInFrames]);
49803
+ const finalStartFrame = useMemo132(() => {
49804
+ if (startFrame === null) {
49805
+ return 0;
49806
+ }
49807
+ return Math.max(0, Math.min(finalEndFrame, startFrame));
49808
+ }, [finalEndFrame, startFrame]);
49809
+ const frameRange = useMemo132(() => {
49810
+ if (startFrame === null && endFrame === null) {
49811
+ return null;
49812
+ }
49813
+ return [finalStartFrame, finalEndFrame];
49814
+ }, [endFrame, finalEndFrame, finalStartFrame, startFrame]);
49791
49815
  const [initialOutName] = useState81(() => {
49792
49816
  return getDefaultOutLocation2({
49793
49817
  compositionName: resolvedComposition.id,
@@ -49968,10 +49992,7 @@ var WebRenderModal = ({
49968
49992
  videoBitrate,
49969
49993
  hardwareAcceleration,
49970
49994
  keyframeIntervalInSeconds,
49971
- frameRange: startFrame !== null || endFrame !== null ? [
49972
- startFrame ?? 0,
49973
- endFrame ?? resolvedComposition.durationInFrames - 1
49974
- ] : null,
49995
+ frameRange,
49975
49996
  onProgress: (progress) => {
49976
49997
  setRenderProgress(progress);
49977
49998
  },
@@ -49999,8 +50020,7 @@ var WebRenderModal = ({
49999
50020
  videoBitrate,
50000
50021
  hardwareAcceleration,
50001
50022
  keyframeIntervalInSeconds,
50002
- startFrame,
50003
- endFrame,
50023
+ frameRange,
50004
50024
  resolvedComposition.durationInFrames,
50005
50025
  resolvedComposition.width,
50006
50026
  resolvedComposition.height,
@@ -50040,7 +50060,7 @@ var WebRenderModal = ({
50040
50060
  style: buttonStyle7,
50041
50061
  disabled: !outnameValidation.valid,
50042
50062
  children: [
50043
- renderProgress ? `Rendering... ${renderProgress.renderedFrames}/${endFrame ?? resolvedComposition.durationInFrames - 1}` : `Render ${renderMode}`,
50063
+ renderProgress ? `Rendering... ${renderProgress.renderedFrames}/${finalEndFrame}` : `Render ${renderMode}`,
50044
50064
  /* @__PURE__ */ jsx263(ShortcutHint, {
50045
50065
  keyToPress: "↵",
50046
50066
  cmdOrCtrl: true
@@ -50128,9 +50148,9 @@ var WebRenderModal = ({
50128
50148
  setContainerFormat,
50129
50149
  codec,
50130
50150
  setCodec,
50131
- startFrame,
50151
+ startFrame: finalStartFrame,
50132
50152
  setStartFrame,
50133
- endFrame,
50153
+ endFrame: finalEndFrame,
50134
50154
  setEndFrame,
50135
50155
  outName,
50136
50156
  onOutNameChange,
@@ -50482,7 +50502,9 @@ var Modals = ({ readOnlyStudio }) => {
50482
50502
  type: "web-render",
50483
50503
  initialFrame: modalContextType.initialFrame,
50484
50504
  compositionId: modalContextType.compositionId,
50485
- defaultProps: modalContextType.defaultProps
50505
+ defaultProps: modalContextType.defaultProps,
50506
+ inFrameMark: modalContextType.inFrameMark,
50507
+ outFrameMark: modalContextType.outFrameMark
50486
50508
  }),
50487
50509
  modalContextType && canRender && modalContextType.type === "server-render" && /* @__PURE__ */ jsx268(RenderModalWithLoader, {
50488
50510
  initialFrame: modalContextType.initialFrame,
@@ -18236,6 +18236,7 @@ var label8 = {
18236
18236
  var TriggerWebRender = () => {
18237
18237
  const video = Internals44.useVideo();
18238
18238
  const getCurrentFrame2 = PlayerInternals15.useFrameImperative();
18239
+ const { inFrame, outFrame } = useTimelineInOutFramePosition();
18239
18240
  const { setSelectedModal } = useContext53(ModalsContext);
18240
18241
  const onClick = useCallback90(() => {
18241
18242
  if (!video?.id) {
@@ -18246,9 +18247,18 @@ var TriggerWebRender = () => {
18246
18247
  type: "web-render",
18247
18248
  initialFrame: frame2,
18248
18249
  compositionId: video.id,
18249
- defaultProps: video.defaultProps
18250
+ defaultProps: video.defaultProps,
18251
+ inFrameMark: inFrame,
18252
+ outFrameMark: outFrame
18250
18253
  });
18251
- }, [getCurrentFrame2, setSelectedModal, video?.id, video?.defaultProps]);
18254
+ }, [
18255
+ getCurrentFrame2,
18256
+ inFrame,
18257
+ outFrame,
18258
+ setSelectedModal,
18259
+ video?.defaultProps,
18260
+ video?.id
18261
+ ]);
18252
18262
  if (!video) {
18253
18263
  return null;
18254
18264
  }
@@ -48963,41 +48973,31 @@ var calculateTransforms = (element) => {
48963
48973
  nativeTransformOrigin
48964
48974
  };
48965
48975
  };
48966
- var composeCanvas = (canvas, context) => {
48967
- const { totalMatrix, reset, dimensions, nativeTransformOrigin } = calculateTransforms(canvas);
48968
- const translateX = nativeTransformOrigin.x + dimensions.left;
48969
- const translateY = nativeTransformOrigin.y + dimensions.top;
48970
- const matrix = new DOMMatrix().translate(translateX, translateY).multiply(totalMatrix).translate(-translateX, -translateY);
48971
- context.setTransform(matrix);
48972
- context.drawImage(canvas, dimensions.left, dimensions.top, dimensions.width, dimensions.height);
48973
- context.setTransform(new DOMMatrix);
48974
- reset();
48975
- };
48976
- var svgToImageBitmap = (svg) => {
48977
- const {
48978
- dimensions: svgDimensions,
48979
- totalMatrix,
48980
- reset
48981
- } = calculateTransforms(svg);
48976
+ var turnSvgIntoDrawable = (svg) => {
48982
48977
  const originalTransform = svg.style.transform;
48983
48978
  const originalTransformOrigin = svg.style.transformOrigin;
48984
- svg.style.transform = totalMatrix.toString();
48985
- svg.style.transformOrigin = "50% 50%";
48979
+ const originalMarginLeft = svg.style.marginLeft;
48980
+ const originalMarginRight = svg.style.marginRight;
48981
+ const originalMarginTop = svg.style.marginTop;
48982
+ const originalMarginBottom = svg.style.marginBottom;
48983
+ svg.style.transform = "none";
48984
+ svg.style.transformOrigin = "";
48985
+ svg.style.marginLeft = "0";
48986
+ svg.style.marginRight = "0";
48987
+ svg.style.marginTop = "0";
48988
+ svg.style.marginBottom = "0";
48986
48989
  const svgData = new XMLSerializer().serializeToString(svg);
48990
+ svg.style.marginLeft = originalMarginLeft;
48991
+ svg.style.marginRight = originalMarginRight;
48992
+ svg.style.marginTop = originalMarginTop;
48993
+ svg.style.marginBottom = originalMarginBottom;
48987
48994
  svg.style.transform = originalTransform;
48988
48995
  svg.style.transformOrigin = originalTransformOrigin;
48989
- reset();
48990
48996
  return new Promise((resolve, reject) => {
48991
- const image = new Image(svgDimensions.width, svgDimensions.height);
48997
+ const image = new Image;
48992
48998
  const url2 = `data:image/svg+xml;base64,${btoa(svgData)}`;
48993
48999
  image.onload = function() {
48994
- resolve({
48995
- image,
48996
- width: svgDimensions.width,
48997
- height: svgDimensions.height,
48998
- left: svgDimensions.left,
48999
- top: svgDimensions.top
49000
- });
49000
+ resolve(image);
49001
49001
  };
49002
49002
  image.onerror = () => {
49003
49003
  reject(new Error("Failed to convert SVG to image"));
@@ -49005,6 +49005,17 @@ var svgToImageBitmap = (svg) => {
49005
49005
  image.src = url2;
49006
49006
  });
49007
49007
  };
49008
+ var composeCanvas = async (canvas, context) => {
49009
+ const { totalMatrix, reset, dimensions } = calculateTransforms(canvas);
49010
+ const translateX = dimensions.left + dimensions.width / 2;
49011
+ const translateY = dimensions.top + dimensions.height / 2;
49012
+ const matrix = new DOMMatrix().translate(translateX, translateY).multiply(totalMatrix).translate(-translateX, -translateY);
49013
+ context.setTransform(matrix);
49014
+ const drawable = canvas instanceof SVGSVGElement ? await turnSvgIntoDrawable(canvas) : canvas;
49015
+ context.drawImage(drawable, dimensions.left, dimensions.top, dimensions.width, dimensions.height);
49016
+ context.setTransform(new DOMMatrix);
49017
+ reset();
49018
+ };
49008
49019
  var compose = async ({
49009
49020
  composables,
49010
49021
  width: width2,
@@ -49016,14 +49027,7 @@ var compose = async ({
49016
49027
  throw new Error("Could not get context");
49017
49028
  }
49018
49029
  for (const composable of composables) {
49019
- if (composable.type === "canvas" || composable.type === "img") {
49020
- composeCanvas(composable.element, context);
49021
- } else if (composable.type === "svg") {
49022
- const imageBitmap = await svgToImageBitmap(composable.element);
49023
- if (imageBitmap) {
49024
- context.drawImage(imageBitmap.image, imageBitmap.left, imageBitmap.top, imageBitmap.width, imageBitmap.height);
49025
- }
49026
- }
49030
+ await composeCanvas(composable.element, context);
49027
49031
  }
49028
49032
  return canvas;
49029
49033
  };
@@ -50040,7 +50044,9 @@ var validateOutnameForStill = ({
50040
50044
  };
50041
50045
  var WebRenderModal = ({
50042
50046
  initialFrame,
50043
- defaultProps
50047
+ defaultProps,
50048
+ inFrameMark,
50049
+ outFrameMark
50044
50050
  }) => {
50045
50051
  const context = useContext83(ResolvedCompositionContext);
50046
50052
  if (!context) {
@@ -50064,10 +50070,28 @@ var WebRenderModal = ({
50064
50070
  const [videoBitrate, setVideoBitrate] = useState82("high");
50065
50071
  const [hardwareAcceleration, setHardwareAcceleration] = useState82("no-preference");
50066
50072
  const [keyframeIntervalInSeconds, setKeyframeIntervalInSeconds] = useState82(5);
50067
- const [startFrame, setStartFrame] = useState82(null);
50068
- const [endFrame, setEndFrame] = useState82(null);
50073
+ const [startFrame, setStartFrame] = useState82(() => inFrameMark ?? null);
50074
+ const [endFrame, setEndFrame] = useState82(() => outFrameMark ?? null);
50069
50075
  const [renderProgress, setRenderProgress] = useState82(null);
50070
50076
  const [transparent, setTransparent] = useState82(false);
50077
+ const finalEndFrame = useMemo132(() => {
50078
+ if (endFrame === null) {
50079
+ return resolvedComposition.durationInFrames - 1;
50080
+ }
50081
+ return Math.max(0, Math.min(resolvedComposition.durationInFrames - 1, endFrame));
50082
+ }, [endFrame, resolvedComposition.durationInFrames]);
50083
+ const finalStartFrame = useMemo132(() => {
50084
+ if (startFrame === null) {
50085
+ return 0;
50086
+ }
50087
+ return Math.max(0, Math.min(finalEndFrame, startFrame));
50088
+ }, [finalEndFrame, startFrame]);
50089
+ const frameRange = useMemo132(() => {
50090
+ if (startFrame === null && endFrame === null) {
50091
+ return null;
50092
+ }
50093
+ return [finalStartFrame, finalEndFrame];
50094
+ }, [endFrame, finalEndFrame, finalStartFrame, startFrame]);
50071
50095
  const [initialOutName] = useState82(() => {
50072
50096
  return getDefaultOutLocation2({
50073
50097
  compositionName: resolvedComposition.id,
@@ -50248,10 +50272,7 @@ var WebRenderModal = ({
50248
50272
  videoBitrate,
50249
50273
  hardwareAcceleration,
50250
50274
  keyframeIntervalInSeconds,
50251
- frameRange: startFrame !== null || endFrame !== null ? [
50252
- startFrame ?? 0,
50253
- endFrame ?? resolvedComposition.durationInFrames - 1
50254
- ] : null,
50275
+ frameRange,
50255
50276
  onProgress: (progress) => {
50256
50277
  setRenderProgress(progress);
50257
50278
  },
@@ -50279,8 +50300,7 @@ var WebRenderModal = ({
50279
50300
  videoBitrate,
50280
50301
  hardwareAcceleration,
50281
50302
  keyframeIntervalInSeconds,
50282
- startFrame,
50283
- endFrame,
50303
+ frameRange,
50284
50304
  resolvedComposition.durationInFrames,
50285
50305
  resolvedComposition.width,
50286
50306
  resolvedComposition.height,
@@ -50320,7 +50340,7 @@ var WebRenderModal = ({
50320
50340
  style: buttonStyle7,
50321
50341
  disabled: !outnameValidation.valid,
50322
50342
  children: [
50323
- renderProgress ? `Rendering... ${renderProgress.renderedFrames}/${endFrame ?? resolvedComposition.durationInFrames - 1}` : `Render ${renderMode}`,
50343
+ renderProgress ? `Rendering... ${renderProgress.renderedFrames}/${finalEndFrame}` : `Render ${renderMode}`,
50324
50344
  /* @__PURE__ */ jsx264(ShortcutHint, {
50325
50345
  keyToPress: "↵",
50326
50346
  cmdOrCtrl: true
@@ -50408,9 +50428,9 @@ var WebRenderModal = ({
50408
50428
  setContainerFormat,
50409
50429
  codec,
50410
50430
  setCodec,
50411
- startFrame,
50431
+ startFrame: finalStartFrame,
50412
50432
  setStartFrame,
50413
- endFrame,
50433
+ endFrame: finalEndFrame,
50414
50434
  setEndFrame,
50415
50435
  outName,
50416
50436
  onOutNameChange,
@@ -50762,7 +50782,9 @@ var Modals = ({ readOnlyStudio }) => {
50762
50782
  type: "web-render",
50763
50783
  initialFrame: modalContextType.initialFrame,
50764
50784
  compositionId: modalContextType.compositionId,
50765
- defaultProps: modalContextType.defaultProps
50785
+ defaultProps: modalContextType.defaultProps,
50786
+ inFrameMark: modalContextType.inFrameMark,
50787
+ outFrameMark: modalContextType.outFrameMark
50766
50788
  }),
50767
50789
  modalContextType && canRender && modalContextType.type === "server-render" && /* @__PURE__ */ jsx269(RenderModalWithLoader, {
50768
50790
  initialFrame: modalContextType.initialFrame,
@@ -206,7 +206,7 @@ var renderContent = (Root) => {
206
206
  renderToDOM(/* @__PURE__ */ jsx("div", {
207
207
  children: /* @__PURE__ */ jsx(DelayedSpinner, {})
208
208
  }));
209
- import("./chunk-fbkf30v3.js").then(({ StudioInternals }) => {
209
+ import("./chunk-x5sy3ah8.js").then(({ StudioInternals }) => {
210
210
  window.remotion_isStudio = true;
211
211
  window.remotion_isReadOnlyStudio = true;
212
212
  window.remotion_inputProps = "{}";
@@ -12,6 +12,8 @@ export type WebRenderModalState = {
12
12
  initialFrame: number;
13
13
  compositionId: string;
14
14
  defaultProps: Record<string, unknown>;
15
+ inFrameMark: number | null;
16
+ outFrameMark: number | null;
15
17
  };
16
18
  export type RenderModalState = {
17
19
  type: 'server-render';
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
4
4
  },
5
5
  "name": "@remotion/studio",
6
- "version": "4.0.376",
6
+ "version": "4.0.377",
7
7
  "description": "APIs for interacting with the Remotion Studio",
8
8
  "main": "dist",
9
9
  "sideEffects": false,
@@ -25,13 +25,13 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.376",
29
- "@remotion/player": "4.0.376",
30
- "@remotion/media-utils": "4.0.376",
31
- "@remotion/renderer": "4.0.376",
32
- "@remotion/web-renderer": "4.0.376",
33
- "@remotion/studio-shared": "4.0.376",
34
- "@remotion/zod-types": "4.0.376",
28
+ "remotion": "4.0.377",
29
+ "@remotion/player": "4.0.377",
30
+ "@remotion/media-utils": "4.0.377",
31
+ "@remotion/renderer": "4.0.377",
32
+ "@remotion/web-renderer": "4.0.377",
33
+ "@remotion/studio-shared": "4.0.377",
34
+ "@remotion/zod-types": "4.0.377",
35
35
  "mediabunny": "1.24.5",
36
36
  "memfs": "3.4.3",
37
37
  "source-map": "0.7.3",
@@ -42,7 +42,7 @@
42
42
  "react": "19.0.0",
43
43
  "react-dom": "19.0.0",
44
44
  "@types/semver": "^7.3.4",
45
- "@remotion/eslint-config-internal": "4.0.376",
45
+ "@remotion/eslint-config-internal": "4.0.377",
46
46
  "eslint": "9.19.0"
47
47
  },
48
48
  "publishConfig": {