remotion 4.0.518 → 4.0.519

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.
@@ -8,6 +8,7 @@ const CanUseRemotionHooks_js_1 = require("./CanUseRemotionHooks.js");
8
8
  const composition_render_error_context_js_1 = require("./composition-render-error-context.js");
9
9
  const CompositionErrorBoundary_js_1 = require("./CompositionErrorBoundary.js");
10
10
  const CompositionManagerContext_js_1 = require("./CompositionManagerContext.js");
11
+ const enable_sequence_stack_traces_js_1 = require("./enable-sequence-stack-traces.js");
11
12
  const Folder_js_1 = require("./Folder.js");
12
13
  const input_props_serialization_js_1 = require("./input-props-serialization.js");
13
14
  const is_player_js_1 = require("./is-player.js");
@@ -56,7 +57,9 @@ const InnerComposition = ({ width, height, fps, durationInFrames, id, defaultPro
56
57
  const { folderName, parentName } = (0, react_1.useContext)(Folder_js_1.FolderContext);
57
58
  const stack = (_b = compProps
58
59
  ._remotionInternalStack) !== null && _b !== void 0 ? _b : null;
59
- const componentFromProps = 'component' in compProps ? compProps.component : null;
60
+ const componentFromProps = 'component' in compProps
61
+ ? (0, enable_sequence_stack_traces_js_1.resolveComponentIdentity)(compProps.component)
62
+ : null;
60
63
  (0, react_1.useEffect)(() => {
61
64
  var _a;
62
65
  // Ensure it's a URL safe id
@@ -1,10 +1,14 @@
1
1
  import React from 'react';
2
2
  import type { SequenceControls } from './CompositionManager.js';
3
+ type ComponentIdentityResolver = (component: unknown) => unknown;
3
4
  export declare const REMOTION_INTERNAL_STACK_PROP = "_remotionInternalStack";
4
5
  export declare const getComponentsToAddStacksTo: () => unknown[];
5
6
  export declare const addSequenceStackTraces: (component: unknown) => void;
6
7
  export declare const setSequenceComponent: (component: unknown) => void;
7
8
  export declare const getSequenceComponent: () => unknown;
9
+ export declare const setComponentIdentityResolver: (resolver: ComponentIdentityResolver | null) => void;
10
+ export declare const resolveComponentIdentity: (component: unknown) => unknown;
8
11
  export declare const setStackForControls: (controls: SequenceControls, stack: string | undefined) => void;
9
12
  export declare const getStackForControls: (controls: SequenceControls) => string | null;
10
13
  export declare const getSingleChildComponent: (children: React.ReactNode) => unknown;
14
+ export {};
@@ -3,11 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSingleChildComponent = exports.getStackForControls = exports.setStackForControls = exports.getSequenceComponent = exports.setSequenceComponent = exports.addSequenceStackTraces = exports.getComponentsToAddStacksTo = exports.REMOTION_INTERNAL_STACK_PROP = void 0;
6
+ exports.getSingleChildComponent = exports.getStackForControls = exports.setStackForControls = exports.resolveComponentIdentity = exports.setComponentIdentityResolver = exports.getSequenceComponent = exports.setSequenceComponent = exports.addSequenceStackTraces = exports.getComponentsToAddStacksTo = exports.REMOTION_INTERNAL_STACK_PROP = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const componentsToAddStacksTo = [];
9
9
  let sequenceComponent = null;
10
10
  const stacksByControls = new WeakMap();
11
+ // Studio installs a resolver that maps refreshed component implementations to
12
+ // the stable family object maintained by React Refresh.
13
+ let componentIdentityResolver = null;
11
14
  exports.REMOTION_INTERNAL_STACK_PROP = '_remotionInternalStack';
12
15
  const getComponentsToAddStacksTo = () => componentsToAddStacksTo;
13
16
  exports.getComponentsToAddStacksTo = getComponentsToAddStacksTo;
@@ -21,6 +24,15 @@ const setSequenceComponent = (component) => {
21
24
  exports.setSequenceComponent = setSequenceComponent;
22
25
  const getSequenceComponent = () => sequenceComponent;
23
26
  exports.getSequenceComponent = getSequenceComponent;
27
+ const setComponentIdentityResolver = (resolver) => {
28
+ componentIdentityResolver = resolver;
29
+ };
30
+ exports.setComponentIdentityResolver = setComponentIdentityResolver;
31
+ const resolveComponentIdentity = (component) => {
32
+ var _a;
33
+ return (_a = componentIdentityResolver === null || componentIdentityResolver === void 0 ? void 0 : componentIdentityResolver(component)) !== null && _a !== void 0 ? _a : component;
34
+ };
35
+ exports.resolveComponentIdentity = resolveComponentIdentity;
24
36
  const setStackForControls = (controls, stack) => {
25
37
  if (stack === undefined) {
26
38
  stacksByControls.delete(controls);
@@ -46,6 +58,6 @@ const getSingleChildComponent = (children) => {
46
58
  if (typeof child.type !== 'function' && typeof child.type !== 'object') {
47
59
  return null;
48
60
  }
49
- return child.type;
61
+ return (0, exports.resolveComponentIdentity)(child.type);
50
62
  };
51
63
  exports.getSingleChildComponent = getSingleChildComponent;
@@ -65,6 +65,7 @@ declare global {
65
65
  remotion_isPlayer: boolean;
66
66
  remotion_isStudio: boolean;
67
67
  remotion_isReadOnlyStudio: boolean;
68
+ remotion_enableSequenceStackTraces: (() => void) | null;
68
69
  remotion_isBuilding: undefined | (() => void);
69
70
  remotion_finishedBuilding: undefined | (() => void);
70
71
  siteVersion: '11';
@@ -1033,6 +1033,7 @@ export declare const Internals: {
1033
1033
  readonly getSingleChildComponent: (children: import("react").ReactNode) => unknown;
1034
1034
  readonly getStackForControls: (controls: import("./CompositionManager.js").SequenceControls) => string | null;
1035
1035
  readonly REMOTION_INTERNAL_STACK_PROP: "_remotionInternalStack";
1036
+ readonly setComponentIdentityResolver: (resolver: ((component: unknown) => unknown) | null) => void;
1036
1037
  readonly CurrentScaleContext: import("react").Context<({
1037
1038
  type: "scale";
1038
1039
  scale: number;
@@ -238,6 +238,7 @@ exports.Internals = {
238
238
  getSingleChildComponent: enable_sequence_stack_traces_js_1.getSingleChildComponent,
239
239
  getStackForControls: enable_sequence_stack_traces_js_1.getStackForControls,
240
240
  REMOTION_INTERNAL_STACK_PROP: enable_sequence_stack_traces_js_1.REMOTION_INTERNAL_STACK_PROP,
241
+ setComponentIdentityResolver: enable_sequence_stack_traces_js_1.setComponentIdentityResolver,
241
242
  CurrentScaleContext: use_current_scale_js_1.CurrentScaleContext,
242
243
  PixelDensityContext: use_pixel_density_js_1.PixelDensityContext,
243
244
  PreviewSizeContext: use_current_scale_js_1.PreviewSizeContext,
@@ -509,11 +509,17 @@ const interpolateString = ({ input, inputRange, outputRange, options, }) => {
509
509
  // the active neighbor's axis prevents the axis from drifting while the
510
510
  // angle interpolates away from zero.
511
511
  const adjacentAxisRotation = parsed.values[0] === 0
512
- ? index === segmentIndex
513
- ? initiallyParsedOutputRange[index + 1]
514
- : index === segmentIndex + 1
515
- ? initiallyParsedOutputRange[index - 1]
516
- : undefined
512
+ ? index === 0
513
+ ? initiallyParsedOutputRange.find((candidate) => candidate.axisRotation)
514
+ : index === initiallyParsedOutputRange.length - 1
515
+ ? [...initiallyParsedOutputRange]
516
+ .reverse()
517
+ .find((candidate) => candidate.axisRotation)
518
+ : index === segmentIndex
519
+ ? initiallyParsedOutputRange[index + 1]
520
+ : index === segmentIndex + 1
521
+ ? initiallyParsedOutputRange[index - 1]
522
+ : undefined
517
523
  : undefined;
518
524
  const axis = (adjacentAxisRotation === null || adjacentAxisRotation === void 0 ? void 0 : adjacentAxisRotation.axisRotation)
519
525
  ? adjacentAxisRotation.values
@@ -87,9 +87,6 @@ function springCalculation({ frame, fps, config = {}, }) {
87
87
  const frameClamped = Math.max(0, frame);
88
88
  const unevenRest = frameClamped % 1;
89
89
  for (let f = 0; f <= Math.floor(frameClamped); f++) {
90
- if (f === Math.floor(frameClamped)) {
91
- f += unevenRest;
92
- }
93
90
  const time = (f / fps) * 1000;
94
91
  animation = advance({
95
92
  animation,
@@ -100,6 +97,16 @@ function springCalculation({ frame, fps, config = {}, }) {
100
97
  },
101
98
  });
102
99
  }
100
+ if (unevenRest > 0) {
101
+ animation = advance({
102
+ animation,
103
+ now: (frameClamped / fps) * 1000,
104
+ config: {
105
+ ...defaultSpringConfig,
106
+ ...config,
107
+ },
108
+ });
109
+ }
103
110
  calculationCache[cacheKey] = animation;
104
111
  return animation;
105
112
  }
@@ -3,4 +3,4 @@
3
3
  * @see [Documentation](https://remotion.dev/docs/version)
4
4
  * @returns {string} The current version of the remotion package
5
5
  */
6
- export declare const VERSION = "4.0.518";
6
+ export declare const VERSION = "4.0.519";
@@ -7,4 +7,4 @@ exports.VERSION = void 0;
7
7
  * @see [Documentation](https://remotion.dev/docs/version)
8
8
  * @returns {string} The current version of the remotion package
9
9
  */
10
- exports.VERSION = '4.0.518';
10
+ exports.VERSION = '4.0.519';
@@ -160,6 +160,52 @@ var CompositionSetters = createContext4({
160
160
  onlyRenderComposition: null
161
161
  });
162
162
 
163
+ // src/enable-sequence-stack-traces.ts
164
+ import React3 from "react";
165
+ var componentsToAddStacksTo = [];
166
+ var sequenceComponent = null;
167
+ var stacksByControls = new WeakMap;
168
+ var componentIdentityResolver = null;
169
+ var REMOTION_INTERNAL_STACK_PROP = "_remotionInternalStack";
170
+ var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
171
+ var addSequenceStackTraces = (component) => {
172
+ componentsToAddStacksTo.push(component);
173
+ };
174
+ var setSequenceComponent = (component) => {
175
+ sequenceComponent = component;
176
+ };
177
+ var getSequenceComponent = () => sequenceComponent;
178
+ var setComponentIdentityResolver = (resolver) => {
179
+ componentIdentityResolver = resolver;
180
+ };
181
+ var resolveComponentIdentity = (component) => {
182
+ return componentIdentityResolver?.(component) ?? component;
183
+ };
184
+ var setStackForControls = (controls, stack) => {
185
+ if (stack === undefined) {
186
+ stacksByControls.delete(controls);
187
+ return;
188
+ }
189
+ stacksByControls.set(controls, stack);
190
+ };
191
+ var getStackForControls = (controls) => {
192
+ return stacksByControls.get(controls) ?? null;
193
+ };
194
+ var getSingleChildComponent = (children) => {
195
+ const mountedChildren = React3.Children.toArray(children);
196
+ if (mountedChildren.length !== 1) {
197
+ return null;
198
+ }
199
+ const child = mountedChildren[0];
200
+ if (!React3.isValidElement(child)) {
201
+ return null;
202
+ }
203
+ if (typeof child.type !== "function" && typeof child.type !== "object") {
204
+ return null;
205
+ }
206
+ return resolveComponentIdentity(child.type);
207
+ };
208
+
163
209
  // src/Folder.tsx
164
210
  import { createContext as createContext6, useContext as useContext2, useEffect, useMemo as useMemo2 } from "react";
165
211
 
@@ -471,7 +517,7 @@ var AbsoluteFillElementRefForwarding = (props, ref) => {
471
517
  var AbsoluteFillElement = forwardRef(AbsoluteFillElementRefForwarding);
472
518
 
473
519
  // src/use-current-scale.ts
474
- import React6, { createContext as createContext11 } from "react";
520
+ import React7, { createContext as createContext11 } from "react";
475
521
 
476
522
  // src/portal-node.ts
477
523
  var _portalNode = null;
@@ -521,8 +567,8 @@ var portalNode = () => {
521
567
  import { useContext as useContext4, useState } from "react";
522
568
 
523
569
  // src/remotion-environment-context.ts
524
- import React4 from "react";
525
- var RemotionEnvironmentContext = React4.createContext(null);
570
+ import React5 from "react";
571
+ var RemotionEnvironmentContext = React5.createContext(null);
526
572
 
527
573
  // src/use-remotion-environment.ts
528
574
  var useRemotionEnvironment = () => {
@@ -601,7 +647,7 @@ var getInputProps = () => {
601
647
  };
602
648
 
603
649
  // src/EditorProps.tsx
604
- import React5, { createContext as createContext9, useCallback as useCallback2, useMemo as useMemo4 } from "react";
650
+ import React6, { createContext as createContext9, useCallback as useCallback2, useMemo as useMemo4 } from "react";
605
651
  import { jsx as jsx5 } from "react/jsx-runtime";
606
652
  var EditorPropsContext = createContext9({
607
653
  props: {},
@@ -609,9 +655,9 @@ var EditorPropsContext = createContext9({
609
655
  throw new Error("Not implemented");
610
656
  }
611
657
  });
612
- var timeValueRef = React5.createRef();
658
+ var timeValueRef = React6.createRef();
613
659
  var EditorPropsProvider = ({ children }) => {
614
- const [props, setProps] = React5.useState({});
660
+ const [props, setProps] = React6.useState({});
615
661
  const updateProps = useCallback2(({
616
662
  defaultProps,
617
663
  id,
@@ -885,7 +931,7 @@ var useUnsafeVideoConfig = () => {
885
931
  };
886
932
 
887
933
  // src/use-current-scale.ts
888
- var CurrentScaleContext = React6.createContext(null);
934
+ var CurrentScaleContext = React7.createContext(null);
889
935
  var PreviewSizeContext = createContext11({
890
936
  setSize: () => {
891
937
  return;
@@ -910,12 +956,12 @@ var calculateScale = ({
910
956
  return Number(previewSize);
911
957
  };
912
958
  var useCurrentScale = (options) => {
913
- const hasContext = React6.useContext(CurrentScaleContext);
914
- const zoomContext = React6.useContext(PreviewSizeContext);
959
+ const hasContext = React7.useContext(CurrentScaleContext);
960
+ const zoomContext = React7.useContext(PreviewSizeContext);
915
961
  const config = useUnsafeVideoConfig();
916
962
  const env = useRemotionEnvironment();
917
- const [portalScale, setPortalScale] = React6.useState(getPortalNodeCurrentScale);
918
- React6.useEffect(() => {
963
+ const [portalScale, setPortalScale] = React7.useState(getPortalNodeCurrentScale);
964
+ React7.useEffect(() => {
919
965
  const update = () => setPortalScale(getPortalNodeCurrentScale());
920
966
  update();
921
967
  return subscribeToPortalNodeCurrentScale(update);
@@ -1230,20 +1276,20 @@ var continueRender = (handle) => {
1230
1276
 
1231
1277
  // src/log-level-context.tsx
1232
1278
  import { createContext as createContext12 } from "react";
1233
- import * as React7 from "react";
1279
+ import * as React8 from "react";
1234
1280
  var LogLevelContext = createContext12({
1235
1281
  logLevel: "info",
1236
1282
  mountTime: 0
1237
1283
  });
1238
1284
  var useLogLevel = () => {
1239
- const { logLevel } = React7.useContext(LogLevelContext);
1285
+ const { logLevel } = React8.useContext(LogLevelContext);
1240
1286
  if (logLevel === null) {
1241
1287
  throw new Error("useLogLevel must be used within a LogLevelProvider");
1242
1288
  }
1243
1289
  return logLevel;
1244
1290
  };
1245
1291
  var useMountTime = () => {
1246
- const { mountTime } = React7.useContext(LogLevelContext);
1292
+ const { mountTime } = React8.useContext(LogLevelContext);
1247
1293
  if (mountTime === null) {
1248
1294
  throw new Error("useMountTime must be used within a LogLevelProvider");
1249
1295
  }
@@ -1285,7 +1331,7 @@ var useDelayRender = () => {
1285
1331
  };
1286
1332
 
1287
1333
  // src/use-lazy-component.ts
1288
- import React8, { useMemo as useMemo8, useRef as useRef2 } from "react";
1334
+ import React9, { useMemo as useMemo8, useRef as useRef2 } from "react";
1289
1335
  var useLazyComponent = ({
1290
1336
  compProps,
1291
1337
  componentName,
@@ -1305,7 +1351,7 @@ var useLazyComponent = ({
1305
1351
  }
1306
1352
  const Wrapper = (props) => {
1307
1353
  const Comp = componentRef.current;
1308
- return React8.createElement(Comp, props);
1354
+ return React9.createElement(Comp, props);
1309
1355
  };
1310
1356
  return Wrapper;
1311
1357
  }
@@ -1313,7 +1359,7 @@ var useLazyComponent = ({
1313
1359
  if (typeof compProps.lazyComponent === "undefined") {
1314
1360
  throw new Error(`A value of \`undefined\` was passed to the \`lazyComponent\` prop. Check the value you are passing to the <${componentName}/> component.`);
1315
1361
  }
1316
- return React8.lazy(compProps.lazyComponent);
1362
+ return React9.lazy(compProps.lazyComponent);
1317
1363
  }
1318
1364
  throw new Error("You must pass either 'component' or 'lazyComponent'");
1319
1365
  }, [compProps.lazyComponent]);
@@ -1386,7 +1432,7 @@ var InnerComposition = ({
1386
1432
  }
1387
1433
  const { folderName, parentName } = useContext10(FolderContext);
1388
1434
  const stack = compProps._remotionInternalStack ?? null;
1389
- const componentFromProps = "component" in compProps ? compProps.component : null;
1435
+ const componentFromProps = "component" in compProps ? resolveComponentIdentity(compProps.component) : null;
1390
1436
  useEffect2(() => {
1391
1437
  if (!id) {
1392
1438
  throw new Error("No id for composition passed.");
@@ -1482,47 +1528,8 @@ var Composition = (props) => {
1482
1528
  });
1483
1529
  };
1484
1530
 
1485
- // src/enable-sequence-stack-traces.ts
1486
- import React10 from "react";
1487
- var componentsToAddStacksTo = [];
1488
- var sequenceComponent = null;
1489
- var stacksByControls = new WeakMap;
1490
- var REMOTION_INTERNAL_STACK_PROP = "_remotionInternalStack";
1491
- var getComponentsToAddStacksTo = () => componentsToAddStacksTo;
1492
- var addSequenceStackTraces = (component) => {
1493
- componentsToAddStacksTo.push(component);
1494
- };
1495
- var setSequenceComponent = (component) => {
1496
- sequenceComponent = component;
1497
- };
1498
- var getSequenceComponent = () => sequenceComponent;
1499
- var setStackForControls = (controls, stack) => {
1500
- if (stack === undefined) {
1501
- stacksByControls.delete(controls);
1502
- return;
1503
- }
1504
- stacksByControls.set(controls, stack);
1505
- };
1506
- var getStackForControls = (controls) => {
1507
- return stacksByControls.get(controls) ?? null;
1508
- };
1509
- var getSingleChildComponent = (children) => {
1510
- const mountedChildren = React10.Children.toArray(children);
1511
- if (mountedChildren.length !== 1) {
1512
- return null;
1513
- }
1514
- const child = mountedChildren[0];
1515
- if (!React10.isValidElement(child)) {
1516
- return null;
1517
- }
1518
- if (typeof child.type !== "function" && typeof child.type !== "object") {
1519
- return null;
1520
- }
1521
- return child.type;
1522
- };
1523
-
1524
1531
  // src/version.ts
1525
- var VERSION = "4.0.518";
1532
+ var VERSION = "4.0.519";
1526
1533
 
1527
1534
  // src/multiple-versions-warning.ts
1528
1535
  var checkMultipleRemotionVersions = () => {
@@ -3259,7 +3266,7 @@ var interpolateString = ({
3259
3266
  if (parsed.dimensions !== 1) {
3260
3267
  throw new TypeError("Cannot interpolate a multi-angle rotate value with an axis rotation");
3261
3268
  }
3262
- const adjacentAxisRotation = parsed.values[0] === 0 ? index === segmentIndex ? initiallyParsedOutputRange[index + 1] : index === segmentIndex + 1 ? initiallyParsedOutputRange[index - 1] : undefined : undefined;
3269
+ const adjacentAxisRotation = parsed.values[0] === 0 ? index === 0 ? initiallyParsedOutputRange.find((candidate) => candidate.axisRotation) : index === initiallyParsedOutputRange.length - 1 ? [...initiallyParsedOutputRange].reverse().find((candidate) => candidate.axisRotation) : index === segmentIndex ? initiallyParsedOutputRange[index + 1] : index === segmentIndex + 1 ? initiallyParsedOutputRange[index - 1] : undefined : undefined;
3263
3270
  const axis = adjacentAxisRotation?.axisRotation ? adjacentAxisRotation.values : [0, 0, 1];
3264
3271
  return {
3265
3272
  kind: "rotate",
@@ -3653,9 +3660,6 @@ function springCalculation({
3653
3660
  const frameClamped = Math.max(0, frame);
3654
3661
  const unevenRest = frameClamped % 1;
3655
3662
  for (let f = 0;f <= Math.floor(frameClamped); f++) {
3656
- if (f === Math.floor(frameClamped)) {
3657
- f += unevenRest;
3658
- }
3659
3663
  const time = f / fps * 1000;
3660
3664
  animation = advance({
3661
3665
  animation,
@@ -3666,6 +3670,16 @@ function springCalculation({
3666
3670
  }
3667
3671
  });
3668
3672
  }
3673
+ if (unevenRest > 0) {
3674
+ animation = advance({
3675
+ animation,
3676
+ now: frameClamped / fps * 1000,
3677
+ config: {
3678
+ ...defaultSpringConfig,
3679
+ ...config
3680
+ }
3681
+ });
3682
+ }
3669
3683
  calculationCache[cacheKey] = animation;
3670
3684
  return animation;
3671
3685
  }
@@ -13482,6 +13496,7 @@ var Internals = {
13482
13496
  getSingleChildComponent,
13483
13497
  getStackForControls,
13484
13498
  REMOTION_INTERNAL_STACK_PROP,
13499
+ setComponentIdentityResolver,
13485
13500
  CurrentScaleContext,
13486
13501
  PixelDensityContext,
13487
13502
  PreviewSizeContext,
@@ -258,9 +258,6 @@ function springCalculation({
258
258
  const frameClamped = Math.max(0, frame);
259
259
  const unevenRest = frameClamped % 1;
260
260
  for (let f = 0;f <= Math.floor(frameClamped); f++) {
261
- if (f === Math.floor(frameClamped)) {
262
- f += unevenRest;
263
- }
264
261
  const time = f / fps * 1000;
265
262
  animation = advance({
266
263
  animation,
@@ -271,6 +268,16 @@ function springCalculation({
271
268
  }
272
269
  });
273
270
  }
271
+ if (unevenRest > 0) {
272
+ animation = advance({
273
+ animation,
274
+ now: frameClamped / fps * 1000,
275
+ config: {
276
+ ...defaultSpringConfig,
277
+ ...config
278
+ }
279
+ });
280
+ }
274
281
  calculationCache[cacheKey] = animation;
275
282
  return animation;
276
283
  }
@@ -990,7 +997,7 @@ var interpolateString = ({
990
997
  if (parsed.dimensions !== 1) {
991
998
  throw new TypeError("Cannot interpolate a multi-angle rotate value with an axis rotation");
992
999
  }
993
- const adjacentAxisRotation = parsed.values[0] === 0 ? index === segmentIndex ? initiallyParsedOutputRange[index + 1] : index === segmentIndex + 1 ? initiallyParsedOutputRange[index - 1] : undefined : undefined;
1000
+ const adjacentAxisRotation = parsed.values[0] === 0 ? index === 0 ? initiallyParsedOutputRange.find((candidate) => candidate.axisRotation) : index === initiallyParsedOutputRange.length - 1 ? [...initiallyParsedOutputRange].reverse().find((candidate) => candidate.axisRotation) : index === segmentIndex ? initiallyParsedOutputRange[index + 1] : index === segmentIndex + 1 ? initiallyParsedOutputRange[index - 1] : undefined : undefined;
994
1001
  const axis = adjacentAxisRotation?.axisRotation ? adjacentAxisRotation.values : [0, 0, 1];
995
1002
  return {
996
1003
  kind: "rotate",
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "4.0.518";
2
+ var VERSION = "4.0.519";
3
3
  export {
4
4
  VERSION
5
5
  };
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/core"
4
4
  },
5
5
  "name": "remotion",
6
- "version": "4.0.518",
6
+ "version": "4.0.519",
7
7
  "description": "Make videos programmatically",
8
8
  "main": "dist/cjs/index.js",
9
9
  "types": "dist/cjs/index.d.ts",
@@ -35,7 +35,7 @@
35
35
  "react-dom": "19.2.3",
36
36
  "webpack": "5.105.0",
37
37
  "zod": "4.4.3",
38
- "@remotion/eslint-config-internal": "4.0.518",
38
+ "@remotion/eslint-config-internal": "4.0.519",
39
39
  "eslint": "9.19.0",
40
40
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
41
41
  },