@remotion/studio-shared 4.0.460 → 4.0.462
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.
- package/dist/api-requests.d.ts +32 -13
- package/dist/event-source-event.d.ts +2 -2
- package/dist/find-props-to-delete.d.ts +6 -0
- package/dist/find-props-to-delete.js +38 -0
- package/dist/get-all-keys.d.ts +2 -0
- package/dist/get-all-keys.js +8 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.js +12 -4
- package/dist/optimistic-update-for-code-values.d.ts +7 -0
- package/dist/optimistic-update-for-code-values.js +30 -0
- package/dist/optimistic-update-for-effect-code-values.d.ts +8 -0
- package/dist/optimistic-update-for-effect-code-values.js +43 -0
- package/dist/package-info.d.ts +1 -1
- package/dist/package-info.js +6 -2
- package/dist/schema-field-info.d.ts +19 -10
- package/dist/schema-field-info.js +49 -15
- package/dist/stringify-sequence-subscription-key.d.ts +3 -0
- package/dist/stringify-sequence-subscription-key.js +12 -0
- package/package.json +5 -5
package/dist/api-requests.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { AudioCodec, ChromeMode, Codec, ColorSpace, LogLevel, PixelFormat, StillImageFormat, VideoImageFormat, X264Preset } from '@remotion/renderer';
|
|
2
2
|
import type { HardwareAccelerationOption } from '@remotion/renderer/client';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { SequenceNodePath } from 'remotion';
|
|
3
|
+
import type { CannotUpdateSequenceReason } from 'remotion';
|
|
4
|
+
import type { _InternalTypes, CanUpdateEffectPropsResponse, CanUpdateSequencePropsResponseFalse, CanUpdateSequencePropsResponseTrue, CanUpdateSequencePropStatus, SequenceSchema, SequenceNodePath, SequencePropsSubscriptionKey } from 'remotion';
|
|
6
5
|
import type { RecastCodemod, VisualControlChange } from './codemods';
|
|
7
6
|
import type { PackageManager } from './package-manager';
|
|
8
7
|
import type { ProjectInfo } from './project-info';
|
|
@@ -162,38 +161,57 @@ export type UnsubscribeFromDefaultPropsRequest = {
|
|
|
162
161
|
};
|
|
163
162
|
export type CanUpdateSequencePropsRequest = {
|
|
164
163
|
fileName: string;
|
|
165
|
-
nodePath:
|
|
164
|
+
nodePath: SequencePropsSubscriptionKey;
|
|
166
165
|
keys: string[];
|
|
167
166
|
};
|
|
168
167
|
export type SubscribeToSequencePropsRequest = {
|
|
169
168
|
fileName: string;
|
|
170
169
|
line: number;
|
|
171
170
|
column: number;
|
|
172
|
-
|
|
171
|
+
keys: string[];
|
|
172
|
+
effects: string[][];
|
|
173
173
|
clientId: string;
|
|
174
174
|
};
|
|
175
|
-
export type SubscribeToSequencePropsResponse =
|
|
175
|
+
export type SubscribeToSequencePropsResponse = {
|
|
176
|
+
success: true;
|
|
177
|
+
status: CanUpdateSequencePropsResponseTrue;
|
|
178
|
+
nodePath: SequencePropsSubscriptionKey;
|
|
179
|
+
} | {
|
|
180
|
+
success: false;
|
|
181
|
+
status: CanUpdateSequencePropsResponseFalse;
|
|
182
|
+
};
|
|
176
183
|
export type UnsubscribeFromSequencePropsRequest = {
|
|
177
184
|
fileName: string;
|
|
178
|
-
nodePath:
|
|
185
|
+
nodePath: SequencePropsSubscriptionKey;
|
|
179
186
|
clientId: string;
|
|
187
|
+
sequenceKeys: string[];
|
|
188
|
+
effectKeys: string[][];
|
|
180
189
|
};
|
|
181
190
|
export type SaveSequencePropsRequest = {
|
|
182
191
|
fileName: string;
|
|
183
|
-
nodePath:
|
|
192
|
+
nodePath: SequencePropsSubscriptionKey;
|
|
184
193
|
key: string;
|
|
185
194
|
value: string;
|
|
186
195
|
defaultValue: string | null;
|
|
187
196
|
schema: SequenceSchema;
|
|
188
197
|
};
|
|
189
198
|
export type SaveSequencePropsResponse = {
|
|
190
|
-
|
|
191
|
-
|
|
199
|
+
canUpdate: true;
|
|
200
|
+
props: Record<string, CanUpdateSequencePropStatus>;
|
|
192
201
|
} | {
|
|
193
|
-
|
|
194
|
-
reason:
|
|
195
|
-
|
|
202
|
+
canUpdate: false;
|
|
203
|
+
reason: CannotUpdateSequenceReason;
|
|
204
|
+
};
|
|
205
|
+
export type SaveEffectPropsRequest = {
|
|
206
|
+
fileName: string;
|
|
207
|
+
sequenceNodePath: SequencePropsSubscriptionKey;
|
|
208
|
+
effectIndex: number;
|
|
209
|
+
key: string;
|
|
210
|
+
value: string;
|
|
211
|
+
defaultValue: string | null;
|
|
212
|
+
schema: SequenceSchema;
|
|
196
213
|
};
|
|
214
|
+
export type SaveEffectPropsResponse = CanUpdateEffectPropsResponse;
|
|
197
215
|
export type DeleteJsxNodeRequest = {
|
|
198
216
|
fileName: string;
|
|
199
217
|
nodePath: SequenceNodePath;
|
|
@@ -262,6 +280,7 @@ export type ApiRoutes = {
|
|
|
262
280
|
'/api/subscribe-to-sequence-props': ReqAndRes<SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse>;
|
|
263
281
|
'/api/unsubscribe-from-sequence-props': ReqAndRes<UnsubscribeFromSequencePropsRequest, undefined>;
|
|
264
282
|
'/api/save-sequence-props': ReqAndRes<SaveSequencePropsRequest, SaveSequencePropsResponse>;
|
|
283
|
+
'/api/save-effect-props': ReqAndRes<SaveEffectPropsRequest, SaveEffectPropsResponse>;
|
|
265
284
|
'/api/delete-jsx-node': ReqAndRes<DeleteJsxNodeRequest, DeleteJsxNodeResponse>;
|
|
266
285
|
'/api/duplicate-jsx-node': ReqAndRes<DuplicateJsxNodeRequest, DuplicateJsxNodeResponse>;
|
|
267
286
|
'/api/update-available': ReqAndRes<UpdateAvailableRequest, UpdateAvailableResponse>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StaticFile } from 'remotion';
|
|
2
|
-
import type {
|
|
2
|
+
import type { CanUpdateSequencePropsResponse, SequencePropsSubscriptionKey } from 'remotion';
|
|
3
3
|
import type { CanUpdateDefaultPropsResponse } from './api-requests';
|
|
4
4
|
import type { HotMiddlewareMessage } from './hot-middleware';
|
|
5
5
|
import type { CompletedClientRender, RenderJob } from './render-job';
|
|
@@ -39,7 +39,7 @@ export type EventSourceEvent = {
|
|
|
39
39
|
} | {
|
|
40
40
|
type: 'sequence-props-updated';
|
|
41
41
|
fileName: string;
|
|
42
|
-
nodePath:
|
|
42
|
+
nodePath: SequencePropsSubscriptionKey;
|
|
43
43
|
result: CanUpdateSequencePropsResponse;
|
|
44
44
|
} | {
|
|
45
45
|
type: 'default-props-updatable-changed';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findPropsToDelete = void 0;
|
|
4
|
+
const findPropsToDelete = ({ schema, key, value, }) => {
|
|
5
|
+
const fieldSchema = schema[key];
|
|
6
|
+
if (!fieldSchema) {
|
|
7
|
+
// could be a non-top-level key, we don't support it for now
|
|
8
|
+
return [];
|
|
9
|
+
}
|
|
10
|
+
if (typeof value !== 'string') {
|
|
11
|
+
throw new Error('Value must be a string, but is ' + JSON.stringify(value));
|
|
12
|
+
}
|
|
13
|
+
if (fieldSchema.type !== 'enum') {
|
|
14
|
+
throw new Error('Key ' + JSON.stringify(key) + ' is not an enum');
|
|
15
|
+
}
|
|
16
|
+
const currentVariant = fieldSchema.variants[value];
|
|
17
|
+
if (!currentVariant) {
|
|
18
|
+
throw new Error('Value for ' +
|
|
19
|
+
JSON.stringify(key) +
|
|
20
|
+
' must be one of ' +
|
|
21
|
+
Object.keys(fieldSchema.variants)
|
|
22
|
+
.map((v) => JSON.stringify(v))
|
|
23
|
+
.join(', ') +
|
|
24
|
+
', got ' +
|
|
25
|
+
JSON.stringify(value));
|
|
26
|
+
}
|
|
27
|
+
const otherVariants = Object.keys(fieldSchema.variants).filter((v) => v !== value);
|
|
28
|
+
const otherKeys = new Set();
|
|
29
|
+
for (const variant of otherVariants) {
|
|
30
|
+
const otherVariant = fieldSchema.variants[variant];
|
|
31
|
+
const keys = Object.keys(otherVariant);
|
|
32
|
+
for (const k of keys) {
|
|
33
|
+
otherKeys.add(k);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return [...otherKeys];
|
|
37
|
+
};
|
|
38
|
+
exports.findPropsToDelete = findPropsToDelete;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAllSchemaKeys = void 0;
|
|
4
|
+
const remotion_1 = require("remotion");
|
|
5
|
+
const getAllSchemaKeys = (schema) => {
|
|
6
|
+
return Object.keys(remotion_1.Internals.getFlatSchemaWithAllKeys(schema));
|
|
7
|
+
};
|
|
8
|
+
exports.getAllSchemaKeys = getAllSchemaKeys;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { splitAnsi, stripAnsi } from './ansi';
|
|
2
|
-
export { AddRenderRequest, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UnsubscribeFromSequencePropsRequest, CancelRenderResponse, CopyStillToClipboardRequest, DeleteJsxNodeRequest, DeleteJsxNodeResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, InstallPackageRequest, InstallPackageResponse, OpenInFileExplorerRequest, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RestartStudioRequest, RestartStudioResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SimpleDiff, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, } from './api-requests';
|
|
2
|
+
export { AddRenderRequest, ApiRoutes, ApplyCodemodRequest, ApplyCodemodResponse, ApplyVisualControlRequest, ApplyVisualControlResponse, CanUpdateDefaultPropsResponse, CanUpdateSequencePropsRequest, CancelRenderRequest, SubscribeToSequencePropsRequest, SubscribeToSequencePropsResponse, UnsubscribeFromSequencePropsRequest, CancelRenderResponse, CopyStillToClipboardRequest, DeleteJsxNodeRequest, DeleteJsxNodeResponse, DuplicateJsxNodeRequest, DuplicateJsxNodeResponse, DeleteStaticFileRequest, DeleteStaticFileResponse, InstallPackageRequest, InstallPackageResponse, OpenInFileExplorerRequest, ProjectInfoRequest, ProjectInfoResponse, RedoRequest, RedoResponse, RemoveRenderRequest, RestartStudioRequest, RestartStudioResponse, SaveEffectPropsRequest, SaveEffectPropsResponse, SaveSequencePropsRequest, SaveSequencePropsResponse, SimpleDiff, SubscribeToDefaultPropsRequest, SubscribeToDefaultPropsResponse, SubscribeToFileExistenceRequest, SubscribeToFileExistenceResponse, UndoRequest, UndoResponse, UnsubscribeFromDefaultPropsRequest, UnsubscribeFromFileExistenceRequest, UpdateAvailableRequest, UpdateAvailableResponse, UpdateDefaultPropsRequest, UpdateDefaultPropsResponse, } from './api-requests';
|
|
3
3
|
export type { ApplyVisualControlCodemod, RecastCodemod } from './codemods';
|
|
4
4
|
export { DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS } from './default-buffer-state-delay-in-milliseconds';
|
|
5
5
|
export { EventSourceEvent } from './event-source-event';
|
|
6
6
|
export { formatBytes } from './format-bytes';
|
|
7
7
|
export { getDefaultOutLocation } from './get-default-out-name';
|
|
8
|
+
export { getAllSchemaKeys } from './get-all-keys';
|
|
8
9
|
export { ErrorLocation, getLocationFromBuildError, } from './get-location-from-build-error';
|
|
9
10
|
export { getProjectName } from './get-project-name';
|
|
10
11
|
export type { GitSource } from './git-source';
|
|
@@ -16,9 +17,12 @@ export { ProjectInfo } from './project-info';
|
|
|
16
17
|
export type { RenderDefaults } from './render-defaults';
|
|
17
18
|
export { AggregateRenderProgress, ArtifactProgress, BrowserDownloadState, BrowserProgressLog, BundlingState, CopyingState, DownloadProgress, JobProgressCallback, RenderJob, RenderJobWithCleanup, RenderingProgressInput, RequiredChromiumOptions, StitchingProgressInput, UiOpenGlOptions, } from './render-job';
|
|
18
19
|
export type { CompletedClientRender } from './render-job';
|
|
19
|
-
export { SCHEMA_FIELD_ROW_HEIGHT,
|
|
20
|
-
export type { CodeValues, DragOverrides, SchemaFieldInfo, SequenceControls, } from './schema-field-info';
|
|
21
|
-
export { SOURCE_MAP_ENDPOINT } from './source-map-endpoint';
|
|
20
|
+
export { SCHEMA_FIELD_ROW_HEIGHT, getEffectFieldsToShow, getFieldsToShow, } from './schema-field-info';
|
|
21
|
+
export type { AnySchemaFieldInfo, CodeValues, DragOverrides, EffectSchemaFieldInfo, SchemaFieldInfo, SequenceControls, SequenceSchemaFieldInfo, } from './schema-field-info';
|
|
22
22
|
export { ScriptLine, SomeStackFrame, StackFrame, SymbolicatedStackFrame, } from './stack-types';
|
|
23
23
|
export { EnumPath, stringifyDefaultProps } from './stringify-default-props';
|
|
24
24
|
export type { VisualControlChange } from './codemods';
|
|
25
|
+
export { optimisticUpdateForCodeValues } from './optimistic-update-for-code-values';
|
|
26
|
+
export { optimisticUpdateForEffectCodeValues } from './optimistic-update-for-effect-code-values';
|
|
27
|
+
export { stringifySequenceSubscriptionKey } from './stringify-sequence-subscription-key';
|
|
28
|
+
export { stringifySequenceExpandedRowKey } from './stringify-sequence-subscription-key';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.stringifySequenceExpandedRowKey = exports.stringifySequenceSubscriptionKey = exports.optimisticUpdateForEffectCodeValues = exports.optimisticUpdateForCodeValues = exports.stringifyDefaultProps = exports.getFieldsToShow = exports.getEffectFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = exports.packages = exports.installableMap = exports.extraPackages = exports.descriptions = exports.apiDocs = exports.DEFAULT_TIMELINE_TRACKS = exports.hotMiddlewareOptions = exports.getProjectName = exports.getLocationFromBuildError = exports.getAllSchemaKeys = exports.getDefaultOutLocation = exports.formatBytes = exports.DEFAULT_BUFFER_STATE_DELAY_IN_MILLISECONDS = exports.stripAnsi = exports.splitAnsi = void 0;
|
|
4
4
|
const ansi_1 = require("./ansi");
|
|
5
5
|
Object.defineProperty(exports, "splitAnsi", { enumerable: true, get: function () { return ansi_1.splitAnsi; } });
|
|
6
6
|
Object.defineProperty(exports, "stripAnsi", { enumerable: true, get: function () { return ansi_1.stripAnsi; } });
|
|
@@ -10,6 +10,8 @@ const format_bytes_1 = require("./format-bytes");
|
|
|
10
10
|
Object.defineProperty(exports, "formatBytes", { enumerable: true, get: function () { return format_bytes_1.formatBytes; } });
|
|
11
11
|
const get_default_out_name_1 = require("./get-default-out-name");
|
|
12
12
|
Object.defineProperty(exports, "getDefaultOutLocation", { enumerable: true, get: function () { return get_default_out_name_1.getDefaultOutLocation; } });
|
|
13
|
+
const get_all_keys_1 = require("./get-all-keys");
|
|
14
|
+
Object.defineProperty(exports, "getAllSchemaKeys", { enumerable: true, get: function () { return get_all_keys_1.getAllSchemaKeys; } });
|
|
13
15
|
const get_location_from_build_error_1 = require("./get-location-from-build-error");
|
|
14
16
|
Object.defineProperty(exports, "getLocationFromBuildError", { enumerable: true, get: function () { return get_location_from_build_error_1.getLocationFromBuildError; } });
|
|
15
17
|
const get_project_name_1 = require("./get-project-name");
|
|
@@ -26,9 +28,15 @@ Object.defineProperty(exports, "installableMap", { enumerable: true, get: functi
|
|
|
26
28
|
Object.defineProperty(exports, "packages", { enumerable: true, get: function () { return package_info_1.packages; } });
|
|
27
29
|
const schema_field_info_1 = require("./schema-field-info");
|
|
28
30
|
Object.defineProperty(exports, "SCHEMA_FIELD_ROW_HEIGHT", { enumerable: true, get: function () { return schema_field_info_1.SCHEMA_FIELD_ROW_HEIGHT; } });
|
|
29
|
-
Object.defineProperty(exports, "
|
|
31
|
+
Object.defineProperty(exports, "getEffectFieldsToShow", { enumerable: true, get: function () { return schema_field_info_1.getEffectFieldsToShow; } });
|
|
30
32
|
Object.defineProperty(exports, "getFieldsToShow", { enumerable: true, get: function () { return schema_field_info_1.getFieldsToShow; } });
|
|
31
|
-
const source_map_endpoint_1 = require("./source-map-endpoint");
|
|
32
|
-
Object.defineProperty(exports, "SOURCE_MAP_ENDPOINT", { enumerable: true, get: function () { return source_map_endpoint_1.SOURCE_MAP_ENDPOINT; } });
|
|
33
33
|
const stringify_default_props_1 = require("./stringify-default-props");
|
|
34
34
|
Object.defineProperty(exports, "stringifyDefaultProps", { enumerable: true, get: function () { return stringify_default_props_1.stringifyDefaultProps; } });
|
|
35
|
+
const optimistic_update_for_code_values_1 = require("./optimistic-update-for-code-values");
|
|
36
|
+
Object.defineProperty(exports, "optimisticUpdateForCodeValues", { enumerable: true, get: function () { return optimistic_update_for_code_values_1.optimisticUpdateForCodeValues; } });
|
|
37
|
+
const optimistic_update_for_effect_code_values_1 = require("./optimistic-update-for-effect-code-values");
|
|
38
|
+
Object.defineProperty(exports, "optimisticUpdateForEffectCodeValues", { enumerable: true, get: function () { return optimistic_update_for_effect_code_values_1.optimisticUpdateForEffectCodeValues; } });
|
|
39
|
+
const stringify_sequence_subscription_key_1 = require("./stringify-sequence-subscription-key");
|
|
40
|
+
Object.defineProperty(exports, "stringifySequenceSubscriptionKey", { enumerable: true, get: function () { return stringify_sequence_subscription_key_1.stringifySequenceSubscriptionKey; } });
|
|
41
|
+
const stringify_sequence_subscription_key_2 = require("./stringify-sequence-subscription-key");
|
|
42
|
+
Object.defineProperty(exports, "stringifySequenceExpandedRowKey", { enumerable: true, get: function () { return stringify_sequence_subscription_key_2.stringifySequenceExpandedRowKey; } });
|
|
@@ -0,0 +1,7 @@
|
|
|
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;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.optimisticUpdateForCodeValues = void 0;
|
|
4
|
+
const no_react_1 = require("remotion/no-react");
|
|
5
|
+
const optimisticUpdateForCodeValues = ({ previous, fieldKey, value, schema, }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
if (!previous.canUpdate) {
|
|
8
|
+
return previous;
|
|
9
|
+
}
|
|
10
|
+
const props = {
|
|
11
|
+
...previous.props,
|
|
12
|
+
[fieldKey]: { canUpdate: true, codeValue: value },
|
|
13
|
+
};
|
|
14
|
+
if (((_a = schema[fieldKey]) === null || _a === void 0 ? void 0 : _a.type) === 'enum') {
|
|
15
|
+
const propsToDelete = no_react_1.NoReactInternals.findPropsToDelete({
|
|
16
|
+
schema,
|
|
17
|
+
key: fieldKey,
|
|
18
|
+
value,
|
|
19
|
+
});
|
|
20
|
+
for (const propToDelete of propsToDelete) {
|
|
21
|
+
delete props[propToDelete];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
canUpdate: true,
|
|
26
|
+
props,
|
|
27
|
+
effects: previous.effects,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
exports.optimisticUpdateForCodeValues = optimisticUpdateForCodeValues;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type CanUpdateSequencePropsResponse, type SequenceSchema } from 'remotion';
|
|
2
|
+
export declare const optimisticUpdateForEffectCodeValues: ({ previous, effectIndex, fieldKey, value, schema, }: {
|
|
3
|
+
previous: CanUpdateSequencePropsResponse;
|
|
4
|
+
effectIndex: number;
|
|
5
|
+
fieldKey: string;
|
|
6
|
+
value: unknown;
|
|
7
|
+
schema: SequenceSchema;
|
|
8
|
+
}) => CanUpdateSequencePropsResponse;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.optimisticUpdateForEffectCodeValues = void 0;
|
|
4
|
+
const no_react_1 = require("remotion/no-react");
|
|
5
|
+
const optimisticUpdateForEffectCodeValues = ({ previous, effectIndex, fieldKey, value, schema, }) => {
|
|
6
|
+
var _a;
|
|
7
|
+
if (!previous.canUpdate) {
|
|
8
|
+
return previous;
|
|
9
|
+
}
|
|
10
|
+
const targetIndex = previous.effects.findIndex((e) => e.effectIndex === effectIndex);
|
|
11
|
+
if (targetIndex === -1) {
|
|
12
|
+
return previous;
|
|
13
|
+
}
|
|
14
|
+
const target = previous.effects[targetIndex];
|
|
15
|
+
if (!target.canUpdate) {
|
|
16
|
+
return previous;
|
|
17
|
+
}
|
|
18
|
+
const props = {
|
|
19
|
+
...target.props,
|
|
20
|
+
[fieldKey]: { canUpdate: true, codeValue: value },
|
|
21
|
+
};
|
|
22
|
+
if (((_a = schema[fieldKey]) === null || _a === void 0 ? void 0 : _a.type) === 'enum') {
|
|
23
|
+
const propsToDelete = no_react_1.NoReactInternals.findPropsToDelete({
|
|
24
|
+
schema,
|
|
25
|
+
key: fieldKey,
|
|
26
|
+
value,
|
|
27
|
+
});
|
|
28
|
+
for (const propToDelete of propsToDelete) {
|
|
29
|
+
delete props[propToDelete];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
const updatedEffect = {
|
|
33
|
+
...target,
|
|
34
|
+
props,
|
|
35
|
+
};
|
|
36
|
+
const effects = [...previous.effects];
|
|
37
|
+
effects[targetIndex] = updatedEffect;
|
|
38
|
+
return {
|
|
39
|
+
...previous,
|
|
40
|
+
effects,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.optimisticUpdateForEffectCodeValues = optimisticUpdateForEffectCodeValues;
|
package/dist/package-info.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const packages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "cli", "cloudrun", "codex-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", "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", "web-renderer", "design", "light-leaks", "starburst", "vercel", "sfx", "effects"];
|
|
1
|
+
export declare const packages: readonly ["svg-3d-engine", "animation-utils", "animated-emoji", "astro-example", "babel-loader", "bugs", "brand", "bundler", "cli", "cloudrun", "codex-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", "web-renderer", "design", "light-leaks", "starburst", "vercel", "sfx", "effects"];
|
|
2
2
|
export type Pkgs = (typeof packages)[number];
|
|
3
3
|
export type ExtraPackage = {
|
|
4
4
|
name: string;
|
package/dist/package-info.js
CHANGED
|
@@ -67,6 +67,7 @@ exports.packages = [
|
|
|
67
67
|
'serverless',
|
|
68
68
|
'serverless-client',
|
|
69
69
|
'skills',
|
|
70
|
+
'skills-evals',
|
|
70
71
|
'studio-server',
|
|
71
72
|
'studio-shared',
|
|
72
73
|
'studio',
|
|
@@ -99,13 +100,13 @@ exports.packages = [
|
|
|
99
100
|
exports.extraPackages = [
|
|
100
101
|
{
|
|
101
102
|
name: 'mediabunny',
|
|
102
|
-
version: '1.
|
|
103
|
+
version: '1.45.0',
|
|
103
104
|
description: 'Multimedia library used by Remotion',
|
|
104
105
|
docsUrl: 'https://www.remotion.dev/docs/mediabunny/version',
|
|
105
106
|
},
|
|
106
107
|
{
|
|
107
108
|
name: '@mediabunny/ac3',
|
|
108
|
-
version: '1.
|
|
109
|
+
version: '1.45.0',
|
|
109
110
|
description: 'AC-3 and E-AC-3 audio codec support for Mediabunny',
|
|
110
111
|
docsUrl: 'https://www.remotion.dev/docs/mediabunny/formats#ac-3-and-e-ac-3',
|
|
111
112
|
},
|
|
@@ -187,6 +188,7 @@ exports.descriptions = {
|
|
|
187
188
|
'lambda-ruby': null,
|
|
188
189
|
'player-example': null,
|
|
189
190
|
skills: null,
|
|
191
|
+
'skills-evals': null,
|
|
190
192
|
'discord-poster': null,
|
|
191
193
|
'docusaurus-plugin': null,
|
|
192
194
|
'animated-emoji': 'Google Fonts Animated Emojis as Remotion components',
|
|
@@ -275,6 +277,7 @@ exports.installableMap = {
|
|
|
275
277
|
shapes: true,
|
|
276
278
|
skia: true,
|
|
277
279
|
skills: false,
|
|
280
|
+
'skills-evals': false,
|
|
278
281
|
'promo-pages': false,
|
|
279
282
|
streaming: false,
|
|
280
283
|
serverless: false,
|
|
@@ -378,6 +381,7 @@ exports.apiDocs = {
|
|
|
378
381
|
streaming: null,
|
|
379
382
|
serverless: null,
|
|
380
383
|
skills: null,
|
|
384
|
+
'skills-evals': null,
|
|
381
385
|
studio: 'https://www.remotion.dev/docs/studio/api',
|
|
382
386
|
'timeline-utils': null,
|
|
383
387
|
transitions: 'https://www.remotion.dev/transitions',
|
|
@@ -1,20 +1,29 @@
|
|
|
1
|
-
import type { CodeValues, DragOverrides, SequenceControls,
|
|
1
|
+
import type { CodeValues, DragOverrides, SequenceControls, VisibleFieldSchema, SequenceSchema, GetDragOverrides, SequencePropsSubscriptionKey, EffectDefinition } from 'remotion';
|
|
2
2
|
export type { CodeValues, DragOverrides, SequenceControls };
|
|
3
3
|
export type SchemaFieldInfo = {
|
|
4
4
|
key: string;
|
|
5
5
|
description: string | undefined;
|
|
6
|
-
typeName:
|
|
7
|
-
supported: boolean;
|
|
6
|
+
typeName: SupportedSchemaType;
|
|
8
7
|
rowHeight: number;
|
|
9
|
-
|
|
10
|
-
fieldSchema: SequenceFieldSchema;
|
|
8
|
+
fieldSchema: VisibleFieldSchema;
|
|
11
9
|
};
|
|
10
|
+
export type SequenceSchemaFieldInfo = SchemaFieldInfo & {
|
|
11
|
+
readonly kind: 'sequence-field';
|
|
12
|
+
};
|
|
13
|
+
export type EffectSchemaFieldInfo = SchemaFieldInfo & {
|
|
14
|
+
readonly kind: 'effect-field';
|
|
15
|
+
readonly effectIndex: number;
|
|
16
|
+
readonly effectSchema: SequenceSchema;
|
|
17
|
+
};
|
|
18
|
+
export type AnySchemaFieldInfo = SequenceSchemaFieldInfo | EffectSchemaFieldInfo;
|
|
12
19
|
export declare const SCHEMA_FIELD_ROW_HEIGHT = 22;
|
|
13
|
-
|
|
14
|
-
|
|
20
|
+
declare const SUPPORTED_SCHEMA_TYPES: readonly ["number", "boolean", "rotation", "translate", "color", "enum", "hidden"];
|
|
21
|
+
type SupportedSchemaType = (typeof SUPPORTED_SCHEMA_TYPES)[number];
|
|
22
|
+
export declare const getFieldsToShow: ({ getDragOverrides, codeValues, nodePath, schema, currentRuntimeValueDotNotation, }: {
|
|
15
23
|
schema: SequenceSchema;
|
|
16
24
|
currentRuntimeValueDotNotation: Record<string, unknown>;
|
|
17
25
|
getDragOverrides: GetDragOverrides;
|
|
18
|
-
|
|
19
|
-
nodePath:
|
|
20
|
-
}) =>
|
|
26
|
+
codeValues: CodeValues;
|
|
27
|
+
nodePath: SequencePropsSubscriptionKey;
|
|
28
|
+
}) => SequenceSchemaFieldInfo[] | null;
|
|
29
|
+
export declare const getEffectFieldsToShow: (effect: EffectDefinition<unknown>, effectIndex: number) => EffectSchemaFieldInfo[];
|
|
@@ -1,38 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getEffectFieldsToShow = exports.getFieldsToShow = exports.SCHEMA_FIELD_ROW_HEIGHT = void 0;
|
|
4
4
|
const remotion_1 = require("remotion");
|
|
5
|
+
const no_react_1 = require("remotion/no-react");
|
|
5
6
|
exports.SCHEMA_FIELD_ROW_HEIGHT = 22;
|
|
6
|
-
|
|
7
|
-
const SUPPORTED_SCHEMA_TYPES = new Set([
|
|
7
|
+
const SUPPORTED_SCHEMA_TYPES = [
|
|
8
8
|
'number',
|
|
9
9
|
'boolean',
|
|
10
10
|
'rotation',
|
|
11
11
|
'translate',
|
|
12
|
+
'color',
|
|
12
13
|
'enum',
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
'hidden',
|
|
15
|
+
];
|
|
16
|
+
const getFieldsToShow = ({ getDragOverrides, codeValues, nodePath, schema, currentRuntimeValueDotNotation, }) => {
|
|
17
|
+
const { merged: valuesDotNotation } = remotion_1.Internals.computeEffectiveSchemaValuesDotNotation({
|
|
16
18
|
schema,
|
|
17
19
|
currentValue: currentRuntimeValueDotNotation,
|
|
18
20
|
overrideValues: getDragOverrides(nodePath),
|
|
19
|
-
propStatus:
|
|
21
|
+
propStatus: remotion_1.Internals.getCodeValuesCtx(codeValues, nodePath),
|
|
20
22
|
});
|
|
21
23
|
const activeSchema = remotion_1.Internals.flattenActiveSchema(schema, (key) => valuesDotNotation[key]);
|
|
22
|
-
return Object.entries(activeSchema)
|
|
24
|
+
return Object.entries(activeSchema)
|
|
25
|
+
.map(([key, fieldSchema]) => {
|
|
23
26
|
const typeName = fieldSchema.type;
|
|
24
|
-
|
|
27
|
+
if (SUPPORTED_SCHEMA_TYPES.indexOf(typeName) === -1) {
|
|
28
|
+
throw new Error(`Unsupported field type: ${typeName}`);
|
|
29
|
+
}
|
|
30
|
+
if (typeName === 'hidden') {
|
|
31
|
+
return null;
|
|
32
|
+
}
|
|
25
33
|
return {
|
|
34
|
+
kind: 'sequence-field',
|
|
26
35
|
key,
|
|
27
36
|
description: fieldSchema.description,
|
|
28
37
|
typeName,
|
|
29
|
-
|
|
30
|
-
rowHeight: supported
|
|
31
|
-
? exports.SCHEMA_FIELD_ROW_HEIGHT
|
|
32
|
-
: exports.UNSUPPORTED_FIELD_ROW_HEIGHT,
|
|
33
|
-
currentRuntimeValue: currentRuntimeValueDotNotation[key],
|
|
38
|
+
rowHeight: exports.SCHEMA_FIELD_ROW_HEIGHT,
|
|
34
39
|
fieldSchema,
|
|
35
40
|
};
|
|
36
|
-
})
|
|
41
|
+
})
|
|
42
|
+
.filter(no_react_1.NoReactInternals.truthy);
|
|
37
43
|
};
|
|
38
44
|
exports.getFieldsToShow = getFieldsToShow;
|
|
45
|
+
const getEffectFieldsToShow = (effect, effectIndex) => {
|
|
46
|
+
const effectSchema = effect.schema;
|
|
47
|
+
if (!effectSchema) {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
return Object.entries(effectSchema)
|
|
51
|
+
.map(([key, fieldSchema]) => {
|
|
52
|
+
const typeName = fieldSchema.type;
|
|
53
|
+
if (typeName === 'hidden') {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
if (SUPPORTED_SCHEMA_TYPES.indexOf(typeName) === -1) {
|
|
57
|
+
throw new Error(`Unsupported field type: ${typeName}`);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
kind: 'effect-field',
|
|
61
|
+
key,
|
|
62
|
+
description: fieldSchema.description,
|
|
63
|
+
typeName,
|
|
64
|
+
rowHeight: exports.SCHEMA_FIELD_ROW_HEIGHT,
|
|
65
|
+
fieldSchema,
|
|
66
|
+
effectSchema,
|
|
67
|
+
effectIndex,
|
|
68
|
+
};
|
|
69
|
+
})
|
|
70
|
+
.filter(no_react_1.NoReactInternals.truthy);
|
|
71
|
+
};
|
|
72
|
+
exports.getEffectFieldsToShow = getEffectFieldsToShow;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stringifySequenceExpandedRowKey = exports.stringifySequenceSubscriptionKey = void 0;
|
|
4
|
+
const stringifySequenceSubscriptionKey = (key) => {
|
|
5
|
+
return `${key.absolutePath}:${JSON.stringify(key.nodePath)}:${key.sequenceKeys.join('\0')}:${key.effectKeys.map((keys) => keys.join('\0')).join('\0\0')}`;
|
|
6
|
+
};
|
|
7
|
+
exports.stringifySequenceSubscriptionKey = stringifySequenceSubscriptionKey;
|
|
8
|
+
// deliberately not including effect keys, keeping expanded if changing effects
|
|
9
|
+
const stringifySequenceExpandedRowKey = (key) => {
|
|
10
|
+
return `${key.absolutePath}:${JSON.stringify(key.nodePath)}:${key.sequenceKeys.join('\0')}`;
|
|
11
|
+
};
|
|
12
|
+
exports.stringifySequenceExpandedRowKey = stringifySequenceExpandedRowKey;
|
package/package.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
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.
|
|
6
|
+
"version": "4.0.462",
|
|
7
7
|
"description": "Internal package for shared objects between the Studio backend and frontend",
|
|
8
8
|
"main": "dist",
|
|
9
|
-
"sideEffects": false,
|
|
10
9
|
"scripts": {
|
|
11
10
|
"lint": "eslint src",
|
|
11
|
+
"test": "bun test src",
|
|
12
12
|
"formatting": "oxfmt src --check",
|
|
13
13
|
"format": "oxfmt src",
|
|
14
14
|
"make": "tsgo -d"
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
"url": "https://github.com/remotion-dev/remotion/issues"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"remotion": "4.0.
|
|
23
|
+
"remotion": "4.0.462"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
|
-
"@remotion/renderer": "4.0.
|
|
27
|
-
"@remotion/eslint-config-internal": "4.0.
|
|
26
|
+
"@remotion/renderer": "4.0.462",
|
|
27
|
+
"@remotion/eslint-config-internal": "4.0.462",
|
|
28
28
|
"eslint": "9.19.0",
|
|
29
29
|
"@typescript/native-preview": "7.0.0-dev.20260217.1"
|
|
30
30
|
},
|