@remotion/studio-shared 4.0.506 → 4.0.508

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.
Files changed (34) hide show
  1. package/dist/api-requests.d.ts +58 -24
  2. package/dist/config-method-lifecycles.d.ts +94 -0
  3. package/dist/config-method-lifecycles.js +97 -0
  4. package/dist/define-plugin-definitions.d.ts +1 -3
  5. package/dist/define-plugin-definitions.js +1 -2
  6. package/dist/easing-clipboard-data.js +1 -0
  7. package/dist/effect-catalog.js +69 -0
  8. package/dist/effect-clipboard-data.js +1 -0
  9. package/dist/element-drag-data.d.ts +3 -1
  10. package/dist/element-drag-data.js +11 -2
  11. package/dist/esm/index.mjs +181 -2
  12. package/dist/esm/keyframe-easing-presets.mjs +7 -0
  13. package/dist/event-source-event.d.ts +5 -0
  14. package/dist/index.d.ts +6 -2
  15. package/dist/index.js +7 -2
  16. package/dist/keyframe-easing-presets.d.ts +2 -1
  17. package/dist/keyframe-easing-presets.js +7 -1
  18. package/dist/package-info.d.ts +2 -2
  19. package/dist/package-info.js +4 -0
  20. package/dist/react-refresh-event.d.ts +1 -0
  21. package/dist/react-refresh-event.js +4 -0
  22. package/dist/render-job.d.ts +3 -0
  23. package/dist/sequence-node-path-mutation.d.ts +13 -0
  24. package/dist/sequence-node-path-mutation.js +2 -0
  25. package/dist/studio-runtime-config.d.ts +4 -0
  26. package/dist/terminal.d.ts +1 -0
  27. package/dist/terminal.js +2 -0
  28. package/package.json +5 -5
  29. package/dist/optimistic-update-for-code-values.d.ts +0 -7
  30. package/dist/optimistic-update-for-code-values.js +0 -30
  31. package/dist/optimistic-update-for-effect-code-values.d.ts +0 -8
  32. package/dist/optimistic-update-for-effect-code-values.js +0 -43
  33. package/dist/shape-drag-data.d.ts +0 -22
  34. package/dist/shape-drag-data.js +0 -90
@@ -50,6 +50,8 @@ var compositionDragDataToSymbolicatedStack = (dragData) => {
50
50
  originalScriptCode: null
51
51
  };
52
52
  };
53
+ // src/react-refresh-event.ts
54
+ var REACT_REFRESH_FINISHED_EVENT = "remotion-react-refresh-finished";
53
55
  // src/config-file-change.ts
