@remotion/studio-shared 4.0.499 → 4.0.500

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.
@@ -21,6 +21,16 @@ export type OpenInEditorRequest = {
21
21
  export type OpenInEditorResponse = {
22
22
  success: boolean;
23
23
  };
24
+ export type FindInFileRequest = {
25
+ fileName: string;
26
+ lineNumber: number;
27
+ columnNumber: number;
28
+ search: string;
29
+ };
30
+ export type FindInFileResponse = {
31
+ lineNumber: number;
32
+ columnNumber: number;
33
+ };
24
34
  export type CompositionComponentInfoRequest = {
25
35
  compositionFile: string;
26
36
  compositionId: string;
@@ -290,6 +300,22 @@ export type SaveEffectPropsRequest = (SaveEffectPropsRequestBase & {
290
300
  effectParam: EffectClipboardParam;
291
301
  });
292
302
  export type SaveEffectPropsResponse = CanUpdateEffectPropsResponse;
303
+ type WithoutClientId<T> = T extends unknown ? Omit<T, 'clientId'> : never;
304
+ export type SaveMultipleEffectPropsEdit = WithoutClientId<SaveEffectPropsRequest>;
305
+ export type SaveMultipleEffectPropsRequest = {
306
+ edits: SaveMultipleEffectPropsEdit[];
307
+ clientId: string;
308
+ undoLabel: string;
309
+ redoLabel: string;
310
+ };
311
+ export type SaveMultipleEffectPropsResult = {
312
+ fileName: string;
313
+ sequenceNodePath: SequencePropsSubscriptionKey;
314
+ status: CanUpdateEffectPropsResponse;
315
+ };
316
+ export type SaveMultipleEffectPropsResponse = {
317
+ results: SaveMultipleEffectPropsResult[];
318
+ };
293
319
  export type AddEffectRequest = {
294
320
  fileName: string;
295
321
  sequenceNodePath: SequencePropsSubscriptionKey;
@@ -703,6 +729,7 @@ export type ApiRoutes = {
703
729
  '/api/subscribe-to-file-existence': ReqAndRes<SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse>;
704
730
  '/api/remove-render': ReqAndRes<RemoveRenderRequest, undefined>;
705
731
  '/api/open-in-editor': ReqAndRes<OpenInEditorRequest, OpenInEditorResponse>;
732
+ '/api/find-in-file': ReqAndRes<FindInFileRequest, FindInFileResponse>;
706
733
  '/api/open-in-file-explorer': ReqAndRes<OpenInFileExplorerRequest, void>;
707
734
  '/api/register-client-render': ReqAndRes<CompletedClientRender, void>;
708
735
  '/api/unregister-client-render': ReqAndRes<{
@@ -716,6 +743,7 @@ export type ApiRoutes = {
716
743
  '/api/unsubscribe-from-sequence-props': ReqAndRes<UnsubscribeFromSequencePropsRequest, undefined>;
717
744
  '/api/save-sequence-props': ReqAndRes<SaveSequencePropsRequest, SaveSequencePropsResponse>;
718
745
  '/api/save-effect-props': ReqAndRes<SaveEffectPropsRequest, SaveEffectPropsResponse>;
746
+ '/api/save-multiple-effect-props': ReqAndRes<SaveMultipleEffectPropsRequest, SaveMultipleEffectPropsResponse>;
719
747
  '/api/add-effect': ReqAndRes<AddEffectRequest, AddEffectResponse>;
720
748
  '/api/reorder-effect': ReqAndRes<ReorderEffectRequest, ReorderEffectResponse>;
721
749
  '/api/duplicate-effect': ReqAndRes<DuplicateEffectRequest, DuplicateEffectResponse>;
@@ -2,12 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EFFECT_CATALOG = exports.getEffectCatalogCategories = exports.getEffectPreviewAlt = exports.getEffectPreviewSource = exports.getEffectDocumentationLink = exports.getEffectDocumentationPath = void 0;
4
4
  const getEffectDocumentationPath = (item) => {
5
- if (item.id === 'effects-light-leak') {
6
- return '/docs/light-leaks/light-leak-effect';
7
- }
8
- if (item.id === 'effects-starburst') {
9
- return '/docs/starburst/starburst-effect';
10
- }
11
5
  return `/docs/effects/${item.id.slice('effects-'.length)}`;
12
6
  };
13
7
  exports.getEffectDocumentationPath = getEffectDocumentationPath;
@@ -761,7 +755,7 @@ exports.EFFECT_CATALOG = [
761
755
  description: 'Light leak overlay effect',
762
756
  effect: {
763
757
  name: 'lightLeak',
764
- importPath: '@remotion/light-leaks',
758
+ importPath: '@remotion/effects/light-leak',
765
759
  config: {},
766
760
  },
767
761
  },
@@ -772,7 +766,7 @@ exports.EFFECT_CATALOG = [
772
766
  description: 'Starburst ray effect',
773
767
  effect: {
774
768
  name: 'starburst',
775
- importPath: '@remotion/starburst',
769
+ importPath: '@remotion/effects/starburst',
776
770
  config: {
777
771
  rays: 16,
778
772
  colors: ['#ff6600', '#ffff00'],
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
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, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, ElementInstallRequest, GoogleFontSourceEdit, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, PasteEffectsRequest, PasteEffectsResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveSequencePropEdit, SaveSequencePropSourceEdit, SaveSequencePropsRequest, SaveSequencePropsResponse, SaveSequencePropsResult, SimpleDiff, SplitJsxSequenceRequest, SplitJsxSequenceResponse, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UnsubscribeFromSequencePropsRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdatePublicLicenseRequest, UpdatePublicLicenseResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type KeyframeSettings, } from './api-requests';
2
+ export { AddEffectKeyframeRequest, AddEffectKeyframeResponse, AddEffectRequest, AddEffectResponse, AddKeyframesRequest, AddKeyframesResponse, AddRenderRequest, AddSequenceKeyframeRequest, AddSequenceKeyframeResponse, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, BatchUpdateEffectKeyframeSettings, BatchUpdateKeyframeSettingsRequest, BatchUpdateKeyframeSettingsResponse, BatchUpdateSequenceKeyframeSettings, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, CancelRenderResponse, CompositionComponentInfoRequest, CompositionComponentInfoResponse, ConvertFigmaClipboardToSvgRequest, ConvertFigmaClipboardToSvgResponse, CopyStillToClipboardRequest, DeleteEffectKeyframe, DeleteEffectRequest, DeleteEffectRequestItem, DeleteEffectResponse, DeleteJsxNodeRequest, DeleteJsxNodeRequestItem, DeleteJsxNodeResponse, DeleteKeyframesRequest, DeleteKeyframesResponse, DeleteSequenceKeyframe, DeleteStaticFileRequest, DeleteStaticFileResponse, DownloadRemoteAssetRequest, DownloadRemoteAssetResponse, DuplicateEffectRequest, DuplicateEffectRequestItem, DuplicateEffectResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, ElementInstallRequest, FindInFileRequest, FindInFileResponse, GoogleFontSourceEdit, InsertElementRequest, InsertElementResponse, InsertJsxElementRequest, InsertJsxElementResponse, InsertableCompositionElement, InsertableCompositionElementPosition, InstallPackageRequest, InstallPackageResponse, LogStudioErrorRequest, LogStudioErrorResponse, MoveEffectKeyframe, MoveKeyframesRequest, MoveKeyframesResponse, MoveSequenceKeyframe, OpenInEditorRequest, OpenInEditorResponse, OpenInFileExplorerRequest, PasteEffectsRequest, PasteEffectsResponse, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RenameStaticFileRequest, RenameStaticFileResponse, ReorderEffectRequest, ReorderEffectResponse, ReorderSequencePosition, ReorderSequenceRequest, ReorderSequenceResponse, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, 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, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, UpdateEffectKeyframeSettingsRequest, UpdateEffectKeyframeSettingsResponse, UpdateElementInstallTargetRequest, UpdateElementInstallTargetResponse, UpdatePublicLicenseRequest, UpdatePublicLicenseResponse, UpdateSequenceKeyframeSettingsRequest, UpdateSequenceKeyframeSettingsResponse, type AddEffectKeyframe, type AddSequenceKeyframe, type KeyframeSettings, } from './api-requests';
3
3
  export type { ApplyVisualControlCodemod, RecastCodemod } from './codemods';
4
4
  export { compositionDragDataToSymbolicatedStack } from './composition-drag-data';
5
5
  export { DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS } from './default-buffer-state-delay-in-milliseconds';
@@ -1,5 +1,6 @@
1
- export declare const packages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "canvas-capture", "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-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", "drag-and-drop", "light-leaks", "rough-notation", "starburst", "vercel", "sfx", "effects"];
2
- export type Pkgs = (typeof packages)[number];
1
+ declare const allPackages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "browser-studio", "canvas-capture", "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-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", "drag-and-drop", "light-leaks", "rough-notation", "starburst", "vercel", "sfx", "effects"];
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" | "canvas-capture" | "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" | "drag-and-drop" | "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-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
4
  export type ExtraPackage = {
4
5
  name: string;
5
6
  version: string;
@@ -16,3 +17,4 @@ export declare const installableMap: {
16
17
  export declare const apiDocs: {
17
18
  [key in Pkgs]: string | null;
18
19
  };
20
+ export {};
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.apiDocs = exports.installableMap = exports.descriptions = exports.extraPackages = exports.packages = void 0;
4
- exports.packages = [
4
+ const remotion_1 = require("remotion");
5
+ const release_package_policy_1 = require("./release-package-policy");
6
+ const allPackages = [
5
7
  'svg-3d-engine',
6
8
  'animation-utils',
7
9
  'animated-emoji',
@@ -104,6 +106,10 @@ exports.packages = [
104
106
  'sfx',
105
107
  'effects',
106
108
  ];
109
+ exports.packages = allPackages.filter((pkg) => (0, release_package_policy_1.shouldReleasePackage)({
110
+ packageName: pkg === 'core' ? 'remotion' : `@remotion/${pkg}`,
111
+ releaseVersion: remotion_1.VERSION,
112
+ }));
107
113
  exports.extraPackages = [
108
114
  {
109
115
  name: 'mediabunny',
@@ -314,10 +320,16 @@ exports.installableMap = {
314
320
  'test-utils': false,
315
321
  three: true,
316
322
  transitions: true,
317
- 'media-parser': true,
323
+ 'media-parser': (0, release_package_policy_1.shouldReleasePackage)({
324
+ packageName: '@remotion/media-parser',
325
+ releaseVersion: remotion_1.VERSION,
326
+ }),
318
327
  'zod-types': true,
319
328
  'zod-types-v3': true,
320
- webcodecs: true,
329
+ webcodecs: (0, release_package_policy_1.shouldReleasePackage)({
330
+ packageName: '@remotion/webcodecs',
331
+ releaseVersion: remotion_1.VERSION,
332
+ }),
321
333
  convert: false,
322
334
  captions: true,
323
335
  'openai-whisper': true,
@@ -329,9 +341,15 @@ exports.installableMap = {
329
341
  'web-renderer': false,
330
342
  design: false,
331
343
  'drag-and-drop': true,
332
- 'light-leaks': true,
344
+ 'light-leaks': (0, release_package_policy_1.shouldReleasePackage)({
345
+ packageName: '@remotion/light-leaks',
346
+ releaseVersion: remotion_1.VERSION,
347
+ }),
333
348
  'rough-notation': true,
334
- starburst: true,
349
+ starburst: (0, release_package_policy_1.shouldReleasePackage)({
350
+ packageName: '@remotion/starburst',
351
+ releaseVersion: remotion_1.VERSION,
352
+ }),
335
353
  vercel: true,
336
354
  sfx: true,
337
355
  effects: true,
@@ -0,0 +1,15 @@
1
+ export declare const packagesRemovedInV5: readonly ["@remotion/light-leaks", "@remotion/media-parser", "@remotion/starburst", "@remotion/webcodecs"];
2
+ export declare const shouldReleasePackage: ({ packageName, releaseVersion, }: {
3
+ packageName: string;
4
+ releaseVersion: string;
5
+ }) => boolean;
6
+ type PackageJsonWithDependencies = {
7
+ dependencies?: Record<string, string>;
8
+ devDependencies?: Record<string, string>;
9
+ };
10
+ type PackageJsonForRelease<T> = Omit<T, 'dependencies' | 'devDependencies'> & PackageJsonWithDependencies;
11
+ export declare const moveRemovedDependenciesToDevDependencies: <T extends PackageJsonWithDependencies>({ packageJson, releaseVersion, }: {
12
+ packageJson: T;
13
+ releaseVersion: string;
14
+ }) => PackageJsonForRelease<T>;
15
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.moveRemovedDependenciesToDevDependencies = exports.shouldReleasePackage = exports.packagesRemovedInV5 = void 0;
4
+ exports.packagesRemovedInV5 = [
5
+ '@remotion/light-leaks',
6
+ '@remotion/media-parser',
7
+ '@remotion/starburst',
8
+ '@remotion/webcodecs',
9
+ ];
10
+ const packagesRemovedInV5Set = new Set(exports.packagesRemovedInV5);
11
+ const shouldReleasePackage = ({ packageName, releaseVersion, }) => {
12
+ const majorVersion = Number.parseInt(releaseVersion.split('.')[0], 10);
13
+ if (!Number.isInteger(majorVersion)) {
14
+ throw new Error(`Invalid release version: ${releaseVersion}`);
15
+ }
16
+ return majorVersion < 5 || !packagesRemovedInV5Set.has(packageName);
17
+ };
18
+ exports.shouldReleasePackage = shouldReleasePackage;
19
+ const moveRemovedDependenciesToDevDependencies = ({ packageJson, releaseVersion, }) => {
20
+ const dependencies = { ...packageJson.dependencies };
21
+ const devDependencies = { ...packageJson.devDependencies };
22
+ let movedDependency = false;
23
+ for (const [packageName, dependencyVersion] of Object.entries(dependencies)) {
24
+ if (!(0, exports.shouldReleasePackage)({ packageName, releaseVersion })) {
25
+ delete dependencies[packageName];
26
+ devDependencies[packageName] = dependencyVersion;
27
+ movedDependency = true;
28
+ }
29
+ }
30
+ if (!movedDependency) {
31
+ return packageJson;
32
+ }
33
+ return { ...packageJson, dependencies, devDependencies };
34
+ };
35
+ exports.moveRemovedDependenciesToDevDependencies = moveRemovedDependenciesToDevDependencies;
@@ -18,7 +18,7 @@ export type EffectSchemaFieldInfo = SchemaFieldInfo & {
18
18
  };
19
19
  export type AnySchemaFieldInfo = InteractivitySchemaFieldInfo | EffectSchemaFieldInfo;
20
20
  export declare const SCHEMA_FIELD_ROW_HEIGHT = 22;
21
- export type SchemaFieldGroup = 'source' | 'controls' | 'transforms' | 'background' | 'border' | 'text';
21
+ export type SchemaFieldGroup = 'source' | 'controls' | 'transforms' | 'background' | 'border' | 'crop' | 'text' | 'layout';
22
22
  export type SchemaFieldGroupInfo = {
23
23
  readonly id: SchemaFieldGroup;
24
24
  readonly label: string;
@@ -41,6 +41,12 @@ export declare const SCHEMA_FIELD_GROUPS: readonly [{
41
41
  }, {
42
42
  readonly id: "border";
43
43
  readonly label: "Border";
44
+ }, {
45
+ readonly id: "crop";
46
+ readonly label: "Crop";
47
+ }, {
48
+ readonly id: "layout";
49
+ readonly label: "Layout";
44
50
  }];
45
51
  export declare const getSchemaFieldGroup: (key: string) => SchemaFieldGroup;
46
52
  declare const TIMELINE_SCHEMA_FIELD_TYPE_SUPPORT: {
@@ -11,6 +11,8 @@ exports.SCHEMA_FIELD_GROUPS = [
11
11
  { id: 'text', label: 'Text' },
12
12
  { id: 'background', label: 'Background' },
13
13
  { id: 'border', label: 'Border' },
14
+ { id: 'crop', label: 'Crop' },
15
+ { id: 'layout', label: 'Layout' },
14
16
  ];
15
17
  const schemaFieldGroupOrder = exports.SCHEMA_FIELD_GROUPS.reduce((acc, group, index) => {
16
18
  acc[group.id] = index;
@@ -23,12 +25,19 @@ const TRANSFORM_FIELD_KEYS = new Set([
23
25
  'style.rotate',
24
26
  'style.opacity',
25
27
  ]);
28
+ const CROP_FIELD_KEYS = new Set([
29
+ 'cropLeft',
30
+ 'cropRight',
31
+ 'cropTop',
32
+ 'cropBottom',
33
+ ]);
26
34
  const BORDER_FIELD_KEYS = new Set([
27
35
  'style.borderWidth',
28
36
  'style.borderStyle',
29
37
  'style.borderColor',
30
38
  ]);
31
39
  const BACKGROUND_FIELD_KEYS = new Set(['style.backgroundColor']);
40
+ const LAYOUT_FIELD_KEYS = new Set(['layout', 'premountFor']);
32
41
  const TEXT_FIELD_KEYS = new Set([
33
42
  'children',
34
43
  'style.color',
@@ -47,12 +56,18 @@ const getSchemaFieldGroup = (key) => {
47
56
  if (TRANSFORM_FIELD_KEYS.has(key)) {
48
57
  return 'transforms';
49
58
  }
59
+ if (CROP_FIELD_KEYS.has(key)) {
60
+ return 'crop';
61
+ }
50
62
  if (BORDER_FIELD_KEYS.has(key)) {
51
63
  return 'border';
52
64
  }
53
65
  if (BACKGROUND_FIELD_KEYS.has(key)) {
54
66
  return 'background';
55
67
  }
68
+ if (LAYOUT_FIELD_KEYS.has(key)) {
69
+ return 'layout';
70
+ }
56
71
  if (TEXT_FIELD_KEYS.has(key)) {
57
72
  return 'text';
58
73
  }
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.499",
6
+ "version": "4.0.500",
7
7
  "description": "Internal package for shared objects between the Studio backend and frontend",
8
8
  "main": "dist",
9
9
  "scripts": {
@@ -20,12 +20,12 @@
20
20
  "url": "https://github.com/remotion-dev/remotion/issues"
21
21
  },
22
22
  "dependencies": {
23
- "@remotion/drag-and-drop": "4.0.499",
24
- "remotion": "4.0.499"
23
+ "@remotion/drag-and-drop": "4.0.500",
24
+ "remotion": "4.0.500"
25
25
  },
26
26
  "devDependencies": {
27
- "@remotion/renderer": "4.0.499",
28
- "@remotion/eslint-config-internal": "4.0.499",
27
+ "@remotion/renderer": "4.0.500",
28
+ "@remotion/eslint-config-internal": "4.0.500",
29
29
  "eslint": "9.19.0",
30
30
  "@typescript/native-preview": "7.0.0-dev.20260217.1"
31
31
  },