@remotion/studio 4.0.478 → 4.0.479

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 (171) hide show
  1. package/dist/components/AssetSelector.js +8 -14
  2. package/dist/components/Button.d.ts +1 -0
  3. package/dist/components/Button.js +8 -5
  4. package/dist/components/CompactExplanation.d.ts +12 -0
  5. package/dist/components/CompactExplanation.js +52 -0
  6. package/dist/components/CompositionSelector.js +2 -4
  7. package/dist/components/CurrentAsset.d.ts +3 -1
  8. package/dist/components/CurrentAsset.js +42 -34
  9. package/dist/components/CurrentComposition.d.ts +1 -1
  10. package/dist/components/CurrentComposition.js +38 -31
  11. package/dist/components/DefaultPropsEditor.d.ts +12 -2
  12. package/dist/components/DefaultPropsEditor.js +2 -2
  13. package/dist/components/EffectPickerModal.d.ts +5 -0
  14. package/dist/components/EffectPickerModal.js +179 -0
  15. package/dist/components/InspectorInfoHeader.d.ts +11 -0
  16. package/dist/components/InspectorInfoHeader.js +55 -0
  17. package/dist/components/InspectorPanel/DefaultInspector.d.ts +8 -0
  18. package/dist/components/InspectorPanel/DefaultInspector.js +93 -0
  19. package/dist/components/InspectorPanel/EasingInspector.d.ts +5 -0
  20. package/dist/components/InspectorPanel/EasingInspector.js +41 -0
  21. package/dist/components/InspectorPanel/GuideInspector.d.ts +7 -0
  22. package/dist/components/InspectorPanel/GuideInspector.js +55 -0
  23. package/dist/components/InspectorPanel/KeyframeInspector.d.ts +7 -0
  24. package/dist/components/InspectorPanel/KeyframeInspector.js +109 -0
  25. package/dist/components/InspectorPanel/SelectedInspector.d.ts +5 -0
  26. package/dist/components/InspectorPanel/SelectedInspector.js +26 -0
  27. package/dist/components/InspectorPanel/SequenceSelectionInspector.d.ts +5 -0
  28. package/dist/components/InspectorPanel/SequenceSelectionInspector.js +116 -0
  29. package/dist/components/InspectorPanel/common.d.ts +15 -0
  30. package/dist/components/InspectorPanel/common.js +18 -0
  31. package/dist/components/InspectorPanel/inspector-selection.d.ts +10 -0
  32. package/dist/components/InspectorPanel/inspector-selection.js +34 -0
  33. package/dist/components/InspectorPanel/styles.d.ts +27 -0
  34. package/dist/components/InspectorPanel/styles.js +178 -0
  35. package/dist/components/InspectorPanel/use-track-for-selection.d.ts +2 -0
  36. package/dist/components/InspectorPanel/use-track-for-selection.js +22 -0
  37. package/dist/components/InspectorPanel.d.ts +8 -0
  38. package/dist/components/InspectorPanel.js +26 -0
  39. package/dist/components/InspectorPanelLayout.d.ts +1 -0
  40. package/dist/components/InspectorPanelLayout.js +4 -0
  41. package/dist/components/InspectorSequenceSection.d.ts +16 -0
  42. package/dist/components/InspectorSequenceSection.js +147 -0
  43. package/dist/components/InspectorSourceLocation.d.ts +7 -0
  44. package/dist/components/InspectorSourceLocation.js +71 -0
  45. package/dist/components/Modals.js +3 -3
  46. package/dist/components/NewComposition/InputDragger.js +1 -1
  47. package/dist/components/NewComposition/RemInput.d.ts +1 -0
  48. package/dist/components/NewComposition/RemInput.js +8 -2
  49. package/dist/components/NewComposition/RemTextarea.d.ts +1 -0
  50. package/dist/components/NewComposition/RemTextarea.js +8 -2
  51. package/dist/components/NewComposition/ValidationMessage.d.ts +3 -0
  52. package/dist/components/NewComposition/ValidationMessage.js +16 -5
  53. package/dist/components/OptionsPanel.d.ts +1 -1
  54. package/dist/components/OptionsPanel.js +8 -17
  55. package/dist/components/QuickSwitcher/QuickSwitcherContent.js +2 -7
  56. package/dist/components/QuickSwitcher/QuickSwitcherResult.js +3 -10
  57. package/dist/components/QuickSwitcher/shared.d.ts +4 -0
  58. package/dist/components/QuickSwitcher/shared.js +24 -0
  59. package/dist/components/RenderModal/DataEditor.d.ts +29 -2
  60. package/dist/components/RenderModal/DataEditor.js +107 -56
  61. package/dist/components/RenderModal/RenderModalJSONPropsEditor.d.ts +1 -0
  62. package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +25 -7
  63. package/dist/components/RenderModal/SchemaEditor/Fieldset.d.ts +2 -1
  64. package/dist/components/RenderModal/SchemaEditor/Fieldset.js +10 -5
  65. package/dist/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +4 -0
  66. package/dist/components/RenderModal/SchemaEditor/SchemaEditor.js +27 -4
  67. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +12 -4
  68. package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +23 -9
  69. package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +3 -3
  70. package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +8 -1
  71. package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.js +1 -1
  72. package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
  73. package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +1 -1
  74. package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
  75. package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +1 -0
  76. package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +23 -6
  77. package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +2 -2
  78. package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +2 -1
  79. package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -1
  80. package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +9 -11
  81. package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +1 -1
  82. package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
  83. package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +1 -1
  84. package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +1 -1
  85. package/dist/components/RenderModal/WarningIndicatorButton.d.ts +1 -0
  86. package/dist/components/RenderModal/WarningIndicatorButton.js +17 -4
  87. package/dist/components/RenderModal/get-render-modal-warnings.d.ts +2 -1
  88. package/dist/components/RenderModal/get-render-modal-warnings.js +6 -3
  89. package/dist/components/RendersTab.js +1 -1
  90. package/dist/components/SegmentedControl.d.ts +3 -0
  91. package/dist/components/SegmentedControl.js +11 -5
  92. package/dist/components/SelectedOutlineElement.js +57 -24
  93. package/dist/components/SelectedOutlineOverlay.d.ts +1 -1
  94. package/dist/components/SelectedOutlineOverlay.js +41 -29
  95. package/dist/components/SelectedOutlineUvControls.d.ts +9 -0
  96. package/dist/components/SelectedOutlineUvControls.js +64 -10
  97. package/dist/components/Tabs/index.js +4 -4
  98. package/dist/components/Timeline/EasingEditorModal.d.ts +5 -4
  99. package/dist/components/Timeline/EasingEditorModal.js +597 -124
  100. package/dist/components/Timeline/KeyframeSettingsModal.d.ts +2 -2
  101. package/dist/components/Timeline/SubscribeToNodePaths.d.ts +2 -2
  102. package/dist/components/Timeline/TimelineClipboardKeybindings.d.ts +15 -3
  103. package/dist/components/Timeline/TimelineClipboardKeybindings.js +85 -1
  104. package/dist/components/Timeline/TimelineDeleteKeybindings.js +10 -3
  105. package/dist/components/Timeline/TimelineEffectItem.d.ts +2 -2
  106. package/dist/components/Timeline/TimelineEffectPropItem.d.ts +8 -0
  107. package/dist/components/Timeline/TimelineEffectPropItem.js +24 -20
  108. package/dist/components/Timeline/TimelineExpandedRow.d.ts +5 -2
  109. package/dist/components/Timeline/TimelineExpandedRow.js +4 -4
  110. package/dist/components/Timeline/TimelineExpandedSection.d.ts +1 -1
  111. package/dist/components/Timeline/TimelineExpandedSection.js +5 -19
  112. package/dist/components/Timeline/TimelineKeyframeControls.d.ts +8 -2
  113. package/dist/components/Timeline/TimelineKeyframeControls.js +24 -3
  114. package/dist/components/Timeline/TimelineKeyframeEasingLine.js +2 -47
  115. package/dist/components/Timeline/TimelineKeyframedValue.d.ts +1 -1
  116. package/dist/components/Timeline/TimelineKeyframedValue.js +8 -10
  117. package/dist/components/Timeline/TimelineNumberField.js +5 -11
  118. package/dist/components/Timeline/TimelineRotationField.js +5 -6
  119. package/dist/components/Timeline/TimelineScaleField.js +4 -8
  120. package/dist/components/Timeline/TimelineSelection.d.ts +6 -0
  121. package/dist/components/Timeline/TimelineSelection.js +109 -14
  122. package/dist/components/Timeline/TimelineSequence.js +19 -3
  123. package/dist/components/Timeline/TimelineSequenceItem.js +12 -67
  124. package/dist/components/Timeline/TimelineSequencePropItem.d.ts +12 -2
  125. package/dist/components/Timeline/TimelineSequencePropItem.js +56 -52
  126. package/dist/components/Timeline/TimelineTransformOriginField.js +4 -5
  127. package/dist/components/Timeline/TimelineTranslateField.js +4 -5
  128. package/dist/components/Timeline/TimelineUvCoordinateField.js +4 -4
  129. package/dist/components/Timeline/call-add-keyframe.d.ts +4 -4
  130. package/dist/components/Timeline/call-delete-keyframe.d.ts +4 -4
  131. package/dist/components/Timeline/call-move-keyframe.d.ts +2 -2
  132. package/dist/components/Timeline/call-update-keyframe-settings.d.ts +3 -3
  133. package/dist/components/Timeline/delete-selected-timeline-item.d.ts +2 -1
  134. package/dist/components/Timeline/delete-selected-timeline-item.js +27 -1
  135. package/dist/components/Timeline/parse-keyframe-field-from-node-path.js +2 -2
  136. package/dist/components/Timeline/reset-selected-timeline-props.d.ts +3 -3
  137. package/dist/components/Timeline/reset-selected-timeline-props.js +19 -5
  138. package/dist/components/Timeline/save-effect-prop.d.ts +2 -2
  139. package/dist/components/Timeline/save-sequence-prop.d.ts +2 -2
  140. package/dist/components/Timeline/sequence-props-subscription-store.d.ts +3 -3
  141. package/dist/components/Timeline/timeline-field-display-utils.d.ts +5 -0
  142. package/dist/components/Timeline/timeline-field-display-utils.js +244 -0
  143. package/dist/components/Timeline/update-selected-easing.d.ts +47 -4
  144. package/dist/components/Timeline/update-selected-easing.js +40 -9
  145. package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.d.ts +13 -0
  146. package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.js +73 -0
  147. package/dist/components/Timeline/use-sequence-props-subscription.d.ts +3 -3
  148. package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +11 -0
  149. package/dist/components/Timeline/use-timeline-expanded-tree.js +33 -0
  150. package/dist/components/VisualControls/VisualControlsContent.d.ts +1 -1
  151. package/dist/components/VisualControls/VisualControlsContent.js +4 -5
  152. package/dist/components/effect-drag-and-drop.d.ts +10 -0
  153. package/dist/components/effect-drag-and-drop.js +17 -8
  154. package/dist/components/effect-picker-search.d.ts +5 -0
  155. package/dist/components/effect-picker-search.js +77 -0
  156. package/dist/components/selected-outline-drag.d.ts +21 -2
  157. package/dist/components/selected-outline-drag.js +31 -6
  158. package/dist/components/selected-outline-types.d.ts +7 -7
  159. package/dist/components/selected-outline-uv.d.ts +4 -3
  160. package/dist/components/selected-outline-uv.js +6 -2
  161. package/dist/esm/{chunk-hrw9799x.js → chunk-fge2mq5p.js} +16535 -13311
  162. package/dist/esm/internals.mjs +16535 -13311
  163. package/dist/esm/previewEntry.mjs +17141 -13917
  164. package/dist/esm/renderEntry.mjs +1 -1
  165. package/dist/helpers/render-codec-label.d.ts +2 -0
  166. package/dist/helpers/render-codec-label.js +49 -0
  167. package/dist/helpers/timeline-layout.d.ts +4 -4
  168. package/dist/helpers/use-media-metadata.d.ts +8 -2
  169. package/dist/helpers/use-media-metadata.js +17 -4
  170. package/dist/state/modals.d.ts +9 -4
  171. package/package.json +12 -12