54
56
  var getConfigFileChangeMessage = (changeType) => {
55
57
  if (changeType === "restart") {
@@ -60,6 +62,101 @@ var getConfigFileChangeMessage = (changeType) => {
60
62
  }
61
63
  return "Config file changed";
62
64
  };
65
+ // src/config-method-lifecycles.ts
66
+ var configMethodLifecycles = {
67
+ overrideBundlerConfig: "restart",
68
+ overrideDuration: "runtime",
69
+ overrideFfmpegCommand: "runtime",
70
+ overrideFps: "runtime",
71
+ overrideHeight: "runtime",
72
+ overrideRspackConfig: "restart",
73
+ overrideWebpackConfig: "restart",
74
+ overrideWidth: "runtime",
75
+ setAllowHtmlInCanvasEnabled: "runtime",
76
+ setAskAIEnabled: "runtime",
77
+ setAudioBitrate: "runtime",
78
+ setAudioCodec: "runtime",
79
+ setAudioLatencyHint: "reload",
80
+ setBeepOnFinish: "runtime",
81
+ setBenchmarkConcurrencies: "runtime",
82
+ setBenchmarkRuns: "runtime",
83
+ setBinariesDirectory: "restart",
84
+ setBrowserExecutable: "runtime",
85
+ setBufferStateDelayInMilliseconds: "runtime",
86
+ setBundleOutDir: "runtime",
87
+ setCachingEnabled: "runtime",
88
+ setChromeMode: "runtime",
89
+ setChromiumDarkMode: "runtime",
90
+ setChromiumDisableWebSecurity: "runtime",
91
+ setChromiumHeadlessMode: "runtime",
92
+ setChromiumIgnoreCertificateErrors: "runtime",
93
+ setChromiumMultiProcessOnLinux: "runtime",
94
+ setChromiumOpenGlRenderer: "runtime",
95
+ setChromiumUserAgent: "runtime",
96
+ setCodec: "runtime",
97
+ setColorSpace: "runtime",
98
+ setConcurrency: "runtime",
99
+ setCrf: "runtime",
100
+ setDefaultCodingAgent: "runtime",
101
+ setDefaultEditor: "runtime",
102
+ setDelayRenderTimeoutInMilliseconds: "runtime",
103
+ setDeleteAfter: "runtime",
104
+ setDisallowParallelEncoding: "runtime",
105
+ setDotEnvLocation: "restart",
106
+ setEnableCrossSiteIsolation: "restart",
107
+ setEnableFolderExpiry: "runtime",
108
+ setEncodingBufferSize: "runtime",
109
+ setEncodingMaxRate: "runtime",
110
+ setEnforceAudioTrack: "runtime",
111
+ setEntryPoint: "restart",
112
+ setEveryNthFrame: "runtime",
113
+ setExperimentalRspackEnabled: "restart",
114
+ setForSeamlessAacConcatenation: "runtime",
115
+ setForceNewStudioEnabled: "restart",
116
+ setFrameRange: "runtime",
117
+ setGopSize: "runtime",
118
+ setHardwareAcceleration: "runtime",
119
+ setIPv4: "restart",
120
+ setImageFormat: "runtime",
121
+ setImageSequence: "runtime",
122
+ setImageSequencePattern: "runtime",
123
+ setInteractivityEnabled: "runtime",
124
+ setJpegQuality: "runtime",
125
+ setKeyboardShortcutsEnabled: "runtime",
126
+ setLambdaInsights: "runtime",
127
+ setLevel: "restart",
128
+ setLogLevel: "restart",
129
+ setMaxTimelineTracks: "runtime",
130
+ setMetadata: "runtime",
131
+ setMuted: "runtime",
132
+ setNumberOfGifLoops: "runtime",
133
+ setNumberOfSharedAudioTags: "reload",
134
+ setOffthreadVideoCacheSizeInBytes: "runtime",
135
+ setOutputLocation: "runtime",
136
+ setOverwriteOutput: "runtime",
137
+ setPixelFormat: "runtime",
138
+ setPort: "restart",
139
+ setPreferLosslessAudio: "runtime",
140
+ setPreviewSampleRate: "reload",
141
+ setProResProfile: "runtime",
142
+ setPublicDir: "restart",
143
+ setPublicLicenseKey: "runtime",
144
+ setPublicPath: "runtime",
145
+ setQuality: "runtime",
146
+ setRendererPort: "restart",
147
+ setRepro: "runtime",
148
+ setRspack: "restart",
149
+ setSampleRate: "runtime",
150
+ setScale: "runtime",
151
+ setShouldOpenBrowser: "restart",
152
+ setStillImageFormat: "runtime",
153
+ setStudioPort: "restart",
154
+ setTimeoutInMilliseconds: "runtime",
155
+ setVideoBitrate: "runtime",
156
+ setVideoImageFormat: "runtime",
157
+ setWebpackPollingInMilliseconds: "restart",
158
+ setX264Preset: "runtime"
159
+ };
63
160
  // src/default-buffer-state-delay-in-milliseconds.ts
64
161
  var DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = 300;
65
162
  // src/detect-file-type.ts
@@ -375,7 +472,7 @@ var isFiniteNumber = (value) => {
375
472
  return typeof value === "number" && Number.isFinite(value);
376
473
  };
377
474
  var isKeyframeEasing = (value) => {
378
- return isRecord(value) && (value.type === "linear" || value.type === "bezier" && isFiniteNumber(value.x1) && isFiniteNumber(value.y1) && isFiniteNumber(value.x2) && isFiniteNumber(value.y2) || value.type === "spring" && isFiniteNumber(value.damping) && isFiniteNumber(value.mass) && isFiniteNumber(value.stiffness) && (value.allowTail === undefined || value.allowTail === null || typeof value.allowTail === "boolean") && (value.durationRestThreshold === undefined || value.durationRestThreshold === null || isFiniteNumber(value.durationRestThreshold)) && typeof value.overshootClamping === "boolean");
475
+ return isRecord(value) && (value.type === "linear" || value.type === "step1" || value.type === "bezier" && isFiniteNumber(value.x1) && isFiniteNumber(value.y1) && isFiniteNumber(value.x2) && isFiniteNumber(value.y2) || value.type === "spring" && isFiniteNumber(value.damping) && isFiniteNumber(value.mass) && isFiniteNumber(value.stiffness) && (value.allowTail === undefined || value.allowTail === null || typeof value.allowTail === "boolean") && (value.durationRestThreshold === undefined || value.durationRestThreshold === null || isFiniteNumber(value.durationRestThreshold)) && typeof value.overshootClamping === "boolean");
379
476
  };
380
477
  var normalizeKeyframeEasing = (easing) => {
381
478
  if (easing.type !== "spring") {
@@ -504,6 +601,17 @@ var EFFECT_CATALOG = [
504
601
  config: {}
505
602
  }
506
603
  },
604
+ {
605
+ id: "effects-exposure",
606
+ category: "Color",
607
+ label: "exposure()",
608
+ description: "Stop-based exposure adjustment",
609
+ effect: {
610
+ name: "exposure",
611
+ importPath: "@remotion/effects/exposure",
612
+ config: {}
613
+ }
614
+ },
507
615
  {
508
616
  id: "effects-grayscale",
509
617
  category: "Color",
@@ -537,6 +645,17 @@ var EFFECT_CATALOG = [
537
645
  config: {}
538
646
  }
539
647
  },
648
+ {
649
+ id: "effects-levels",
650
+ category: "Color",
651
+ label: "levels()",
652
+ description: "Black point, white point, and gamma",
653
+ effect: {
654
+ name: "levels",
655
+ importPath: "@remotion/effects/levels",
656
+ config: {}
657
+ }
658
+ },
540
659
  {
541
660
  id: "effects-saturation",
542
661
  category: "Color",
@@ -548,6 +667,17 @@ var EFFECT_CATALOG = [
548
667
  config: {}
549
668
  }
550
669
  },
670
+ {
671
+ id: "effects-shadows-highlights",
672
+ category: "Color",
673
+ label: "shadowsHighlights()",
674
+ description: "Recover dark and bright tonal regions",
675
+ effect: {
676
+ name: "shadowsHighlights",
677
+ importPath: "@remotion/effects/shadows-highlights",
678
+ config: {}
679
+ }
680
+ },
551
681
  {
552
682
  id: "effects-tint",
553
683
  category: "Color",
@@ -561,6 +691,28 @@ var EFFECT_CATALOG = [
561
691
  }
562
692
  }
563
693
  },
694
+ {
695
+ id: "effects-white-balance",
696
+ category: "Color",
697
+ label: "whiteBalance()",
698
+ description: "Temperature and tint correction",
699
+ effect: {
700
+ name: "whiteBalance",
701
+ importPath: "@remotion/effects/white-balance",
702
+ config: {}
703
+ }
704
+ },
705
+ {
706
+ id: "effects-vibrance",
707
+ category: "Color",
708
+ label: "vibrance()",
709
+ description: "Selective saturation adjustment",
710
+ effect: {
711
+ name: "vibrance",
712
+ importPath: "@remotion/effects/vibrance",
713
+ config: {}
714
+ }
715
+ },
564
716
  {
565
717
  id: "effects-linear-gradient",
566
718
  category: "Color",
@@ -629,6 +781,20 @@ var EFFECT_CATALOG = [
629
781
  config: {}
630
782
  }
631
783
  },
784
+ {
785
+ id: "effects-region-blur",
786
+ category: "Blur & Shadow",
787
+ label: "regionBlur()",
788
+ description: "Blur a rectangular or rounded region",
789
+ effect: {
790
+ name: "regionBlur",
791
+ importPath: "@remotion/effects/region-blur",
792
+ config: {
793
+ topLeft: [0.28, 0.18],
794
+ bottomRight: [0.72, 0.82]
795
+ }
796
+ }
797
+ },
632
798
  {
633
799
  id: "effects-zoom-blur",
634
800
  category: "Blur & Shadow",
@@ -1305,7 +1471,7 @@ var isFiniteNumber2 = (value) => {
1305
1471
  return typeof value === "number" && Number.isFinite(value);
1306
1472
  };
1307
1473
  var isEasing = (value) => {
1308
- return isRecord2(value) && (value.type === "linear" || value.type === "bezier" && isFiniteNumber2(value.x1) && isFiniteNumber2(value.y1) && isFiniteNumber2(value.x2) && isFiniteNumber2(value.y2) || value.type === "spring" && isFiniteNumber2(value.damping) && isFiniteNumber2(value.mass) && isFiniteNumber2(value.stiffness) && (value.allowTail === undefined || value.allowTail === null || typeof value.allowTail === "boolean") && (value.durationRestThreshold === undefined || value.durationRestThreshold === null || isFiniteNumber2(value.durationRestThreshold)) && typeof value.overshootClamping === "boolean");
1474
+ return isRecord2(value) && (value.type === "linear" || value.type === "step1" || value.type === "bezier" && isFiniteNumber2(value.x1) && isFiniteNumber2(value.y1) && isFiniteNumber2(value.x2) && isFiniteNumber2(value.y2) || value.type === "spring" && isFiniteNumber2(value.damping) && isFiniteNumber2(value.mass) && isFiniteNumber2(value.stiffness) && (value.allowTail === undefined || value.allowTail === null || typeof value.allowTail === "boolean") && (value.durationRestThreshold === undefined || value.durationRestThreshold === null || isFiniteNumber2(value.durationRestThreshold)) && typeof value.overshootClamping === "boolean");
1309
1475
  };
1310
1476
  var normalizeEasing = (easing) => {
1311
1477
  if (easing.type !== "spring") {
@@ -1733,6 +1899,7 @@ var parseKeyframeClipboardData = (value) => {
1733
1899
  };
1734
1900
  // src/keyframe-easing-presets.ts
1735
1901
  var LINEAR_KEYFRAME_EASING = { type: "linear" };
1902
+ var HOLD_KEYFRAME_EASING = { type: "step1" };
1736
1903
  var EASE_KEYFRAME_EASING = {
1737
1904
  type: "bezier",
1738
1905
  x1: 0.42,
@@ -1804,6 +1971,11 @@ var KEYFRAME_EASING_PRESETS = [
1804
1971
  label: "Ease in-out",
1805
1972
  easing: { type: "bezier", x1: 0.42, y1: 0, x2: 0.58, y2: 1 }
1806
1973
  },
1974
+ {
1975
+ id: "hold",
1976
+ label: "Hold",
1977
+ easing: HOLD_KEYFRAME_EASING
1978
+ },
1807
1979
  {
1808
1980
  id: "tail-spring",
1809
1981
  label: "Tail spring",
@@ -1966,6 +2138,7 @@ var allPackages = [
1966
2138
  "design",
1967
2139
  "studio-protocol",
1968
2140
  "light-leaks",
2141
+ "mac-cursors",
1969
2142
  "rough-notation",
1970
2143
  "starburst",
1971
2144
  "vercel",
@@ -2098,6 +2271,7 @@ var descriptions = {
2098
2271
  design: "Design system",
2099
2272
  "studio-protocol": "Create Element payloads and request installation into Remotion Studio",
2100
2273
  "light-leaks": "Light leak effects for Remotion",
2274
+ "mac-cursors": "Internal macOS cursor components for Remotion",
2101
2275
  "rough-notation": "Rough annotation primitives for Remotion",
2102
2276
  "player-a11y": "Internal accessibility wrapper around @remotion/player",
2103
2277
  starburst: "Starburst ray effect for Remotion",
@@ -2211,6 +2385,7 @@ var installableMap = {
2211
2385
  packageName: "@remotion/light-leaks",
2212
2386
  releaseVersion: VERSION
2213
2387
  }),
2388
+ "mac-cursors": false,
2214
2389
  "rough-notation": true,
2215
2390
  starburst: shouldReleasePackage({
2216
2391
  packageName: "@remotion/starburst",
@@ -2317,6 +2492,7 @@ var apiDocs = {
2317
2492
  design: "https://www.remotion.dev/design",
2318
2493
  "studio-protocol": "https://www.remotion.dev/docs/studio-protocol",
2319
2494
  "light-leaks": "https://www.remotion.dev/docs/light-leaks",
2495
+ "mac-cursors": null,
2320
2496
  "rough-notation": "https://www.remotion.dev/docs/rough-notation",
2321
2497
  starburst: "https://www.remotion.dev/docs/starburst",
2322
2498
  vercel: "https://www.remotion.dev/docs/vercel/api",
@@ -3687,15 +3863,18 @@ export {
3687
3863
  extraPackages,
3688
3864
  detectFileType,
3689
3865
  descriptions,
3866
+ configMethodLifecycles,
3690
3867
  compositionDragDataToSymbolicatedStack,
3691
3868
  canMoveKeyframesWithoutCollisions,
3692
3869
  canEditEasingForInterpolationFunction,
3693
3870
  apiDocs,
3694
3871
  SCHEMA_FIELD_ROW_HEIGHT,
3695
3872
  SCHEMA_FIELD_GROUPS,
3873
+ REACT_REFRESH_FINISHED_EVENT,
3696
3874
  QUAD_KEYFRAME_EASING,
3697
3875
  LINEAR_KEYFRAME_EASING,
3698
3876
  KEYFRAME_EASING_PRESETS,
3877
+ HOLD_KEYFRAME_EASING,
3699
3878
  EFFECT_CATALOG,
3700
3879
  EASE_KEYFRAME_EASING,
3701
3880
  DEFAULT_TIMELINE_TRACKS,
@@ -1,5 +1,6 @@
1
1
  // src/keyframe-easing-presets.ts
2
2
  var LINEAR_KEYFRAME_EASING = { type: "linear" };
3
+ var HOLD_KEYFRAME_EASING = { type: "step1" };
3
4
  var EASE_KEYFRAME_EASING = {
4
5
  type: "bezier",
5
6
  x1: 0.42,
@@ -71,6 +72,11 @@ var KEYFRAME_EASING_PRESETS = [
71
72
  label: "Ease in-out",
72
73
  easing: { type: "bezier", x1: 0.42, y1: 0, x2: 0.58, y2: 1 }
73
74
  },
75
+ {
76
+ id: "hold",
77
+ label: "Hold",
78
+ easing: HOLD_KEYFRAME_EASING
79
+ },
74
80
  {
75
81
  id: "tail-spring",
76
82
  label: "Tail spring",
@@ -118,6 +124,7 @@ export {
118
124
  QUAD_KEYFRAME_EASING,
119
125
  LINEAR_KEYFRAME_EASING,
120
126
  KEYFRAME_EASING_PRESETS,
127
+ HOLD_KEYFRAME_EASING,
121
128
  EASE_KEYFRAME_EASING,
122
129
  CUBIC_KEYFRAME_EASING
123
130
  };
@@ -4,6 +4,7 @@ import type { ConfigFileChangeType } from './config-file-change';
4
4
  import type { HotMiddlewareMessage } from './hot-middleware';
5
5
  import type { RenderDefaults } from './render-defaults';
6
6
  import type { CompletedClientRender, RenderJob } from './render-job';
7
+ import type { SequenceNodePathMutation } from './sequence-node-path-mutation';
7
8
  import type { StudioRuntimeConfig } from './studio-runtime-config';
8
9
  export type EventSourceEvent = {
9
10
  type: 'new-input-props';
@@ -19,6 +20,7 @@ export type EventSourceEvent = {
19
20
  } | {
20
21
  type: 'config-file-changed';
21
22
  changeType: ConfigFileChangeType;
23
+ originatorClientId: string | null;
22
24
  renderDefaults: RenderDefaults;
23
25
  studioRuntimeConfig: StudioRuntimeConfig;
24
26
  editorName: string | null;
@@ -52,6 +54,9 @@ export type EventSourceEvent = {
52
54
  fileName: string;
53
55
  nodePath: SequencePropsSubscriptionKey;
54
56
  result: CanUpdateSequencePropsResponse;
57
+ } | {
58
+ type: 'sequence-node-paths-remapped';
59
+ mutation: SequenceNodePathMutation;
55
60
  } | {
56
61
  type: 'lost-node-path';
57
62
  fileName: string;
package/dist/index.d.ts CHANGED
@@ -1,9 +1,13 @@
1
1
  export { splitAnsi, stripAnsi } from './ansi';
2
- 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, 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, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, 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, UpdateDefaultCodingAgentRequest, UpdateDefaultCodingAgentResponse, UpdateDefaultEditorRequest, UpdateDefaultEditorResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdatePublicLicenseRequest, UpdatePublicLicenseResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type KeyframeSettings, } from './api-requests';
2
+ export type { TerminalId } from './terminal';
3
+ 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, 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';
3
4
  export type { BrowserStudioOperations } from './browser-studio-operations';
5
+ export type { SequenceNodePathMutation, SequenceNodePathRemapping, } from './sequence-node-path-mutation';
4
6
  export type { ApplyVisualControlCodemod, RecastCodemod } from './codemods';
5
7
  export { compositionDragDataToSymbolicatedStack } from './composition-drag-data';
8
+ export { REACT_REFRESH_FINISHED_EVENT } from './react-refresh-event';
6
9
  export { getConfigFileChangeMessage, type ConfigFileChangeType, } from './config-file-change';
10
+ export { configMethodLifecycles } from './config-method-lifecycles';
7
11
  export { DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS } from './default-buffer-state-delay-in-milliseconds';
8
12
  export { detectFileType, isImageFileType, type FileDimensions, type FileType, type ImageFileType, } from './detect-file-type';
9
13
  export { parseEasingClipboardData, parseEasingClipboardDataResult, type EasingClipboardData, type EasingClipboardDataParseResult, } from './easing-clipboard-data';
@@ -18,7 +22,7 @@ export { getProjectName } from './get-project-name';
18
22
  export type { GitSource } from './git-source';
19
23
  export { HotMiddlewareMessage, HotMiddlewareOptions, ModuleMap, hotMiddlewareOptions, } from './hot-middleware';
20
24
  export { isKeyframeClipboardFieldType, parseKeyframeClipboardData, parseKeyframeClipboardDataResult, type KeyframeClipboardData, type KeyframeClipboardDataParseResult, type KeyframeClipboardFieldType, } from './keyframe-clipboard-data';
21
- export { CUBIC_KEYFRAME_EASING, EASE_KEYFRAME_EASING, KEYFRAME_EASING_PRESETS, LINEAR_KEYFRAME_EASING, QUAD_KEYFRAME_EASING, getBackKeyframeEasing, getOutKeyframeEasing, getPolyKeyframeEasing, type KeyframeEasing, type KeyframeEasingPreset, } from './keyframe-easing-presets';
25
+ export { CUBIC_KEYFRAME_EASING, EASE_KEYFRAME_EASING, HOLD_KEYFRAME_EASING, KEYFRAME_EASING_PRESETS, LINEAR_KEYFRAME_EASING, QUAD_KEYFRAME_EASING, getBackKeyframeEasing, getOutKeyframeEasing, getPolyKeyframeEasing, type KeyframeEasing, type KeyframeEasingPreset, } from './keyframe-easing-presets';
22
26
  export { canEditEasingForInterpolationFunction, getKeyframeInterpolationFunction, getKeyframeInterpolationFunctionForSchemaField, isInteractivitySchemaFieldKeyframable, isKeyframeInterpolationFunction, isSchemaFieldKeyframable, keyframeInterpolationFunctions, type KeyframeInterpolationFunction, } from './keyframe-interpolation-function';
23
27
  export { DEFAULT_TIMELINE_TRACKS } from './max-timeline-tracks';
24
28
  export { Pkgs, apiDocs, descriptions, extraPackages, installableMap, packages, type ExtraPackage, } from './package-info';
package/dist/index.js CHANGED
@@ -14,16 +14,20 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.packages = exports.installableMap = exports.extraPackages = exports.descriptions = exports.apiDocs = exports.DEFAULT_TIMELINE_TRACKS = exports.keyframeInterpolationFunctions = exports.isSchemaFieldKeyframable = exports.isKeyframeInterpolationFunction = exports.isInteractivitySchemaFieldKeyframable = exports.getKeyframeInterpolationFunctionForSchemaField = exports.getKeyframeInterpolationFunction = exports.canEditEasingForInterpolationFunction = exports.getPolyKeyframeEasing = exports.getOutKeyframeEasing = exports.getBackKeyframeEasing = exports.QUAD_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = exports.KEYFRAME_EASING_PRESETS = exports.EASE_KEYFRAME_EASING = exports.CUBIC_KEYFRAME_EASING = exports.parseKeyframeClipboardDataResult = exports.parseKeyframeClipboardData = exports.isKeyframeClipboardFieldType = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getDefaultOutLocation = exports.getAssetSchemaKeys = exports.getAllSchemaKeys = exports.formatBytes = exports.parseEffectPropClipboardDataResult = exports.parseEffectPropClipboardData = exports.parseEffectClipboardDataResult = exports.parseEffectClipboardData = exports.getEffectPreviewSource = exports.getEffectPreviewAlt = exports.getEffectDocumentationPath = exports.getEffectDocumentationLink = exports.getEffectCatalogCategories = exports.EFFECT_CATALOG = exports.parseEasingClipboardDataResult = exports.parseEasingClipboardData = exports.isImageFileType = exports.detectFileType = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.getConfigFileChangeMessage = exports.compositionDragDataToSymbolicatedStack = exports.stripAnsi = exports.splitAnsi = void 0;
18
- exports.isUrl = exports.stringifySequenceSubscriptionKey = exports.stringifySequenceExpandedRowKey = exports.optimisticUpdateSequenceKeyframeSettings = exports.optimisticUpdateEffectKeyframeSettings = exports.optimisticUpdateForPropStatuses = exports.optimisticUpdateForEffectPropStatuses = exports.optimisticMoveSequenceKeyframes = exports.optimisticMoveEffectKeyframes = exports.moveKeyframesInPropStatus = exports.canMoveKeyframesWithoutCollisions = exports.optimisticDeleteSequenceKeyframes = exports.optimisticDeleteSequenceKeyframe = exports.optimisticDeleteEffectKeyframes = exports.optimisticDeleteEffectKeyframe = exports.optimisticAddSequenceKeyframe = exports.optimisticAddEffectKeyframe = exports.getStylePropertyLonghandKeys = exports.BORDER_RADIUS_SHORTHAND_KEY = exports.BORDER_RADIUS_LONGHAND_KEYS = exports.studioHtml = exports.getStudioEntryPoints = exports.stringifyDefaultProps = exports.getSchemaFieldGroup = exports.getFieldsToShow = exports.getEffectFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.SCHEMA_FIELD_GROUPS = exports.isValidPackageName = exports.getRequiredPackageForInsertableElement = exports.getRequiredPackageForEffectImportPath = exports.parseSpringEasingConfig = exports.DEFAULT_SPRING_EASING = void 0;
17
+ exports.descriptions = exports.apiDocs = exports.DEFAULT_TIMELINE_TRACKS = exports.keyframeInterpolationFunctions = exports.isSchemaFieldKeyframable = exports.isKeyframeInterpolationFunction = exports.isInteractivitySchemaFieldKeyframable = exports.getKeyframeInterpolationFunctionForSchemaField = exports.getKeyframeInterpolationFunction = exports.canEditEasingForInterpolationFunction = exports.getPolyKeyframeEasing = exports.getOutKeyframeEasing = exports.getBackKeyframeEasing = exports.QUAD_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = exports.KEYFRAME_EASING_PRESETS = exports.HOLD_KEYFRAME_EASING = exports.EASE_KEYFRAME_EASING = exports.CUBIC_KEYFRAME_EASING = exports.parseKeyframeClipboardDataResult = exports.parseKeyframeClipboardData = exports.isKeyframeClipboardFieldType = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getDefaultOutLocation = exports.getAssetSchemaKeys = exports.getAllSchemaKeys = exports.formatBytes = exports.parseEffectPropClipboardDataResult = exports.parseEffectPropClipboardData = exports.parseEffectClipboardDataResult = exports.parseEffectClipboardData = exports.getEffectPreviewSource = exports.getEffectPreviewAlt = exports.getEffectDocumentationPath = exports.getEffectDocumentationLink = exports.getEffectCatalogCategories = exports.EFFECT_CATALOG = exports.parseEasingClipboardDataResult = exports.parseEasingClipboardData = exports.isImageFileType = exports.detectFileType = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.configMethodLifecycles = exports.getConfigFileChangeMessage = exports.REACT_REFRESH_FINISHED_EVENT = exports.compositionDragDataToSymbolicatedStack = exports.stripAnsi = exports.splitAnsi = void 0;
18
+ exports.isUrl = exports.stringifySequenceSubscriptionKey = exports.stringifySequenceExpandedRowKey = exports.optimisticUpdateSequenceKeyframeSettings = exports.optimisticUpdateEffectKeyframeSettings = exports.optimisticUpdateForPropStatuses = exports.optimisticUpdateForEffectPropStatuses = exports.optimisticMoveSequenceKeyframes = exports.optimisticMoveEffectKeyframes = exports.moveKeyframesInPropStatus = exports.canMoveKeyframesWithoutCollisions = exports.optimisticDeleteSequenceKeyframes = exports.optimisticDeleteSequenceKeyframe = exports.optimisticDeleteEffectKeyframes = exports.optimisticDeleteEffectKeyframe = exports.optimisticAddSequenceKeyframe = exports.optimisticAddEffectKeyframe = exports.getStylePropertyLonghandKeys = exports.BORDER_RADIUS_SHORTHAND_KEY = exports.BORDER_RADIUS_LONGHAND_KEYS = exports.studioHtml = exports.getStudioEntryPoints = exports.stringifyDefaultProps = exports.getSchemaFieldGroup = exports.getFieldsToShow = exports.getEffectFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.SCHEMA_FIELD_GROUPS = exports.isValidPackageName = exports.getRequiredPackageForInsertableElement = exports.getRequiredPackageForEffectImportPath = exports.parseSpringEasingConfig = exports.DEFAULT_SPRING_EASING = exports.packages = exports.installableMap = exports.extraPackages = void 0;
19
19
  const ansi_1 = require("./ansi");
20
20
  Object.defineProperty(exports, "splitAnsi", { enumerable: true, get: function () { return ansi_1.splitAnsi; } });
21
21
  Object.defineProperty(exports, "stripAnsi", { enumerable: true, get: function () { return ansi_1.stripAnsi; } });
22
22
  __exportStar(require("./api-requests"), exports);
23
23
  const composition_drag_data_1 = require("./composition-drag-data");
24
24
  Object.defineProperty(exports, "compositionDragDataToSymbolicatedStack", { enumerable: true, get: function () { return composition_drag_data_1.compositionDragDataToSymbolicatedStack; } });
25
+ const react_refresh_event_1 = require("./react-refresh-event");
26
+ Object.defineProperty(exports, "REACT_REFRESH_FINISHED_EVENT", { enumerable: true, get: function () { return react_refresh_event_1.REACT_REFRESH_FINISHED_EVENT; } });
25
27
  const config_file_change_1 = require("./config-file-change");
26
28
  Object.defineProperty(exports, "getConfigFileChangeMessage", { enumerable: true, get: function () { return config_file_change_1.getConfigFileChangeMessage; } });
29
+ const config_method_lifecycles_1 = require("./config-method-lifecycles");
30
+ Object.defineProperty(exports, "configMethodLifecycles", { enumerable: true, get: function () { return config_method_lifecycles_1.configMethodLifecycles; } });
27
31
  const default_buffer_state_delay_in_milliseconds_1 = require("./default-buffer-state-delay-in-milliseconds");
28
32
  Object.defineProperty(exports, "DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS", { enumerable: true, get: function () { return default_buffer_state_delay_in_milliseconds_1.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS; } });
29
33
  const detect_file_type_1 = require("./detect-file-type");
@@ -64,6 +68,7 @@ Object.defineProperty(exports, "parseKeyframeClipboardDataResult", { enumerable:
64
68
  const keyframe_easing_presets_1 = require("./keyframe-easing-presets");
65
69
  Object.defineProperty(exports, "CUBIC_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.CUBIC_KEYFRAME_EASING; } });
66
70
  Object.defineProperty(exports, "EASE_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.EASE_KEYFRAME_EASING; } });
71
+ Object.defineProperty(exports, "HOLD_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.HOLD_KEYFRAME_EASING; } });
67
72
  Object.defineProperty(exports, "KEYFRAME_EASING_PRESETS", { enumerable: true, get: function () { return keyframe_easing_presets_1.KEYFRAME_EASING_PRESETS; } });
68
73
  Object.defineProperty(exports, "LINEAR_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.LINEAR_KEYFRAME_EASING; } });
69
74
  Object.defineProperty(exports, "QUAD_KEYFRAME_EASING", { enumerable: true, get: function () { return keyframe_easing_presets_1.QUAD_KEYFRAME_EASING; } });
@@ -1,11 +1,12 @@
1
1
  import type { CanUpdateSequencePropStatusEasing } from 'remotion';
2
2
  export type KeyframeEasing = CanUpdateSequencePropStatusEasing;
3
3
  export type KeyframeEasingPreset = {
4
- readonly id: 'ease-in' | 'ease-out' | 'ease-in-out' | 'spring' | 'bouncy-spring' | 'tail-spring';
4
+ readonly id: 'ease-in' | 'ease-out' | 'ease-in-out' | 'hold' | 'spring' | 'bouncy-spring' | 'tail-spring';
5
5
  readonly label: string;
6
6
  readonly easing: KeyframeEasing;
7
7
  };
8
8
  export declare const LINEAR_KEYFRAME_EASING: KeyframeEasing;
9
+ export declare const HOLD_KEYFRAME_EASING: KeyframeEasing;
9
10
  export declare const EASE_KEYFRAME_EASING: KeyframeEasing;
10
11
  export declare const QUAD_KEYFRAME_EASING: KeyframeEasing;
11
12
  export declare const CUBIC_KEYFRAME_EASING: KeyframeEasing;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KEYFRAME_EASING_PRESETS = exports.getOutKeyframeEasing = exports.getPolyKeyframeEasing = exports.getBackKeyframeEasing = exports.CUBIC_KEYFRAME_EASING = exports.QUAD_KEYFRAME_EASING = exports.EASE_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = void 0;
3
+ exports.KEYFRAME_EASING_PRESETS = exports.getOutKeyframeEasing = exports.getPolyKeyframeEasing = exports.getBackKeyframeEasing = exports.CUBIC_KEYFRAME_EASING = exports.QUAD_KEYFRAME_EASING = exports.EASE_KEYFRAME_EASING = exports.HOLD_KEYFRAME_EASING = exports.LINEAR_KEYFRAME_EASING = void 0;
4
4
  exports.LINEAR_KEYFRAME_EASING = { type: 'linear' };
5
+ exports.HOLD_KEYFRAME_EASING = { type: 'step1' };
5
6
  exports.EASE_KEYFRAME_EASING = {
6
7
  type: 'bezier',
7
8
  x1: 0.42,
@@ -76,6 +77,11 @@ exports.KEYFRAME_EASING_PRESETS = [
76
77
  label: 'Ease in-out',
77
78
  easing: { type: 'bezier', x1: 0.42, y1: 0, x2: 0.58, y2: 1 },
78
79
  },
80
+ {
81
+ id: 'hold',
82
+ label: 'Hold',
83
+ easing: exports.HOLD_KEYFRAME_EASING,
84
+ },
79
85
  {
80
86
  id: 'tail-spring',
81
87
  label: 'Tail spring',
@@ -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", "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", "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" | "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" | "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;
@@ -100,6 +100,7 @@ const allPackages = [
100
100
  'design',
101
101
  'studio-protocol',
102
102
  'light-leaks',
103
+ 'mac-cursors',
103
104
  'rough-notation',
104
105
  'starburst',
105
106
  'vercel',
@@ -232,6 +233,7 @@ exports.descriptions = {
232
233
  design: 'Design system',
233
234
  'studio-protocol': 'Create Element payloads and request installation into Remotion Studio',
234
235
  'light-leaks': 'Light leak effects for Remotion',
236
+ 'mac-cursors': 'Internal macOS cursor components for Remotion',
235
237
  'rough-notation': 'Rough annotation primitives for Remotion',
236
238
  'player-a11y': 'Internal accessibility wrapper around @remotion/player',
237
239
  starburst: 'Starburst ray effect for Remotion',
@@ -345,6 +347,7 @@ exports.installableMap = {
345
347
  packageName: '@remotion/light-leaks',
346
348
  releaseVersion: remotion_1.VERSION,
347
349
  }),
350
+ 'mac-cursors': false,
348
351
  'rough-notation': true,
349
352
  starburst: (0, release_package_policy_1.shouldReleasePackage)({
350
353
  packageName: '@remotion/starburst',
@@ -451,6 +454,7 @@ exports.apiDocs = {
451
454
  design: 'https://www.remotion.dev/design',
452
455
  'studio-protocol': 'https://www.remotion.dev/docs/studio-protocol',
453
456
  'light-leaks': 'https://www.remotion.dev/docs/light-leaks',
457
+ 'mac-cursors': null,
454
458
  'rough-notation': 'https://www.remotion.dev/docs/rough-notation',
455
459
  starburst: 'https://www.remotion.dev/docs/starburst',
456
460
  vercel: 'https://www.remotion.dev/docs/vercel/api',
@@ -0,0 +1 @@
1
+ export declare const REACT_REFRESH_FINISHED_EVENT = "remotion-react-refresh-finished";
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REACT_REFRESH_FINISHED_EVENT = void 0;
4
+ exports.REACT_REFRESH_FINISHED_EVENT = 'remotion-react-refresh-finished';
@@ -35,6 +35,7 @@ export type BrowserDownloadState = {
35
35
  progress: number;
36
36
  doneIn: number | null;
37
37
  alreadyAvailable: boolean;
38
+ error?: boolean;
38
39
  };
39
40
  export type BrowserProgressLog = {
40
41
  logLevel: LogLevel;
@@ -86,6 +87,7 @@ type RenderJobDynamicFields = ({
86
87
  offthreadVideoCacheSizeInBytes: number | null;
87
88
  mediaCacheSizeInBytes: number | null;
88
89
  offthreadVideoThreads: number | null;
90
+ licenseKey: string | null;
89
91
  } & RenderJobDynamicStatus) | ({
90
92
  type: 'sequence';
91
93
  imageFormat: VideoImageFormat;
@@ -129,6 +131,7 @@ type RenderJobDynamicFields = ({
129
131
  separateAudioTo: string | null;
130
132
  hardwareAcceleration: HardwareAccelerationOption;
131
133
  sampleRate: number;
134
+ licenseKey: string | null;
132
135
  } & RenderJobDynamicStatus);
133
136
  import type { ChromiumOptions, OpenGlRenderer } from '@remotion/renderer';
134
137
  import type { HardwareAccelerationOption } from '@remotion/renderer/client';
@@ -0,0 +1,13 @@
1
+ import type { SequenceNodePath } from 'remotion';
2
+ export type SequenceNodePathRemapping = {
3
+ oldNodePath: SequenceNodePath;
4
+ newNodePath: SequenceNodePath | null;
5
+ };
6
+ export type SequenceNodePathMutation = {
7
+ mutationId: string;
8
+ files: Array<{
9
+ absolutePath: string;
10
+ remappings: SequenceNodePathRemapping[];
11
+ restoredNodePaths: SequenceNodePath[];
12
+ }>;
13
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,11 @@
1
+ import type { BuiltInEditor, DefaultCodingAgent } from '@remotion/renderer';
1
2
  export type StudioRuntimeConfig = {
2
3
  readonly maxTimelineTracks: number | null;
3
4
  readonly askAIEnabled: boolean;
4
5
  readonly interactivityEnabled: boolean;
5
6
  readonly keyboardShortcutsEnabled: boolean;
6
7
  readonly bufferStateDelayInMilliseconds: number | null;
8
+ readonly defaultCodingAgent: DefaultCodingAgent | null;
9
+ readonly defaultEditor: BuiltInEditor | 'custom' | null;
10
+ readonly publicLicenseKey: string | null;
7
11
  };
@@ -0,0 +1 @@
1
+ export type TerminalId = 'terminal' | 'iterm2' | 'ghostty' | 'warp' | 'wezterm' | 'alacritty' | 'windows-terminal' | 'gnome-terminal';
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
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.506",
6
+ "version": "4.0.508",
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.506",
25
- "remotion": "4.0.506"
24
+ "@remotion/studio-protocol": "4.0.508",
25
+ "remotion": "4.0.508"
26
26
  },
27
27
  "devDependencies": {
28
- "@remotion/renderer": "4.0.506",
29
- "@remotion/eslint-config-internal": "4.0.506",
28
+ "@remotion/renderer": "4.0.508",
29
+ "@remotion/eslint-config-internal": "4.0.508",
30
30
  "eslint": "9.19.0",
31
31
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
32
32
  },
@@ -1,7 +0,0 @@
1
- import { type CanUpdateSequencePropsResponse, type SequenceSchema } from 'remotion';
2
- export declare const optimisticUpdateForCodeValues: ({ previous, fieldKey, value, schema, }: {
3
- previous: CanUpdateSequencePropsResponse;
4
- fieldKey: string;
5
- value: unknown;
6
- schema: SequenceSchema;
7
- }) => CanUpdateSequencePropsResponse;