@remotion/studio-server 4.0.528 → 4.0.529

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.
@@ -1,7 +1,7 @@
1
1
  import type { File } from '@babel/types';
2
2
  import type { EffectClipboardParam, EffectClipboardSnapshot } from '@remotion/studio-shared';
3
3
  import type { ExpressionKind } from 'ast-types/lib/gen/kinds';
4
- export type RemotionImportName = 'Easing' | 'interpolate' | 'interpolateColors' | 'useCurrentFrame';
4
+ export type RemotionImportName = 'Easing' | 'interpolate' | 'interpolateColors' | 'interpolatePaths' | 'useCurrentFrame';
5
5
  export type RemotionLocalNames = Partial<Record<RemotionImportName, string>>;
6
6
  export declare const getRequiredRemotionImportsForEffectParams: (params: Iterable<EffectClipboardParam>) => Set<RemotionImportName>;
7
7
  export declare const getRequiredRemotionImports: (effects: EffectClipboardSnapshot[]) => Set<RemotionImportName>;
@@ -65,7 +65,7 @@ const ensureRemotionImportLocalNames = ({ ast, requiredImports, }) => {
65
65
  localNames[importedName] = (0, imports_1.ensureNamedImport)({
66
66
  ast,
67
67
  importedName,
68
- sourcePath: 'remotion',
68
+ sourcePath: importedName === 'interpolatePaths' ? '@remotion/paths' : 'remotion',
69
69
  localName: importedName,
70
70
  });
71
71
  }
@@ -113,7 +113,8 @@ const makeKeyframedOptions = ({ param, remotionLocalNames, }) => {
113
113
  if (param.clamping.right !== 'extend') {
114
114
  properties.push(b.objectProperty(b.identifier('extrapolateRight'), b.stringLiteral(param.clamping.right)));
115
115
  }
116
- if (param.output === 'perceptual-scale') {
116
+ if (param.interpolationFunction === 'interpolate' &&
117
+ param.output === 'perceptual-scale') {
117
118
  properties.push(b.objectProperty(b.identifier('output'), b.stringLiteral(param.output)));
118
119
  }
119
120
  }
@@ -314,7 +314,9 @@ const getInterpolationMetadata = (interpolationFunction, callExpression, keyfram
314
314
  return null;
315
315
  }
316
316
  const extrapolateType = getExtrapolateType(value);
317
- if (!extrapolateType) {
317
+ if (!extrapolateType ||
318
+ (interpolationFunction === 'interpolatePaths' &&
319
+ extrapolateType === 'identity')) {
318
320
  return null;
319
321
  }
320
322
  clamping =
@@ -334,7 +336,7 @@ const getInterpolationMetadata = (interpolationFunction, callExpression, keyfram
334
336
  continue;
335
337
  }
336
338
  if (key === 'output') {
337
- if (interpolationFunction === 'interpolateColors') {
339
+ if (interpolationFunction !== 'interpolate') {
338
340
  return null;
339
341
  }
340
342
  const parsedOutput = getInterpolateOutputOption(value);
@@ -345,7 +347,7 @@ const getInterpolationMetadata = (interpolationFunction, callExpression, keyfram
345
347
  continue;
346
348
  }
347
349
  if (key === 'outputType') {
348
- if (interpolationFunction === 'interpolateColors' ||
350
+ if (interpolationFunction !== 'interpolate' ||
349
351
  getInterpolateOutputType(value) === null) {
350
352
  return null;
351
353
  }
@@ -387,11 +389,16 @@ const getInterpolationKeyframes = (node, ast, videoConfigValues) => {
387
389
  return undefined;
388
390
  }
389
391
  const callExpression = node;
390
- if (callExpression.callee.type !== 'Identifier' ||
391
- !(0, studio_shared_1.isKeyframeInterpolationFunction)(callExpression.callee.name)) {
392
+ if (callExpression.callee.type !== 'Identifier') {
393
+ return undefined;
394
+ }
395
+ const interpolationFunction = codemods_1.CodemodsInternals.getKeyframeInterpolationFunctionForCallee({
396
+ ast,
397
+ callee: callExpression.callee,
398
+ });
399
+ if (interpolationFunction === null) {
392
400
  return undefined;
393
401
  }
394
- const interpolationFunction = callExpression.callee.name;
395
402
  const frameArg = callExpression.arguments[0];
396
403
  const inputArg = callExpression.arguments[1];
397
404
  const outputArg = callExpression.arguments[2];
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio-server"
4
4
  },
5
5
  "name": "@remotion/studio-server",
6
- "version": "4.0.528",
6
+ "version": "4.0.529",
7
7
  "description": "Run a Remotion Studio with a server backend",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -23,7 +23,7 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@remotion/studio-protocol": "4.0.528",
26
+ "@remotion/studio-protocol": "4.0.529",
27
27
  "@babel/types": "7.24.0",
28
28
  "@babel/parser": "7.24.1",
29
29
  "@svgr/core": "8.1.0",
@@ -31,12 +31,12 @@
31
31
  "kiwi-schema": "0.5.0",
32
32
  "semver": "7.5.3",
33
33
  "zod": "4.5.4",
34
- "remotion": "4.0.528",
34
+ "remotion": "4.0.529",
35
35
  "recast": "0.23.21",
36
- "@remotion/bundler": "4.0.528",
37
- "@remotion/renderer": "4.0.528",
38
- "@remotion/codemods": "4.0.528",
39
- "@remotion/studio-shared": "4.0.528",
36
+ "@remotion/bundler": "4.0.529",
37
+ "@remotion/renderer": "4.0.529",
38
+ "@remotion/codemods": "4.0.529",
39
+ "@remotion/studio-shared": "4.0.529",
40
40
  "memfs": "3.4.3",
41
41
  "open": "8.4.2"
42
42
  },
@@ -44,7 +44,7 @@
44
44
  "ast-types": "0.16.1",
45
45
  "react": "19.2.3",
46
46
  "@types/semver": "7.5.3",
47
- "@remotion/eslint-config-internal": "4.0.528",
47
+ "@remotion/eslint-config-internal": "4.0.529",
48
48
  "eslint": "9.19.0",
49
49
  "prettier": "3.8.1",
50
50
  "@types/node": "20.12.14",