@@ -209,7 +209,7 @@ var renderContent = (Root) => {
209
209
  renderToDOM(/* @__PURE__ */ jsx("div", {
210
210
  children: /* @__PURE__ */ jsx(DelayedSpinner, {})
211
211
  }));
212
- import("./chunk-hrw9799x.js").then(({ StudioInternals }) => {
212
+ import("./chunk-fge2mq5p.js").then(({ StudioInternals }) => {
213
213
  window.remotion_isStudio = true;
214
214
  window.remotion_isReadOnlyStudio = true;
215
215
  window.remotion_inputProps = "{}";
@@ -0,0 +1,2 @@
1
+ export declare const renderHumanReadableAudioCodec: (codec: "aac" | "ac3" | "alaw" | "eac3" | "flac" | "mp3" | "opus" | "pcm-f32" | "pcm-f32be" | "pcm-f64" | "pcm-f64be" | "pcm-s16" | "pcm-s16be" | "pcm-s24" | "pcm-s24be" | "pcm-s32" | "pcm-s32be" | "pcm-s8" | "pcm-u8" | "ulaw" | "vorbis" | null) => string;
2
+ export declare const renderHumanReadableVideoCodec: (codec: "av1" | "avc" | "hevc" | "vp8" | "vp9" | null) => string;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderHumanReadableVideoCodec = exports.renderHumanReadableAudioCodec = void 0;
4
+ const audioCodecLabels = {
5
+ aac: 'AAC',
6
+ ac3: 'AC3',
7
+ alaw: 'A-law',
8
+ eac3: 'E-AC3',
9
+ flac: 'FLAC',
10
+ mp3: 'MP3',
11
+ opus: 'Opus',
12
+ 'pcm-f32': 'PCM 32-bit float',
13
+ 'pcm-f32be': 'PCM 32-bit big-endian float',
14
+ 'pcm-f64': 'PCM 64-bit little-endian float',
15
+ 'pcm-f64be': 'PCM 64-bit big-endian float',
16
+ 'pcm-s16': 'PCM 16-bit signed integer',
17
+ 'pcm-s16be': 'PCM 16-bit big-endian signed integer',
18
+ 'pcm-s24': 'PCM 24-bit signed integer',
19
+ 'pcm-s24be': 'PCM 24-bit big-endian signed integer',
20
+ 'pcm-s32': 'PCM 32-bit signed integer',
21
+ 'pcm-s32be': 'PCM 32-bit big-endian signed integer',
22
+ 'pcm-s8': 'PCM 8-bit signed integer',
23
+ 'pcm-u8': 'PCM 8-bit unsigned integer',
24
+ ulaw: 'u-law',
25
+ vorbis: 'Vorbis',
26
+ };
27
+ const renderHumanReadableAudioCodec = (codec) => {
28
+ var _a;
29
+ if (codec === null) {
30
+ return 'Unknown';
31
+ }
32
+ return (_a = audioCodecLabels[codec]) !== null && _a !== void 0 ? _a : codec;
33
+ };
34
+ exports.renderHumanReadableAudioCodec = renderHumanReadableAudioCodec;
35
+ const videoCodecLabels = {
36
+ av1: 'AV1',
37
+ avc: 'H.264',
38
+ hevc: 'H.265',
39
+ vp8: 'VP8',
40
+ vp9: 'VP9',
41
+ };
42
+ const renderHumanReadableVideoCodec = (codec) => {
43
+ var _a;
44
+ if (codec === null) {
45
+ return 'Unknown';
46
+ }
47
+ return (_a = videoCodecLabels[codec]) !== null && _a !== void 0 ? _a : codec;
48
+ };
49
+ exports.renderHumanReadableVideoCodec = renderHumanReadableVideoCodec;
@@ -1,9 +1,9 @@
1
- import { type AnySchemaFieldInfo, type DragOverrides, type EffectSchemaFieldInfo, type PropStatuses, type SchemaFieldInfo, type SequenceControls, type SequenceSchemaFieldInfo } from '@remotion/studio-shared';
2
- import type { GetDragOverrides, GetEffectDragOverrides, SequenceSchema as SequenceSchemaShape, TSequence } from 'remotion';
1
+ import { type AnySchemaFieldInfo, type DragOverrides, type EffectSchemaFieldInfo, type PropStatuses, type SchemaFieldInfo, type SequenceControls, type InteractivitySchemaFieldInfo } from '@remotion/studio-shared';
2
+ import type { GetDragOverrides, GetEffectDragOverrides, InteractivitySchema as InteractivitySchemaShape, TSequence } from 'remotion';
3
3
  import type { GetIsExpanded } from '../components/ExpandedTracksProvider';
4
4
  import type { SequenceNodePathInfo } from './get-timeline-sequence-sort-key';
5
5
  export { getEffectFieldsToShow, getFieldsToShow, SCHEMA_FIELD_ROW_HEIGHT, } from '@remotion/studio-shared';
6
- export type { AnySchemaFieldInfo, DragOverrides, EffectSchemaFieldInfo, PropStatuses, SchemaFieldInfo, SequenceControls, SequenceSchemaFieldInfo, };
6
+ export type { AnySchemaFieldInfo, DragOverrides, EffectSchemaFieldInfo, PropStatuses, SchemaFieldInfo, SequenceControls, InteractivitySchemaFieldInfo, };
7
7
  export declare const TIMELINE_PADDING = 16;
8
8
  export declare const TIMELINE_BORDER = 1;
9
9
  export declare const TIMELINE_ITEM_BORDER_BOTTOM = 1;
@@ -14,7 +14,7 @@ export type TimelineFieldOnSave = (value: unknown) => Promise<void>;
14
14
  export type TimelineFieldOnDragValueChange = (value: unknown) => void;
15
15
  export type TimelineEffectGroupInfo = {
16
16
  readonly effectIndex: number;
17
- readonly effectSchema: SequenceSchemaShape;
17
+ readonly effectSchema: InteractivitySchemaShape;
18
18
  readonly documentationLink: string | null;
19
19
  };
20
20
  export type TimelineTreeNode = {
@@ -1,10 +1,16 @@
1
+ import type { InputAudioTrack, InputVideoTrack } from 'mediabunny';
1
2
  export type MediaMetadata = {
2
3
  duration: number;
3
4
  format: string | null;
4
5
  width: number | null;
5
6
  height: number | null;
6
- videoCodec: string | null;
7
- audioCodec: string | null;
7
+ videoCodec: InputVideoTrack['codec'] | null;
8
+ audioCodec: InputAudioTrack['codec'] | null;
9
+ fps: number | null;
10
+ isHdr: boolean | null;
11
+ sampleRate: number | null;
12
+ hasVideoTrack: boolean | null;
13
+ hasAudioTrack: boolean | null;
8
14
  };
9
15
  export declare const getMediaMetadata: (src: string) => Promise<MediaMetadata | null>;
10
16
  export declare const useMediaMetadata: (src: string | null) => MediaMetadata | null;
@@ -16,7 +16,7 @@ const safeCall = async (fn) => {
16
16
  }
17
17
  };
18
18
  const getMediabunnyMetadata = async (src) => {
19
- var _a;
19
+ var _a, _b;
20
20
  let input;
21
21
  try {
22
22
  input = new mediabunny_1.Input({
@@ -24,7 +24,7 @@ const getMediabunnyMetadata = async (src) => {
24
24
  source: new mediabunny_1.UrlSource(src),
25
25
  });
26
26
  }
27
- catch (_b) {
27
+ catch (_c) {
28
28
  return null;
29
29
  }
30
30
  try {
@@ -37,11 +37,14 @@ const getMediabunnyMetadata = async (src) => {
37
37
  if (duration === null) {
38
38
  return null;
39
39
  }
40
- const [width, height, videoCodec, audioCodec] = await Promise.all([
40
+ const [width, height, videoCodec, packetStats, isHdr, audioCodec, sampleRate,] = await Promise.all([
41
41
  videoTrack ? safeCall(() => videoTrack.getDisplayWidth()) : null,
42
42
  videoTrack ? safeCall(() => videoTrack.getDisplayHeight()) : null,
43
43
  videoTrack ? safeCall(() => videoTrack.getCodec()) : null,
44
+ videoTrack ? safeCall(() => videoTrack.computePacketStats(50)) : null,
45
+ videoTrack ? safeCall(() => videoTrack.hasHighDynamicRange()) : null,
44
46
  audioTrack ? safeCall(() => audioTrack.getCodec()) : null,
47
+ audioTrack ? safeCall(() => audioTrack.getSampleRate()) : null,
45
48
  ]);
46
49
  return {
47
50
  duration,
@@ -50,13 +53,18 @@ const getMediabunnyMetadata = async (src) => {
50
53
  height,
51
54
  videoCodec,
52
55
  audioCodec,
56
+ fps: (_b = packetStats === null || packetStats === void 0 ? void 0 : packetStats.averagePacketRate) !== null && _b !== void 0 ? _b : null,
57
+ isHdr,
58
+ sampleRate,
59
+ hasVideoTrack: Boolean(videoTrack),
60
+ hasAudioTrack: Boolean(audioTrack),
53
61
  };
54
62
  }
55
63
  finally {
56
64
  try {
57
65
  input.dispose();
58
66
  }
59
- catch (_c) {
67
+ catch (_d) {
60
68
  // ignore
61
69
  }
62
70
  }
@@ -71,6 +79,11 @@ const getFallbackVideoMetadata = async (src) => {
71
79
  height: metadata.height,
72
80
  videoCodec: null,
73
81
  audioCodec: null,
82
+ fps: null,
83
+ isHdr: null,
84
+ sampleRate: null,
85
+ hasVideoTrack: null,
86
+ hasAudioTrack: null,
74
87
  };
75
88
  }
76
89
  catch (_a) {
@@ -3,11 +3,10 @@ import type { HardwareAccelerationOption } from '@remotion/renderer/client';
3
3
  import type { PackageManager, RenderDefaults } from '@remotion/studio-shared';
4
4
  import type { RenderStillOnWebImageFormat, WebRendererAudioCodec, WebRendererContainer, WebRendererHardwareAcceleration, WebRendererQuality, WebRendererVideoCodec } from '@remotion/web-renderer';
5
5
  import type React from 'react';
6
- import type { _InternalTypes } from 'remotion';
6
+ import type { SequencePropsSubscriptionKey, _InternalTypes } from 'remotion';
7
7
  import type { CompType } from '../components/NewComposition/DuplicateComposition';
8
8
  import type { QuickSwitcherMode } from '../components/QuickSwitcher/NoResults';
9
9
  import type { RenderType } from '../components/RenderModal/RenderModalAdvanced';
10
- import type { EasingEditorModalState } from '../components/Timeline/EasingEditorModal';
11
10
  import type { KeyframeSettingsModalState } from '../components/Timeline/KeyframeSettingsModal';
12
11
  import type { Bug, UpdateInfo } from '../components/UpdateCheck';
13
12
  export type WebRenderModalState = {
@@ -98,6 +97,12 @@ export type ConfirmationDialogState = {
98
97
  onConfirm: () => void;
99
98
  onCancel: () => void;
100
99
  };
100
+ export type AddEffectModalState = {
101
+ type: 'add-effect';
102
+ fileName: string;
103
+ nodePath: SequencePropsSubscriptionKey;
104
+ clientId: string;
105
+ };
101
106
  export type ModalState = {
102
107
  type: 'duplicate-comp';
103
108
  compositionId: string;
@@ -123,7 +128,7 @@ export type ModalState = {
123
128
  relativePath: string;
124
129
  } | {
125
130
  type: 'input-props-override';
126
- } | EasingEditorModalState | KeyframeSettingsModalState | RenderModalState | WebRenderModalState | {
131
+ } | KeyframeSettingsModalState | RenderModalState | WebRenderModalState | {
127
132
  type: 'render-progress';
128
133
  jobId: string;
129
134
  } | {
@@ -137,7 +142,7 @@ export type ModalState = {
137
142
  type: 'quick-switcher';
138
143
  mode: QuickSwitcherMode;
139
144
  invocationTimestamp: number;
140
- } | ConfirmationDialogState;
145
+ } | AddEffectModalState | ConfirmationDialogState;
141
146
  export type ModalContextType = {
142
147
  selectedModal: ModalState | null;
143
148
  setSelectedModal: React.Dispatch<React.SetStateAction<ModalState | null>>;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "url": "https://github.com/remotion-dev/remotion/tree/main/packages/studio"
4
4
  },
5
5
  "name": "@remotion/studio",
6
- "version": "4.0.478",
6
+ "version": "4.0.479",
7
7
  "description": "APIs for interacting with the Remotion Studio",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -25,17 +25,17 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "semver": "7.5.3",
28
- "remotion": "4.0.478",
29
- "@remotion/canvas-capture": "4.0.478",
30
- "@remotion/player": "4.0.478",
31
- "@remotion/media-utils": "4.0.478",
32
- "@remotion/renderer": "4.0.478",
33
- "@remotion/web-renderer": "4.0.478",
34
- "@remotion/studio-shared": "4.0.478",
35
- "@remotion/timeline-utils": "4.0.478",
36
- "@remotion/zod-types": "4.0.478",
28
+ "remotion": "4.0.479",
29
+ "@remotion/canvas-capture": "4.0.479",
30
+ "@remotion/player": "4.0.479",
31
+ "@remotion/media-utils": "4.0.479",
32
+ "@remotion/renderer": "4.0.479",
33
+ "@remotion/web-renderer": "4.0.479",
34
+ "@remotion/studio-shared": "4.0.479",
35
+ "@remotion/timeline-utils": "4.0.479",
36
+ "@remotion/zod-types": "4.0.479",
37
37
  "@jridgewell/trace-mapping": "0.3.31",
38
- "mediabunny": "1.45.0",
38
+ "mediabunny": "1.47.0",
39
39
  "memfs": "3.4.3",
40
40
  "open": "8.4.2",
41
41
  "zod": "4.3.6"
@@ -44,7 +44,7 @@
44
44
  "react": "19.2.3",
45
45
  "react-dom": "19.2.3",
46
46
  "@types/semver": "7.5.3",
47
- "@remotion/eslint-config-internal": "4.0.478",
47
+ "@remotion/eslint-config-internal": "4.0.479",
48
48
  "eslint": "9.19.0",
49
49
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
50
50
  },