@remotion/studio-shared 4.0.512 → 4.0.514

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;
@@ -631,6 +637,18 @@ export type SplitJsxSequenceResponse = {
631
637
  reason: string;
632
638
  stack: string;
633
639
  };
640
+ export type SplitVideoFromAudioRequest = {
641
+ fileName: string;
642
+ nodePath: SequenceNodePath;
643
+ };
644
+ export type SplitVideoFromAudioResponse = {
645
+ success: true;
646
+ nodePathMutation: SequenceNodePathMutation;
647
+ } | {
648
+ success: false;
649
+ reason: string;
650
+ stack: string;
651
+ };
634
652
  export type InsertableCompositionElement = {
635
653
  type: 'solid';
636
654
  width: number;
@@ -749,6 +767,9 @@ export type InsertElementResponse = {
749
767
  export type ElementInstallSource = {
750
768
  type: 'studio-protocol';
751
769
  origin: string;
770
+ } | {
771
+ type: 'browser-studio-link';
772
+ origin: string | null;
752
773
  } | {
753
774
  type: 'drag-and-drop';
754
775
  };
@@ -789,10 +810,14 @@ export type UpdateAvailableResponse = {
789
810
  latestVersion: string;
790
811
  updateAvailable: boolean;
791
812
  skillsUpdateAvailable: boolean;
792
- remotionUpgradeSkillAvailable: boolean;
793
813
  timedOut: boolean;
794
814
  packageManager: PackageManager | 'unknown';
795
815
  };
816
+ export type GetRemotionSkillsInfoRequest = {};
817
+ export type GetRemotionSkillsInfoResponse = {
818
+ remotionUpgradeSkillAvailable: boolean;
819
+ remotionInteractivitySkillAvailable: boolean;
820
+ };
796
821
  export type ProjectInfoRequest = {};
797
822
  export type ProjectInfoResponse = {
798
823
  projectInfo: ProjectInfo;
@@ -900,7 +925,7 @@ export type ApiRoutes = {
900
925
  '/api/apply-visual-control-change': ReqAndRes<ApplyVisualControlRequest, ApplyVisualControlResponse>;
901
926
  '/api/subscribe-to-default-props': ReqAndRes<SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse>;
902
927
  '/api/unsubscribe-from-default-props': ReqAndRes<UnsubscribeFromDefaultPropsRequest, undefined>;
903
- '/api/subscribe-to-sequence-props': ReqAndRes<SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse>;
928
+ '/api/subscribe-to-sequence-props': ReqAndRes<SubscribeToSequencePropsBatchRequest, SubscribeToSequencePropsBatchResponse>;
904
929
  '/api/unsubscribe-from-sequence-props': ReqAndRes<UnsubscribeFromSequencePropsRequest, undefined>;
905
930
  '/api/save-sequence-props': ReqAndRes<SaveSequencePropsRequest, SaveSequencePropsResponse>;
906
931
  '/api/save-effect-props': ReqAndRes<SaveEffectPropsRequest, SaveEffectPropsResponse>;
@@ -922,6 +947,7 @@ export type ApiRoutes = {
922
947
  '/api/delete-jsx-node': ReqAndRes<DeleteJsxNodeRequest, DeleteJsxNodeResponse>;
923
948
  '/api/duplicate-jsx-node': ReqAndRes<DuplicateJsxNodeRequest, DuplicateJsxNodeResponse>;
924
949
  '/api/split-jsx-sequence': ReqAndRes<SplitJsxSequenceRequest, SplitJsxSequenceResponse>;
950
+ '/api/split-video-from-audio': ReqAndRes<SplitVideoFromAudioRequest, SplitVideoFromAudioResponse>;
925
951
  '/api/insert-jsx-element': ReqAndRes<InsertJsxElementRequest, InsertJsxElementResponse>;
926
952
  '/api/convert-figma-clipboard-to-svg': ReqAndRes<ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse>;
927
953
  '/api/insert-element': ReqAndRes<InsertElementRequest, InsertElementResponse>;
@@ -929,6 +955,7 @@ export type ApiRoutes = {
929
955
  '/api/update-element-install-target': ReqAndRes<UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse>;
930
956
  '/api/download-remote-asset': ReqAndRes<DownloadRemoteAssetRequest, DownloadRemoteAssetResponse>;
931
957
  '/api/update-available': ReqAndRes<UpdateAvailableRequest, UpdateAvailableResponse>;
958
+ '/api/remotion-skills-info': ReqAndRes<GetRemotionSkillsInfoRequest, GetRemotionSkillsInfoResponse>;
932
959
  '/api/apply-codemod': ReqAndRes<ApplyCodemodRequest, ApplyCodemodResponse>;
933
960
  '/api/project-info': ReqAndRes<ProjectInfoRequest, ProjectInfoResponse>;
934
961
  '/api/delete-static-file': ReqAndRes<DeleteStaticFileRequest, DeleteStaticFileResponse>;
@@ -1,29 +1,71 @@
1
- import type { CompositionComponentInfoRequest, CompositionComponentInfoResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, FindInFileRequest, FindInFileResponse, InsertJsxElementRequest, InsertJsxElementResponse, RedoResponse, RenameStaticFileRequest, RenameStaticFileResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromSequencePropsRequest } from './api-requests';
1
+ import type { ElementDragData } from '@remotion/studio-protocol';
2
+ import type { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddKeyframesRequest, AddKeyframesResponse, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApplyCodemodRequest, ApplyCodemodResponse, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, DeleteJsxNodeRequest, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, FindInFileRequest, FindInFileResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertElementRequest, InsertElementResponse, MoveKeyframesRequest, MoveKeyframesResponse, PrepareElementInstallRequest, PrepareElementInstallResponse, RedoResponse, RenameStaticFileRequest, RenameStaticFileResponse, ReorderSequenceRequest, ReorderSequenceResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SplitVideoFromAudioRequest, SplitVideoFromAudioResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromSequencePropsRequest, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse } from './api-requests';
3
+ import type { RecastCodemod } from './codemods';
2
4
  import type { EventSourceEvent } from './event-source-event';
3
5
  export type WriteStaticFileRequest = {
4
6
  contents: string | ArrayBuffer;
5
7
  filePath: string;
6
8
  };
9
+ export type DuplicateCompositionRequest = {
10
+ codemod: Extract<RecastCodemod, {
11
+ type: 'duplicate-composition';
12
+ }>;
13
+ dryRun: boolean;
14
+ };
15
+ export type DuplicateCompositionResponse = {
16
+ success: true;
17
+ diff: SimpleDiff;
18
+ } | {
19
+ success: false;
20
+ reason: string;
21
+ stack: string;
22
+ };
23
+ export type BrowserStudioKeyframeOperations = {
24
+ addEffectKeyframe: (request: AddEffectKeyframeRequest) => Promise<AddEffectKeyframeResponse>;
25
+ addKeyframes: (request: AddKeyframesRequest) => Promise<AddKeyframesResponse>;
26
+ addSequenceKeyframe: (request: AddSequenceKeyframeRequest) => Promise<AddSequenceKeyframeResponse>;
27
+ batchUpdateKeyframeSettings: (request: BatchUpdateKeyframeSettingsRequest) => Promise<BatchUpdateKeyframeSettingsResponse>;
28
+ deleteKeyframes: (request: DeleteKeyframesRequest) => Promise<DeleteKeyframesResponse>;
29
+ moveKeyframes: (request: MoveKeyframesRequest) => Promise<MoveKeyframesResponse>;
30
+ updateEffectKeyframeSettings: (request: UpdateEffectKeyframeSettingsRequest) => Promise<UpdateEffectKeyframeSettingsResponse>;
31
+ updateSequenceKeyframeSettings: (request: UpdateSequenceKeyframeSettingsRequest) => Promise<UpdateSequenceKeyframeSettingsResponse>;
32
+ };
7
33
  export type BrowserStudioOperations = {
34
+ consumeInitialElement: () => {
35
+ element: ElementDragData['element'];
36
+ sourceOrigin: string | null;
37
+ } | null;
38
+ applyCodemod: (request: ApplyCodemodRequest) => Promise<ApplyCodemodResponse>;
39
+ deleteJsxNode: (request: DeleteJsxNodeRequest) => Promise<DeleteJsxNodeResponse>;
8
40
  deleteStaticFile: (request: DeleteStaticFileRequest) => Promise<DeleteStaticFileResponse>;
9
41
  downloadProject: () => Promise<{
10
42
  data: Uint8Array;
11
43
  fileName: string;
12
44
  }>;
45
+ duplicateComposition: (request: DuplicateCompositionRequest) => Promise<DuplicateCompositionResponse>;
13
46
  findInFile: (request: FindInFileRequest) => Promise<FindInFileResponse>;
14
47
  getFileSource: (fileName: string) => Promise<string | null>;
15
48
  getCompositionFile: (compositionId: string) => string | null;
16
49
  getCompositionComponentInfo: (request: CompositionComponentInfoRequest) => Promise<CompositionComponentInfoResponse>;
17
50
  insertSolid: (request: InsertJsxElementRequest) => Promise<InsertJsxElementResponse>;
51
+ insertElement: (request: InsertElementRequest) => Promise<InsertElementResponse>;
52
+ insertJsxElement: (request: InsertJsxElementRequest) => Promise<InsertJsxElementResponse>;
53
+ /** Optional for compatibility with older Browser Studio hosts. */
54
+ keyframes?: BrowserStudioKeyframeOperations;
55
+ prepareElementInstall: (request: PrepareElementInstallRequest) => Promise<PrepareElementInstallResponse>;
18
56
  redo: () => Promise<RedoResponse>;
19
57
  renameStaticFile: (request: RenameStaticFileRequest) => Promise<RenameStaticFileResponse>;
58
+ reorderSequence: (request: ReorderSequenceRequest) => Promise<ReorderSequenceResponse>;
20
59
  saveSequenceProps: (request: SaveSequencePropsRequest) => Promise<SaveSequencePropsResponse>;
60
+ splitJsxSequence: (request: SplitJsxSequenceRequest) => Promise<SplitJsxSequenceResponse>;
61
+ splitVideoFromAudio: (request: SplitVideoFromAudioRequest) => Promise<SplitVideoFromAudioResponse>;
21
62
  subscribeToDefaultProps: (request: SubscribeToDefaultPropsRequest) => Promise<SubscribeToDefaultPropsResponse>;
22
63
  subscribeToSequenceProps: (request: SubscribeToSequencePropsRequest) => Promise<SubscribeToSequencePropsResponse>;
23
64
  subscribeToEvent: (listener: (event: EventSourceEvent) => void) => () => void;
24
65
  undo: () => Promise<UndoResponse>;
25
66
  unsubscribeFromDefaultProps: (request: UnsubscribeFromDefaultPropsRequest) => Promise<undefined>;
26
67
  unsubscribeFromSequenceProps: (request: UnsubscribeFromSequencePropsRequest) => Promise<undefined>;
68
+ updateDefaultProps: (request: UpdateDefaultPropsRequest) => Promise<UpdateDefaultPropsResponse>;
27
69
  writeStaticFile: (request: WriteStaticFileRequest) => Promise<void>;
28
70
  };
29
71
  declare global {
@@ -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",
@@ -2255,6 +2266,7 @@ var allPackages = [
2255
2266
  "studio-protocol",
2256
2267
  "light-leaks",
2257
2268
  "mac-cursors",
2269
+ "maptiler",
2258
2270
  "rough-notation",
2259
2271
  "starburst",
2260
2272
  "vercel",
@@ -2268,19 +2280,25 @@ var packages = allPackages.filter((pkg) => shouldReleasePackage({
2268
2280
  var extraPackages = [
2269
2281
  {
2270
2282
  name: "mediabunny",
2271
- version: "1.50.8",
2283
+ version: "1.55.1",
2272
2284
  description: "Multimedia library used by Remotion",
2273
2285
  docsUrl: "https://www.remotion.dev/docs/mediabunny/version"
2274
2286
  },
2275
2287
  {
2276
2288
  name: "@mediabunny/ac3",
2277
- version: "1.50.8",
2289
+ version: "1.55.1",
2278
2290
  description: "AC-3 and E-AC-3 audio codec support for Mediabunny",
2279
2291
  docsUrl: "https://www.remotion.dev/docs/mediabunny/formats#ac-3-and-e-ac-3"
2280
2292
  },
2293
+ {
2294
+ name: "@mediabunny/dts",
2295
+ version: "1.55.1",
2296
+ description: "DTS audio codec support for Mediabunny",
2297
+ docsUrl: "https://mediabunny.dev/guide/extensions/dts"
2298
+ },
2281
2299
  {
2282
2300
  name: "@mediabunny/prores",
2283
- version: "1.50.8",
2301
+ version: "1.55.1",
2284
2302
  description: "Apple ProRes decoder support for Mediabunny",
2285
2303
  docsUrl: "https://www.remotion.dev/docs/mediabunny/formats"
2286
2304
  },
@@ -2387,7 +2405,8 @@ var descriptions = {
2387
2405
  design: "Design system",
2388
2406
  "studio-protocol": "Create Element payloads and request installation into Remotion Studio",
2389
2407
  "light-leaks": "Light leak effects for Remotion",
2390
- "mac-cursors": "Internal macOS cursor components for Remotion",
2408
+ "mac-cursors": "macOS cursor components for Remotion",
2409
+ maptiler: "MapTiler components for Remotion",
2391
2410
  "rough-notation": "Rough annotation primitives for Remotion",
2392
2411
  "player-a11y": "Internal accessibility wrapper around @remotion/player",
2393
2412
  starburst: "Starburst ray effect for Remotion",
@@ -2501,7 +2520,11 @@ var installableMap = {
2501
2520
  packageName: "@remotion/light-leaks",
2502
2521
  releaseVersion: VERSION
2503
2522
  }),
2504
- "mac-cursors": false,
2523
+ "mac-cursors": shouldReleasePackage({
2524
+ packageName: "@remotion/mac-cursors",
2525
+ releaseVersion: VERSION
2526
+ }),
2527
+ maptiler: false,
2505
2528
  "rough-notation": true,
2506
2529
  starburst: shouldReleasePackage({
2507
2530
  packageName: "@remotion/starburst",
@@ -2608,7 +2631,8 @@ var apiDocs = {
2608
2631
  design: "https://www.remotion.dev/design",
2609
2632
  "studio-protocol": "https://www.remotion.dev/docs/studio-protocol",
2610
2633
  "light-leaks": "https://www.remotion.dev/docs/light-leaks",
2611
- "mac-cursors": null,
2634
+ "mac-cursors": "https://www.remotion.dev/docs/mac-cursors",
2635
+ maptiler: null,
2612
2636
  "rough-notation": "https://www.remotion.dev/docs/rough-notation",
2613
2637
  starburst: "https://www.remotion.dev/docs/starburst",
2614
2638
  vercel: "https://www.remotion.dev/docs/vercel/api",
@@ -3309,6 +3333,7 @@ var addKeyframeToPropStatus = ({
3309
3333
  const staticValue = status.codeValue ?? value;
3310
3334
  return {
3311
3335
  status: "keyframed",
3336
+ keyframeDisplayOffsetAdjustment: status.keyframeDisplayOffsetAdjustment,
3312
3337
  interpolationFunction: getKeyframeInterpolationFunction({
3313
3338
  schema,
3314
3339
  key: fieldKey,
@@ -3349,11 +3374,13 @@ var getMissingPropStatus = ({
3349
3374
  if (field && field.type !== "hidden" && field.default !== undefined) {
3350
3375
  return {
3351
3376
  status: "static",
3377
+ keyframeDisplayOffsetAdjustment: null,
3352
3378
  codeValue: field.default
3353
3379
  };
3354
3380
  }
3355
3381
  return {
3356
3382
  status: "static",
3383
+ keyframeDisplayOffsetAdjustment: null,
3357
3384
  codeValue: undefined
3358
3385
  };
3359
3386
  };
@@ -3457,6 +3484,7 @@ var removeKeyframeFromPropStatus = ({
3457
3484
  if (keyframes.length === 0) {
3458
3485
  return {
3459
3486
  status: "static",
3487
+ keyframeDisplayOffsetAdjustment: status.keyframeDisplayOffsetAdjustment,
3460
3488
  codeValue: valueWhenLastKeyframeDeleted === null ? status.keyframes[index].value : valueWhenLastKeyframeDeleted
3461
3489
  };
3462
3490
  }
@@ -3756,7 +3784,11 @@ var optimisticUpdateForEffectPropStatuses = ({
3756
3784
  }
3757
3785
  const props = {
3758
3786
  ...target.props,
3759
- [fieldKey]: { status: "static", codeValue: value }
3787
+ [fieldKey]: {
3788
+ status: "static",
3789
+ keyframeDisplayOffsetAdjustment: null,
3790
+ codeValue: value
3791
+ }
3760
3792
  };
3761
3793
  if (schema[fieldKey]?.type === "enum") {
3762
3794
  const propsToDelete = NoReactInternals4.findPropsToDelete({
@@ -3795,7 +3827,11 @@ var optimisticUpdateForPropStatuses = ({
3795
3827
  const optimisticValue = defaultValue !== null && defaultValue === serializedValue ? undefined : value;
3796
3828
  const props = {
3797
3829
  ...previous.props,
3798
- [fieldKey]: { status: "static", codeValue: optimisticValue }
3830
+ [fieldKey]: {
3831
+ status: "static",
3832
+ keyframeDisplayOffsetAdjustment: null,
3833
+ codeValue: optimisticValue
3834
+ }
3799
3835
  };
3800
3836
  if (schema[fieldKey]?.type === "enum") {
3801
3837
  const propsToDelete = NoReactInternals5.findPropsToDelete({
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
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';
5
- export type { BrowserStudioOperations } from './browser-studio-operations';
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, GetRemotionSkillsInfoRequest, GetRemotionSkillsInfoResponse, 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, SplitVideoFromAudioRequest, SplitVideoFromAudioResponse, 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
+ export type { BrowserStudioKeyframeOperations, BrowserStudioOperations, DuplicateCompositionRequest, DuplicateCompositionResponse, } 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';
8
8
  export type { SequenceNodePathMutation, SequenceNodePathRemapping, } from './sequence-node-path-mutation';
@@ -44,7 +44,7 @@ export { ScriptLine, SomeStackFrame, StackFrame, SymbolicatedStackFrame, } from
44
44
  export { EnumPath, stringifyDefaultProps } from './stringify-default-props';
45
45
  export { getStudioEntryPoints, type StudioEntryPointPaths, } from './studio-entry-points';
46
46
  export { studioHtml, type StudioHtmlOptions } from './studio-html';
47
- export type { StudioRuntimeConfig } from './studio-runtime-config';
47
+ export type { ConfigFileStudioSettings, StudioRuntimeConfig, } from './studio-runtime-config';
48
48
  export { BORDER_RADIUS_LONGHAND_KEYS, BORDER_RADIUS_SHORTHAND_KEY, getStylePropertyLonghandKeys, } from './style-property-relations';
49
49
  export type { VisualControlChange } from './codemods';
50
50
  export { optimisticAddEffectKeyframe, optimisticAddSequenceKeyframe, } from './optimistic-add-keyframe';
@@ -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({
@@ -1,6 +1,6 @@
1
- declare const allPackages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "claude-code-plugin", "cli", "cloudrun", "codex-plugin", "kimi-code-plugin", "compositor-darwin-arm64", "compositor-darwin-x64", "compositor-linux-arm64-gnu", "compositor-linux-arm64-musl", "compositor-linux-x64-gnu", "compositor-linux-x64-musl", "compositor-win32-x64-msvc", "core", "create-video", "discord-poster", "docusaurus-plugin", "docs", "enable-scss", "eslint-config", "eslint-config-flat", "eslint-config-internal", "eslint-plugin", "example-without-zod", "example", "fonts", "gif", "google-fonts", "install-whisper-cpp", "it-tests", "react18-tests", "lambda-go-example", "lambda-go", "lambda-php", "lambda-ruby", "lambda-python", "lambda", "lambda-client", "layout-utils", "rounded-text-box", "licensing", "lottie", "mcp", "media-utils", "motion-blur", "noise", "paths", "player-a11y", "player-example", "player", "preload", "renderer", "rive", "shapes", "skia", "promo-pages", "streaming", "serverless", "serverless-client", "skills", "skills-evals", "studio-codemods", "studio-server", "studio-shared", "studio", "tailwind", "tailwind-v4", "timeline-utils", "test-utils", "three", "transitions", "media-parser", "zod-types", "zod-types-v3", "webcodecs", "convert", "captions", "openai-whisper", "elevenlabs", "compositor", "example-videos", "whisper-web", "media", "remotion-media", "web-renderer", "design", "studio-protocol", "light-leaks", "mac-cursors", "rough-notation", "starburst", "vercel", "sfx", "effects"];
1
+ declare const allPackages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "claude-code-plugin", "cli", "cloudrun", "codex-plugin", "kimi-code-plugin", "compositor-darwin-arm64", "compositor-darwin-x64", "compositor-linux-arm64-gnu", "compositor-linux-arm64-musl", "compositor-linux-x64-gnu", "compositor-linux-x64-musl", "compositor-win32-x64-msvc", "core", "create-video", "discord-poster", "docusaurus-plugin", "docs", "enable-scss", "eslint-config", "eslint-config-flat", "eslint-config-internal", "eslint-plugin", "example-without-zod", "example", "fonts", "gif", "google-fonts", "install-whisper-cpp", "it-tests", "react18-tests", "lambda-go-example", "lambda-go", "lambda-php", "lambda-ruby", "lambda-python", "lambda", "lambda-client", "layout-utils", "rounded-text-box", "licensing", "lottie", "mcp", "media-utils", "motion-blur", "noise", "paths", "player-a11y", "player-example", "player", "preload", "renderer", "rive", "shapes", "skia", "promo-pages", "streaming", "serverless", "serverless-client", "skills", "skills-evals", "studio-codemods", "studio-server", "studio-shared", "studio", "tailwind", "tailwind-v4", "timeline-utils", "test-utils", "three", "transitions", "media-parser", "zod-types", "zod-types-v3", "webcodecs", "convert", "captions", "openai-whisper", "elevenlabs", "compositor", "example-videos", "whisper-web", "media", "remotion-media", "web-renderer", "design", "studio-protocol", "light-leaks", "mac-cursors", "maptiler", "rough-notation", "starburst", "vercel", "sfx", "effects"];
2
2
  export type Pkgs = (typeof allPackages)[number];
3
- export declare const packages: ("animated-emoji" | "animation-utils" | "astro-example" | "babel-loader" | "brand" | "browser-studio" | "bugs" | "bundler" | "captions" | "claude-code-plugin" | "cli" | "cloudrun" | "codex-plugin" | "compositor" | "compositor-darwin-arm64" | "compositor-darwin-x64" | "compositor-linux-arm64-gnu" | "compositor-linux-arm64-musl" | "compositor-linux-x64-gnu" | "compositor-linux-x64-musl" | "compositor-win32-x64-msvc" | "convert" | "core" | "create-video" | "design" | "discord-poster" | "docs" | "docusaurus-plugin" | "effects" | "elevenlabs" | "enable-scss" | "eslint-config" | "eslint-config-flat" | "eslint-config-internal" | "eslint-plugin" | "example" | "example-videos" | "example-without-zod" | "fonts" | "gif" | "google-fonts" | "install-whisper-cpp" | "it-tests" | "kimi-code-plugin" | "lambda" | "lambda-client" | "lambda-go" | "lambda-go-example" | "lambda-php" | "lambda-python" | "lambda-ruby" | "layout-utils" | "licensing" | "light-leaks" | "lottie" | "mac-cursors" | "mcp" | "media" | "media-parser" | "media-utils" | "motion-blur" | "noise" | "openai-whisper" | "paths" | "player" | "player-a11y" | "player-example" | "preload" | "promo-pages" | "react18-tests" | "remotion-media" | "renderer" | "rive" | "rough-notation" | "rounded-text-box" | "serverless" | "serverless-client" | "sfx" | "shapes" | "skia" | "skills" | "skills-evals" | "starburst" | "streaming" | "studio" | "studio-codemods" | "studio-protocol" | "studio-server" | "studio-shared" | "svg-3d-engine" | "tailwind" | "tailwind-v4" | "test-utils" | "three" | "timeline-utils" | "transitions" | "vercel" | "web-renderer" | "webcodecs" | "whisper-web" | "zod-types" | "zod-types-v3")[];
3
+ export declare const packages: ("animated-emoji" | "animation-utils" | "astro-example" | "babel-loader" | "brand" | "browser-studio" | "bugs" | "bundler" | "captions" | "claude-code-plugin" | "cli" | "cloudrun" | "codex-plugin" | "compositor" | "compositor-darwin-arm64" | "compositor-darwin-x64" | "compositor-linux-arm64-gnu" | "compositor-linux-arm64-musl" | "compositor-linux-x64-gnu" | "compositor-linux-x64-musl" | "compositor-win32-x64-msvc" | "convert" | "core" | "create-video" | "design" | "discord-poster" | "docs" | "docusaurus-plugin" | "effects" | "elevenlabs" | "enable-scss" | "eslint-config" | "eslint-config-flat" | "eslint-config-internal" | "eslint-plugin" | "example" | "example-videos" | "example-without-zod" | "fonts" | "gif" | "google-fonts" | "install-whisper-cpp" | "it-tests" | "kimi-code-plugin" | "lambda" | "lambda-client" | "lambda-go" | "lambda-go-example" | "lambda-php" | "lambda-python" | "lambda-ruby" | "layout-utils" | "licensing" | "light-leaks" | "lottie" | "mac-cursors" | "maptiler" | "mcp" | "media" | "media-parser" | "media-utils" | "motion-blur" | "noise" | "openai-whisper" | "paths" | "player" | "player-a11y" | "player-example" | "preload" | "promo-pages" | "react18-tests" | "remotion-media" | "renderer" | "rive" | "rough-notation" | "rounded-text-box" | "serverless" | "serverless-client" | "sfx" | "shapes" | "skia" | "skills" | "skills-evals" | "starburst" | "streaming" | "studio" | "studio-codemods" | "studio-protocol" | "studio-server" | "studio-shared" | "svg-3d-engine" | "tailwind" | "tailwind-v4" | "test-utils" | "three" | "timeline-utils" | "transitions" | "vercel" | "web-renderer" | "webcodecs" | "whisper-web" | "zod-types" | "zod-types-v3")[];
4
4
  export type ExtraPackage = {
5
5
  name: string;
6
6
  version: string;
@@ -101,6 +101,7 @@ const allPackages = [
101
101
  'studio-protocol',
102
102
  'light-leaks',
103
103
  'mac-cursors',
104
+ 'maptiler',
104
105
  'rough-notation',
105
106
  'starburst',
106
107
  'vercel',
@@ -114,19 +115,25 @@ exports.packages = allPackages.filter((pkg) => (0, release_package_policy_1.shou
114
115
  exports.extraPackages = [
115
116
  {
116
117
  name: 'mediabunny',
117
- version: '1.50.8',
118
+ version: '1.55.1',
118
119
  description: 'Multimedia library used by Remotion',
119
120
  docsUrl: 'https://www.remotion.dev/docs/mediabunny/version',
120
121
  },
121
122
  {
122
123
  name: '@mediabunny/ac3',
123
- version: '1.50.8',
124
+ version: '1.55.1',
124
125
  description: 'AC-3 and E-AC-3 audio codec support for Mediabunny',
125
126
  docsUrl: 'https://www.remotion.dev/docs/mediabunny/formats#ac-3-and-e-ac-3',
126
127
  },
128
+ {
129
+ name: '@mediabunny/dts',
130
+ version: '1.55.1',
131
+ description: 'DTS audio codec support for Mediabunny',
132
+ docsUrl: 'https://mediabunny.dev/guide/extensions/dts',
133
+ },
127
134
  {
128
135
  name: '@mediabunny/prores',
129
- version: '1.50.8',
136
+ version: '1.55.1',
130
137
  description: 'Apple ProRes decoder support for Mediabunny',
131
138
  docsUrl: 'https://www.remotion.dev/docs/mediabunny/formats',
132
139
  },
@@ -233,7 +240,8 @@ exports.descriptions = {
233
240
  design: 'Design system',
234
241
  'studio-protocol': 'Create Element payloads and request installation into Remotion Studio',
235
242
  'light-leaks': 'Light leak effects for Remotion',
236
- 'mac-cursors': 'Internal macOS cursor components for Remotion',
243
+ 'mac-cursors': 'macOS cursor components for Remotion',
244
+ maptiler: 'MapTiler components for Remotion',
237
245
  'rough-notation': 'Rough annotation primitives for Remotion',
238
246
  'player-a11y': 'Internal accessibility wrapper around @remotion/player',
239
247
  starburst: 'Starburst ray effect for Remotion',
@@ -347,7 +355,11 @@ exports.installableMap = {
347
355
  packageName: '@remotion/light-leaks',
348
356
  releaseVersion: remotion_1.VERSION,
349
357
  }),
350
- 'mac-cursors': false,
358
+ 'mac-cursors': (0, release_package_policy_1.shouldReleasePackage)({
359
+ packageName: '@remotion/mac-cursors',
360
+ releaseVersion: remotion_1.VERSION,
361
+ }),
362
+ maptiler: false,
351
363
  'rough-notation': true,
352
364
  starburst: (0, release_package_policy_1.shouldReleasePackage)({
353
365
  packageName: '@remotion/starburst',
@@ -454,7 +466,8 @@ exports.apiDocs = {
454
466
  design: 'https://www.remotion.dev/design',
455
467
  'studio-protocol': 'https://www.remotion.dev/docs/studio-protocol',
456
468
  'light-leaks': 'https://www.remotion.dev/docs/light-leaks',
457
- 'mac-cursors': null,
469
+ 'mac-cursors': 'https://www.remotion.dev/docs/mac-cursors',
470
+ maptiler: null,
458
471
  'rough-notation': 'https://www.remotion.dev/docs/rough-notation',
459
472
  starburst: 'https://www.remotion.dev/docs/starburst',
460
473
  vercel: 'https://www.remotion.dev/docs/vercel/api',
@@ -4,11 +4,19 @@ import type { _InternalTypes } from 'remotion';
4
4
  import type { GitSource } from './git-source';
5
5
  import type { PackageManager } from './package-manager';
6
6
  import type { StudioRuntimeConfig } from './studio-runtime-config';
7
+ export type ConfigFileRenderDefaults = {
8
+ codec: Codec | null;
9
+ proResProfile: _InternalTypes['ProResProfile'] | null;
10
+ stillImageFormat: StillImageFormat | null;
11
+ videoImageFormat: VideoImageFormat | null;
12
+ x264Preset: X264Preset | null;
13
+ };
7
14
  export type RenderDefaults = {
8
15
  jpegQuality: number;
9
16
  scale: number;
10
17
  logLevel: LogLevel;
11
18
  codec: Codec;
19
+ crf: number | null;
12
20
  concurrency: number;
13
21
  minConcurrency: number;
14
22
  muted: boolean;
@@ -47,7 +55,9 @@ export type RenderDefaults = {
47
55
  chromeMode: ChromeMode;
48
56
  publicLicenseKey: string | null;
49
57
  outputLocation: string | null;
58
+ allowHtmlInCanvas: boolean;
50
59
  sampleRate: number;
60
+ configFileRenderDefaults: ConfigFileRenderDefaults | null;
51
61
  };
52
62
  declare global {
53
63
  interface Window {
@@ -1,4 +1,16 @@
1
- import type { BuiltInEditor, DefaultCodingAgent } from '@remotion/renderer';
1
+ import type { BuiltInEditor, DefaultCodingAgent, LogLevel } from '@remotion/renderer';
2
+ export type ConfigFileStudioSettings = {
3
+ readonly askAIEnabled: boolean | null;
4
+ readonly audioLatencyHint: AudioContextLatencyCategory | null;
5
+ readonly beepOnFinish: boolean | null;
6
+ readonly enableCrossSiteIsolation: boolean | null;
7
+ readonly interactivityEnabled: boolean | null;
8
+ readonly keyboardShortcutsEnabled: boolean | null;
9
+ readonly logLevel: LogLevel | null;
10
+ readonly maxTimelineTracks: number | null;
11
+ readonly numberOfSharedAudioTags: number | null;
12
+ readonly rspack: boolean | null;
13
+ };
2
14
  export type StudioRuntimeConfig = {
3
15
  readonly maxTimelineTracks: number | null;
4
16
  readonly askAIEnabled: boolean;
@@ -8,4 +20,5 @@ export type StudioRuntimeConfig = {
8
20
  readonly defaultCodingAgent: DefaultCodingAgent | null;
9
21
  readonly defaultEditor: BuiltInEditor | 'custom' | null;
10
22
  readonly publicLicenseKey: string | null;
23
+ readonly configFileStudioSettings: ConfigFileStudioSettings | null;
11
24
  };
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.514",
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.514",
25
+ "remotion": "4.0.514"
26
26
  },
27
27
  "devDependencies": {
28
- "@remotion/renderer": "4.0.512",
29
- "@remotion/eslint-config-internal": "4.0.512",
28
+ "@remotion/renderer": "4.0.514",
29
+ "@remotion/eslint-config-internal": "4.0.514",
30
30
  "eslint": "9.19.0",
31
31
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
32
32
  },