remotion 4.0.509 → 4.0.510

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.
@@ -199,6 +199,12 @@ export declare const canvasImageSchema: {
199
199
  readonly hidden: import("../interactivity-schema.js").BooleanFieldSchema;
200
200
  readonly name: import("../interactivity-schema.js").HiddenFieldSchema;
201
201
  readonly showInTimeline: import("../interactivity-schema.js").HiddenFieldSchema;
202
+ readonly src: {
203
+ readonly type: "asset";
204
+ readonly default: undefined;
205
+ readonly description: "Source";
206
+ readonly keyframable: false;
207
+ };
202
208
  readonly fit: {
203
209
  readonly type: "enum";
204
210
  readonly default: "fill";
@@ -20,6 +20,12 @@ const use_delay_render_js_1 = require("../use-delay-render.js");
20
20
  const use_premounting_js_1 = require("../use-premounting.js");
21
21
  const with_interactivity_schema_js_1 = require("../with-interactivity-schema.js");
22
22
  exports.canvasImageSchema = {
23
+ src: {
24
+ type: 'asset',
25
+ default: undefined,
26
+ description: 'Source',
27
+ keyframable: false,
28
+ },
23
29
  ...interactivity_schema_js_1.baseSchema,
24
30
  ...interactivity_schema_js_1.cropSchema,
25
31
  ...interactivity_schema_js_1.premountSchema,
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMemoizedEffects = exports.getPropStatusesCtx = exports.getEffectPropStatusesCtx = exports.useMemoizedEffectDefinitions = void 0;
4
4
  const react_1 = require("react");
5
5
  const get_effective_visual_mode_value_js_1 = require("../get-effective-visual-mode-value.js");
6
- const interpolate_keyframed_status_js_1 = require("../interpolate-keyframed-status.js");
7
6
  const sequence_node_path_js_1 = require("../sequence-node-path.js");
8
7
  const SequenceManager_js_1 = require("../SequenceManager.js");
9
8
  const use_current_frame_js_1 = require("../use-current-frame.js");
@@ -37,7 +36,7 @@ const mergeOverrides = ({ descriptor, propStatusOverrides, dragOverrides, frame,
37
36
  effectKey: descriptor.definition.calculateKey(merged),
38
37
  };
39
38
  };
40
- const resolvePropStatusOverrides = (propStatus, frame) => {
39
+ const resolvePropStatusOverrides = (propStatus) => {
41
40
  if (!propStatus) {
42
41
  return null;
43
42
  }
@@ -49,17 +48,8 @@ const resolvePropStatusOverrides = (propStatus, frame) => {
49
48
  hasAny = true;
50
49
  continue;
51
50
  }
52
- if (status.status === 'keyframed') {
53
- const value = (0, interpolate_keyframed_status_js_1.interpolateKeyframedStatus)({
54
- forceSpringAllowTail: null,
55
- frame,
56
- status,
57
- });
58
- if (value !== null) {
59
- out[key] = value;
60
- hasAny = true;
61
- }
62
- }
51
+ // Keyframed params retain the value evaluated by their JSX expression.
52
+ // Explicit drag overrides are resolved separately in mergeOverrides().
63
53
  }
64
54
  return hasAny ? out : null;
65
55
  };
@@ -131,7 +121,7 @@ const useMemoizedEffects = ({ effects, overrideId, }) => {
131
121
  effectIndex: index,
132
122
  });
133
123
  const propStatusOverrides = effectStatus.type === 'can-update-effect'
134
- ? resolvePropStatusOverrides(effectStatus.props, frame)
124
+ ? resolvePropStatusOverrides(effectStatus.props)
135
125
  : null;
136
126
  const dragOverridesMap = getEffectDragOverrides(nodePath, index);
137
127
  const dragOverrides = Object.keys(dragOverridesMap).length === 0 ? null : dragOverridesMap;
@@ -51,8 +51,8 @@ const validateSequenceCrop = (crop, componentName = '<Sequence />') => {
51
51
  if (typeof value !== 'number' || !Number.isFinite(value)) {
52
52
  throw new TypeError(`The "${name}" prop of ${componentName} must be a finite number, but got ${String(value)}.`);
53
53
  }
54
- if (value < 0 || value > 1) {
55
- throw new RangeError(`The "${name}" prop of ${componentName} must be between 0 and 1, but got ${value}.`);
54
+ if (value > 100) {
55
+ throw new RangeError(`The "${name}" prop of ${componentName} must be between 0 and 1, but got ${value}. The crop range is 0 to 1, not 0 to 100.`);
56
56
  }
57
57
  }
58
58
  };
@@ -4,7 +4,6 @@ exports.computeEffectiveSchemaValuesDotNotation = exports.isKeyframedStatus = ex
4
4
  const find_props_to_delete_js_1 = require("./find-props-to-delete.js");
5
5
  const get_effective_visual_mode_value_js_1 = require("./get-effective-visual-mode-value.js");
6
6
  const input_props_serialization_js_1 = require("./input-props-serialization.js");
7
- const interpolate_keyframed_status_js_1 = require("./interpolate-keyframed-status.js");
8
7
  exports.DEFAULT_LINEAR_EASING = {
9
8
  type: 'linear',
10
9
  };
@@ -108,15 +107,9 @@ const computeEffectiveSchemaValuesDotNotation = ({ schema, currentValue, overrid
108
107
  if (dragOverride.type === 'resolved') {
109
108
  value = dragOverride.value;
110
109
  }
111
- else if (frame !== null) {
112
- const interpolated = (0, interpolate_keyframed_status_js_1.interpolateKeyframedStatus)({
113
- forceSpringAllowTail: null,
114
- frame,
115
- status,
116
- });
117
- value = interpolated !== null && interpolated !== void 0 ? interpolated : currentValue[key];
118
- }
119
110
  else {
111
+ // This value was evaluated by the original JSX expression, so it
112
+ // preserves the frame scope in which useCurrentFrame() was called.
120
113
  value = currentValue[key];
121
114
  }
122
115
  }
@@ -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.509";
6
+ export declare const VERSION = "4.0.510";
@@ -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.509';
10
+ exports.VERSION = '4.0.510';
@@ -1340,7 +1340,7 @@ var getSingleChildComponent = (children) => {
1340
1340
  };
1341
1341
 
1342
1342
  // src/version.ts
1343
- var VERSION = "4.0.509";
1343
+ var VERSION = "4.0.510";
1344
1344
 
1345
1345
  // src/multiple-versions-warning.ts
1346
1346
  var checkMultipleRemotionVersions = () => {
@@ -2190,8 +2190,8 @@ var validateSequenceCrop = (crop, componentName = "<Sequence />") => {
2190
2190
  if (typeof value !== "number" || !Number.isFinite(value)) {
2191
2191
  throw new TypeError(`The "${name}" prop of ${componentName} must be a finite number, but got ${String(value)}.`);
2192
2192
  }
2193
- if (value < 0 || value > 1) {
2194
- throw new RangeError(`The "${name}" prop of ${componentName} must be between 0 and 1, but got ${value}.`);
2193
+ if (value > 100) {
2194
+ throw new RangeError(`The "${name}" prop of ${componentName} must be between 0 and 1, but got ${value}. The crop range is 0 to 1, not 0 to 100.`);
2195
2195
  }
2196
2196
  }
2197
2197
  };
@@ -4431,7 +4431,7 @@ var mergeOverrides = ({
4431
4431
  effectKey: descriptor.definition.calculateKey(merged)
4432
4432
  };
4433
4433
  };
4434
- var resolvePropStatusOverrides = (propStatus, frame) => {
4434
+ var resolvePropStatusOverrides = (propStatus) => {
4435
4435
  if (!propStatus) {
4436
4436
  return null;
4437
4437
  }
@@ -4443,17 +4443,6 @@ var resolvePropStatusOverrides = (propStatus, frame) => {
4443
4443
  hasAny = true;
4444
4444
  continue;
4445
4445
  }
4446
- if (status.status === "keyframed") {
4447
- const value = interpolateKeyframedStatus({
4448
- forceSpringAllowTail: null,
4449
- frame,
4450
- status
4451
- });
4452
- if (value !== null) {
4453
- out[key] = value;
4454
- hasAny = true;
4455
- }
4456
- }
4457
4446
  }
4458
4447
  return hasAny ? out : null;
4459
4448
  };
@@ -4523,7 +4512,7 @@ var useMemoizedEffects = ({
4523
4512
  nodePath,
4524
4513
  effectIndex: index
4525
4514
  });
4526
- const propStatusOverrides = effectStatus.type === "can-update-effect" ? resolvePropStatusOverrides(effectStatus.props, frame) : null;
4515
+ const propStatusOverrides = effectStatus.type === "can-update-effect" ? resolvePropStatusOverrides(effectStatus.props) : null;
4527
4516
  const dragOverridesMap = getEffectDragOverrides(nodePath, index);
4528
4517
  const dragOverrides = Object.keys(dragOverridesMap).length === 0 ? null : dragOverridesMap;
4529
4518
  const { params, effectKey } = mergeOverrides({
@@ -4756,13 +4745,6 @@ var computeEffectiveSchemaValuesDotNotation = ({
4756
4745
  });
4757
4746
  if (dragOverride.type === "resolved") {
4758
4747
  value = dragOverride.value;
4759
- } else if (frame !== null) {
4760
- const interpolated = interpolateKeyframedStatus({
4761
- forceSpringAllowTail: null,
4762
- frame,
4763
- status
4764
- });
4765
- value = interpolated ?? currentValue[key];
4766
4748
  } else {
4767
4749
  value = currentValue[key];
4768
4750
  }
@@ -10488,6 +10470,12 @@ function truncateSrcForLabel(src) {
10488
10470
  // src/canvas-image/CanvasImage.tsx
10489
10471
  import { jsx as jsx27 } from "react/jsx-runtime";
10490
10472
  var canvasImageSchema = {
10473
+ src: {
10474
+ type: "asset",
10475
+ default: undefined,
10476
+ description: "Source",
10477
+ keyframable: false
10478
+ },
10491
10479
  ...baseSchema,
10492
10480
  ...cropSchema,
10493
10481
  ...premountSchema,
@@ -1,5 +1,5 @@
1
1
  // src/version.ts
2
- var VERSION = "4.0.509";
2
+ var VERSION = "4.0.510";
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.509",
6
+ "version": "4.0.510",
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.509",
38
+ "@remotion/eslint-config-internal": "4.0.510",
39
39
  "eslint": "9.19.0",
40
40
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
41
41
  },