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.
- package/dist/cjs/Composition.js +4 -1
- package/dist/cjs/enable-sequence-stack-traces.d.ts +4 -0
- package/dist/cjs/enable-sequence-stack-traces.js +14 -2
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/internals.d.ts +1 -0
- package/dist/cjs/internals.js +1 -0
- package/dist/cjs/interpolate.js +11 -5
- package/dist/cjs/spring/spring-utils.js +10 -3
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/index.mjs +77 -62
- package/dist/esm/no-react.mjs +11 -4
- package/dist/esm/version.mjs +1 -1
- package/package.json +2 -2
package/dist/cjs/Composition.js
CHANGED
|
@@ -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
|
|
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;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/cjs/internals.d.ts
CHANGED
|
@@ -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;
|
package/dist/cjs/internals.js
CHANGED
|
@@ -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,
|
package/dist/cjs/interpolate.js
CHANGED
|
@@ -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 ===
|
|
513
|
-
? initiallyParsedOutputRange
|
|
514
|
-
: index ===
|
|
515
|
-
? initiallyParsedOutputRange
|
|
516
|
-
|
|
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
|
}
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
package/dist/esm/index.mjs
CHANGED
|
@@ -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
|
|
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
|
|
525
|
-
var RemotionEnvironmentContext =
|
|
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
|
|
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 =
|
|
658
|
+
var timeValueRef = React6.createRef();
|
|
613
659
|
var EditorPropsProvider = ({ children }) => {
|
|
614
|
-
const [props, setProps] =
|
|
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 =
|
|
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 =
|
|
914
|
-
const zoomContext =
|
|
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] =
|
|
918
|
-
|
|
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
|
|
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 } =
|
|
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 } =
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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,
|
package/dist/esm/no-react.mjs
CHANGED
|
@@ -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",
|
package/dist/esm/version.mjs
CHANGED
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.
|
|
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.
|
|
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
|
},
|