@remotion/studio-shared 4.0.512 → 4.0.513

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.
@@ -259,6 +259,12 @@ export type SubscribeToSequencePropsResponse = {
259
259
  success: false;
260
260
  status: CanUpdateSequencePropsResponseFalse;
261
261
  };
262
+ export type SubscribeToSequencePropsBatchRequest = SubscribeToSequencePropsRequest & {
263
+ requests?: SubscribeToSequencePropsRequest[];
264
+ };
265
+ export type SubscribeToSequencePropsBatchResponse = SubscribeToSequencePropsResponse & {
266
+ results: SubscribeToSequencePropsResponse[];
267
+ };
262
268
  export type UnsubscribeFromSequencePropsRequest = {
263
269
  fileName: string;
264
270
  nodePath: SequencePropsSubscriptionKey;
@@ -900,7 +906,7 @@ export type ApiRoutes = {
900
906
  '/api/apply-visual-control-change': ReqAndRes<ApplyVisualControlRequest, ApplyVisualControlResponse>;
901
907
  '/api/subscribe-to-default-props': ReqAndRes<SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse>;
902
908
  '/api/unsubscribe-from-default-props': ReqAndRes<UnsubscribeFromDefaultPropsRequest, undefined>;
903
- '/api/subscribe-to-sequence-props': ReqAndRes<SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse>;
909
+ '/api/subscribe-to-sequence-props': ReqAndRes<SubscribeToSequencePropsBatchRequest, SubscribeToSequencePropsBatchResponse>;
904
910
  '/api/unsubscribe-from-sequence-props': ReqAndRes<UnsubscribeFromSequencePropsRequest, undefined>;
905
911
  '/api/save-sequence-props': ReqAndRes<SaveSequencePropsRequest, SaveSequencePropsResponse>;
906
912
  '/api/save-effect-props': ReqAndRes<SaveEffectPropsRequest, SaveEffectPropsResponse>;
@@ -384,6 +384,17 @@ exports.EFFECT_CATALOG = [
384
384
  },
385
385
  },
386
386
  },
387
+ {
388
+ id: 'effects-tile',
389
+ category: 'Transform',
390
+ label: 'tile()',
391
+ description: 'Repeat the visible source bounds',
392
+ effect: {
393
+ name: 'tile',
394
+ importPath: '@remotion/effects/tile',
395
+ config: {},
396
+ },
397
+ },
387
398
  {
388
399
  id: 'effects-uv-translate',
389
400
  category: 'Transform',
@@ -955,6 +955,17 @@ var EFFECT_CATALOG = [
955
955
  }
956
956
  }
957
957
  },
958
+ {
959
+ id: "effects-tile",
960
+ category: "Transform",
961
+ label: "tile()",
962
+ description: "Repeat the visible source bounds",
963
+ effect: {
964
+ name: "tile",
965
+ importPath: "@remotion/effects/tile",
966
+ config: {}
967
+ }
968
+ },
958
969
  {
959
970
  id: "effects-uv-translate",
960
971
  category: "Transform",
@@ -2387,7 +2398,7 @@ var descriptions = {
2387
2398
  design: "Design system",
2388
2399
  "studio-protocol": "Create Element payloads and request installation into Remotion Studio",
2389
2400
  "light-leaks": "Light leak effects for Remotion",
2390
- "mac-cursors": "Internal macOS cursor components for Remotion",
2401
+ "mac-cursors": "macOS cursor components for Remotion",
2391
2402
  "rough-notation": "Rough annotation primitives for Remotion",
2392
2403
  "player-a11y": "Internal accessibility wrapper around @remotion/player",
2393
2404
  starburst: "Starburst ray effect for Remotion",
@@ -2501,7 +2512,10 @@ var installableMap = {
2501
2512
  packageName: "@remotion/light-leaks",
2502
2513
  releaseVersion: VERSION
2503
2514
  }),
2504
- "mac-cursors": false,
2515
+ "mac-cursors": shouldReleasePackage({
2516
+ packageName: "@remotion/mac-cursors",
2517
+ releaseVersion: VERSION
2518
+ }),
2505
2519
  "rough-notation": true,
2506
2520
  starburst: shouldReleasePackage({
2507
2521
  packageName: "@remotion/starburst",
@@ -2608,7 +2622,7 @@ var apiDocs = {
2608
2622
  design: "https://www.remotion.dev/design",
2609
2623
  "studio-protocol": "https://www.remotion.dev/docs/studio-protocol",
2610
2624
  "light-leaks": "https://www.remotion.dev/docs/light-leaks",
2611
- "mac-cursors": null,
2625
+ "mac-cursors": "https://www.remotion.dev/docs/mac-cursors",
2612
2626
  "rough-notation": "https://www.remotion.dev/docs/rough-notation",
2613
2627
  starburst: "https://www.remotion.dev/docs/starburst",
2614
2628
  vercel: "https://www.remotion.dev/docs/vercel/api",
@@ -3309,6 +3323,7 @@ var addKeyframeToPropStatus = ({
3309
3323
  const staticValue = status.codeValue ?? value;
3310
3324
  return {
3311
3325
  status: "keyframed",
3326
+ keyframeDisplayOffsetAdjustment: status.keyframeDisplayOffsetAdjustment,
3312
3327
  interpolationFunction: getKeyframeInterpolationFunction({
3313
3328
  schema,
3314
3329
  key: fieldKey,
@@ -3349,11 +3364,13 @@ var getMissingPropStatus = ({
3349
3364
  if (field && field.type !== "hidden" && field.default !== undefined) {
3350
3365
  return {
3351
3366
  status: "static",
3367
+ keyframeDisplayOffsetAdjustment: null,
3352
3368
  codeValue: field.default
3353
3369
  };
3354
3370
  }
3355
3371
  return {
3356
3372
  status: "static",
3373
+ keyframeDisplayOffsetAdjustment: null,
3357
3374
  codeValue: undefined
3358
3375
  };
3359
3376
  };
@@ -3457,6 +3474,7 @@ var removeKeyframeFromPropStatus = ({
3457
3474
  if (keyframes.length === 0) {
3458
3475
  return {
3459
3476
  status: "static",
3477
+ keyframeDisplayOffsetAdjustment: status.keyframeDisplayOffsetAdjustment,
3460
3478
  codeValue: valueWhenLastKeyframeDeleted === null ? status.keyframes[index].value : valueWhenLastKeyframeDeleted
3461
3479
  };
3462
3480
  }
@@ -3756,7 +3774,11 @@ var optimisticUpdateForEffectPropStatuses = ({
3756
3774
  }
3757
3775
  const props = {
3758
3776
  ...target.props,
3759
- [fieldKey]: { status: "static", codeValue: value }
3777
+ [fieldKey]: {
3778
+ status: "static",
3779
+ keyframeDisplayOffsetAdjustment: null,
3780
+ codeValue: value
3781
+ }
3760
3782
  };
3761
3783
  if (schema[fieldKey]?.type === "enum") {
3762
3784
  const propsToDelete = NoReactInternals4.findPropsToDelete({
@@ -3795,7 +3817,11 @@ var optimisticUpdateForPropStatuses = ({
3795
3817
  const optimisticValue = defaultValue !== null && defaultValue === serializedValue ? undefined : value;
3796
3818
  const props = {
3797
3819
  ...previous.props,
3798
- [fieldKey]: { status: "static", codeValue: optimisticValue }
3820
+ [fieldKey]: {
3821
+ status: "static",
3822
+ keyframeDisplayOffsetAdjustment: null,
3823
+ codeValue: optimisticValue
3824
+ }
3799
3825
  };
3800
3826
  if (schema[fieldKey]?.type === "enum") {
3801
3827
  const propsToDelete = NoReactInternals5.findPropsToDelete({
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { splitAnsi, stripAnsi } from './ansi';
2
2
  export type { TerminalId } from './terminal';
3
3
  export type { GitClientId } from './git-client';
4
- export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, BatchUpdateEffectKeyframeSettings, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, BatchUpdateSequenceKeyframeSettings, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CaptionPatch, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyRenderOutputToAssetRequest, CopyRenderOutputToAssetResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, EditorPickerId, ElementInstallExpectedFileState, ElementInstallRequest, ElementInstallSource, FindInFileRequest, FindInFileResponse, GetDefaultCodingAgentInfoRequest, GetDefaultCodingAgentInfoResponse, GetDefaultEditorInfoRequest, GetDefaultEditorInfoResponse, GoogleFontSourceEdit, InsertElementFileConflict, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInCodingAgentRequest, OpenInCodingAgentResponse, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, OpenInGitClientRequest, OpenInGitClientResponse, OpenInTerminalRequest, OpenInTerminalResponse, PackageInstallSpec, PasteEffectsRequest, PasteEffectsResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveInlineCaptionPatchesRequest, SaveMultipleEffectPropsEdit, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SaveMultipleEffectPropsResult, SaveSequencePropEdit, SaveSequencePropSourceEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateConfigRequest, UpdateConfigResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type ConfigUpdate, type ConfigValue, type KeyframeSettings, } from './api-requests';
4
+ export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, BatchUpdateEffectKeyframeSettings, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, BatchUpdateSequenceKeyframeSettings, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CaptionPatch, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyRenderOutputToAssetRequest, CopyRenderOutputToAssetResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, EditorPickerId, ElementInstallExpectedFileState, ElementInstallRequest, ElementInstallSource, FindInFileRequest, FindInFileResponse, GetDefaultCodingAgentInfoRequest, GetDefaultCodingAgentInfoResponse, GetDefaultEditorInfoRequest, GetDefaultEditorInfoResponse, GoogleFontSourceEdit, InsertElementFileConflict, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInCodingAgentRequest, OpenInCodingAgentResponse, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, OpenInGitClientRequest, OpenInGitClientResponse, OpenInTerminalRequest, OpenInTerminalResponse, PackageInstallSpec, PasteEffectsRequest, PasteEffectsResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveInlineCaptionPatchesRequest, SaveMultipleEffectPropsEdit, SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse, SaveMultipleEffectPropsResult, SaveSequencePropEdit, SaveSequencePropSourceEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsBatchRequest, SubscribeToSequencePropsBatchResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateConfigRequest, UpdateConfigResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type ConfigUpdate, type ConfigValue, type KeyframeSettings, } from './api-requests';
5
5
  export type { BrowserStudioOperations } from './browser-studio-operations';
6
6
  export type { CanvasCaptureData, CanvasCaptureMouseMovement, CanvasCapturePointerClick, } from './canvas-capture';
7
7
  export { CANVAS_CAPTURE_METADATA_TAG, parseCanvasCaptureData, } from './canvas-capture';
@@ -52,6 +52,7 @@ const addKeyframeToPropStatus = ({ status, fieldKey, frame, value, schema, }) =>
52
52
  const staticValue = (_a = status.codeValue) !== null && _a !== void 0 ? _a : value;
53
53
  return {
54
54
  status: 'keyframed',
55
+ keyframeDisplayOffsetAdjustment: status.keyframeDisplayOffsetAdjustment,
55
56
  interpolationFunction: (0, keyframe_interpolation_function_1.getKeyframeInterpolationFunction)({
56
57
  schema,
57
58
  key: fieldKey,
@@ -89,11 +90,13 @@ const getMissingPropStatus = ({ schema, fieldKey, }) => {
89
90
  if (field && field.type !== 'hidden' && field.default !== undefined) {
90
91
  return {
91
92
  status: 'static',
93
+ keyframeDisplayOffsetAdjustment: null,
92
94
  codeValue: field.default,
93
95
  };
94
96
  }
95
97
  return {
96
98
  status: 'static',
99
+ keyframeDisplayOffsetAdjustment: null,
97
100
  codeValue: undefined,
98
101
  };
99
102
  };
@@ -22,6 +22,7 @@ const removeKeyframeFromPropStatus = ({ status, frame, valueWhenLastKeyframeDele
22
22
  if (keyframes.length === 0) {
23
23
  return {
24
24
  status: 'static',
25
+ keyframeDisplayOffsetAdjustment: status.keyframeDisplayOffsetAdjustment,
25
26
  codeValue: valueWhenLastKeyframeDeleted === null
26
27
  ? status.keyframes[index].value
27
28
  : valueWhenLastKeyframeDeleted,
@@ -17,7 +17,11 @@ const optimisticUpdateForEffectPropStatuses = ({ previous, effectIndex, fieldKey
17
17
  }
18
18
  const props = {
19
19
  ...target.props,
20
- [fieldKey]: { status: 'static', codeValue: value },
20
+ [fieldKey]: {
21
+ status: 'static',
22
+ keyframeDisplayOffsetAdjustment: null,
23
+ codeValue: value,
24
+ },
21
25
  };
22
26
  if (((_a = schema[fieldKey]) === null || _a === void 0 ? void 0 : _a.type) === 'enum') {
23
27
  const propsToDelete = no_react_1.NoReactInternals.findPropsToDelete({
@@ -13,7 +13,11 @@ const optimisticUpdateForPropStatuses = ({ previous, fieldKey, value, defaultVal
13
13
  : value;
14
14
  const props = {
15
15
  ...previous.props,
16
- [fieldKey]: { status: 'static', codeValue: optimisticValue },
16
+ [fieldKey]: {
17
+ status: 'static',
18
+ keyframeDisplayOffsetAdjustment: null,
19
+ codeValue: optimisticValue,
20
+ },
17
21
  };
18
22
  if (((_a = schema[fieldKey]) === null || _a === void 0 ? void 0 : _a.type) === 'enum') {
19
23
  const propsToDelete = no_react_1.NoReactInternals.findPropsToDelete({
@@ -233,7 +233,7 @@ exports.descriptions = {
233
233
  design: 'Design system',
234
234
  'studio-protocol': 'Create Element payloads and request installation into Remotion Studio',
235
235
  'light-leaks': 'Light leak effects for Remotion',
236
- 'mac-cursors': 'Internal macOS cursor components for Remotion',
236
+ 'mac-cursors': 'macOS cursor components for Remotion',
237
237
  'rough-notation': 'Rough annotation primitives for Remotion',
238
238
  'player-a11y': 'Internal accessibility wrapper around @remotion/player',
239
239
  starburst: 'Starburst ray effect for Remotion',
@@ -347,7 +347,10 @@ exports.installableMap = {
347
347
  packageName: '@remotion/light-leaks',
348
348
  releaseVersion: remotion_1.VERSION,
349
349
  }),
350
- 'mac-cursors': false,
350
+ 'mac-cursors': (0, release_package_policy_1.shouldReleasePackage)({
351
+ packageName: '@remotion/mac-cursors',
352
+ releaseVersion: remotion_1.VERSION,
353
+ }),
351
354
  'rough-notation': true,
352
355
  starburst: (0, release_package_policy_1.shouldReleasePackage)({
353
356
  packageName: '@remotion/starburst',
@@ -454,7 +457,7 @@ exports.apiDocs = {
454
457
  design: 'https://www.remotion.dev/design',
455
458
  'studio-protocol': 'https://www.remotion.dev/docs/studio-protocol',
456
459
  'light-leaks': 'https://www.remotion.dev/docs/light-leaks',
457
- 'mac-cursors': null,
460
+ 'mac-cursors': 'https://www.remotion.dev/docs/mac-cursors',
458
461
  'rough-notation': 'https://www.remotion.dev/docs/rough-notation',
459
462
  starburst: 'https://www.remotion.dev/docs/starburst',
460
463
  vercel: 'https://www.remotion.dev/docs/vercel/api',
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio-shared"
4
4
  },
5
5
  "name": "@remotion/studio-shared",
6
- "version": "4.0.512",
6
+ "version": "4.0.513",
7
7
  "description": "Internal package for shared objects between the Studio backend and frontend",
8
8
  "main": "dist",
9
9
  "module": "dist/esm/index.mjs",
@@ -21,12 +21,12 @@
21
21
  "url": "https://github.com/remotion-dev/remotion/issues"
22
22
  },
23
23
  "dependencies": {
24
- "@remotion/studio-protocol": "4.0.512",
25
- "remotion": "4.0.512"
24
+ "@remotion/studio-protocol": "4.0.513",
25
+ "remotion": "4.0.513"
26
26
  },
27
27
  "devDependencies": {
28
- "@remotion/renderer": "4.0.512",
29
- "@remotion/eslint-config-internal": "4.0.512",
28
+ "@remotion/renderer": "4.0.513",
29
+ "@remotion/eslint-config-internal": "4.0.513",
30
30
  "eslint": "9.19.0",
31
31
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
32
32
  },