@remotion/studio 4.0.477 → 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.
- package/dist/components/AssetSelector.js +8 -14
- package/dist/components/Button.d.ts +1 -0
- package/dist/components/Button.js +8 -5
- package/dist/components/CanvasIfSizeIsAvailable.js +2 -6
- package/dist/components/CompactExplanation.d.ts +12 -0
- package/dist/components/CompactExplanation.js +52 -0
- package/dist/components/CompositionSelector.js +2 -4
- package/dist/components/CurrentAsset.d.ts +3 -1
- package/dist/components/CurrentAsset.js +42 -34
- package/dist/components/CurrentComposition.d.ts +1 -1
- package/dist/components/CurrentComposition.js +38 -31
- package/dist/components/DefaultPropsEditor.d.ts +12 -2
- package/dist/components/DefaultPropsEditor.js +2 -2
- package/dist/components/EditorGuides/Guide.js +37 -9
- package/dist/components/EditorRuler/Ruler.js +4 -14
- package/dist/components/EditorRuler/index.js +9 -4
- package/dist/components/EffectPickerModal.d.ts +5 -0
- package/dist/components/EffectPickerModal.js +179 -0
- package/dist/components/InlineAction.js +1 -0
- package/dist/components/InspectorInfoHeader.d.ts +11 -0
- package/dist/components/InspectorInfoHeader.js +55 -0
- package/dist/components/InspectorPanel/DefaultInspector.d.ts +8 -0
- package/dist/components/InspectorPanel/DefaultInspector.js +93 -0
- package/dist/components/InspectorPanel/EasingInspector.d.ts +5 -0
- package/dist/components/InspectorPanel/EasingInspector.js +41 -0
- package/dist/components/InspectorPanel/GuideInspector.d.ts +7 -0
- package/dist/components/InspectorPanel/GuideInspector.js +55 -0
- package/dist/components/InspectorPanel/KeyframeInspector.d.ts +7 -0
- package/dist/components/InspectorPanel/KeyframeInspector.js +109 -0
- package/dist/components/InspectorPanel/SelectedInspector.d.ts +5 -0
- package/dist/components/InspectorPanel/SelectedInspector.js +26 -0
- package/dist/components/InspectorPanel/SequenceSelectionInspector.d.ts +5 -0
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +116 -0
- package/dist/components/InspectorPanel/common.d.ts +15 -0
- package/dist/components/InspectorPanel/common.js +18 -0
- package/dist/components/InspectorPanel/inspector-selection.d.ts +10 -0
- package/dist/components/InspectorPanel/inspector-selection.js +34 -0
- package/dist/components/InspectorPanel/styles.d.ts +27 -0
- package/dist/components/InspectorPanel/styles.js +178 -0
- package/dist/components/InspectorPanel/use-track-for-selection.d.ts +2 -0
- package/dist/components/InspectorPanel/use-track-for-selection.js +22 -0
- package/dist/components/InspectorPanel.d.ts +8 -0
- package/dist/components/InspectorPanel.js +26 -0
- package/dist/components/InspectorPanelLayout.d.ts +1 -0
- package/dist/components/InspectorPanelLayout.js +4 -0
- package/dist/components/InspectorSequenceSection.d.ts +16 -0
- package/dist/components/InspectorSequenceSection.js +147 -0
- package/dist/components/InspectorSourceLocation.d.ts +7 -0
- package/dist/components/InspectorSourceLocation.js +71 -0
- package/dist/components/MenuToolbar.d.ts +1 -0
- package/dist/components/MenuToolbar.js +4 -1
- package/dist/components/Modals.js +3 -3
- package/dist/components/NewComposition/InputDragger.js +1 -1
- package/dist/components/NewComposition/RemInput.d.ts +1 -0
- package/dist/components/NewComposition/RemInput.js +8 -2
- package/dist/components/NewComposition/RemTextarea.d.ts +1 -0
- package/dist/components/NewComposition/RemTextarea.js +8 -2
- package/dist/components/NewComposition/ValidationMessage.d.ts +3 -0
- package/dist/components/NewComposition/ValidationMessage.js +16 -5
- package/dist/components/OptionsPanel.d.ts +1 -1
- package/dist/components/OptionsPanel.js +8 -17
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +2 -7
- package/dist/components/QuickSwitcher/QuickSwitcherResult.js +3 -10
- package/dist/components/QuickSwitcher/shared.d.ts +4 -0
- package/dist/components/QuickSwitcher/shared.js +24 -0
- package/dist/components/RenderModal/DataEditor.d.ts +29 -2
- package/dist/components/RenderModal/DataEditor.js +107 -56
- package/dist/components/RenderModal/RenderModalJSONPropsEditor.d.ts +1 -0
- package/dist/components/RenderModal/RenderModalJSONPropsEditor.js +25 -7
- package/dist/components/RenderModal/SchemaEditor/Fieldset.d.ts +2 -1
- package/dist/components/RenderModal/SchemaEditor/Fieldset.js +10 -5
- package/dist/components/RenderModal/SchemaEditor/SchemaEditor.d.ts +4 -0
- package/dist/components/RenderModal/SchemaEditor/SchemaEditor.js +27 -4
- package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.d.ts +12 -4
- package/dist/components/RenderModal/SchemaEditor/SchemaErrorMessages.js +23 -9
- package/dist/components/RenderModal/SchemaEditor/SchemaLabel.js +3 -3
- package/dist/components/RenderModal/SchemaEditor/SchemaSeparationLine.js +8 -1
- package/dist/components/RenderModal/SchemaEditor/ZodColorEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodDateEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodDiscriminatedUnionEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodEnumEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.d.ts +1 -0
- package/dist/components/RenderModal/SchemaEditor/ZodErrorMessages.js +23 -6
- package/dist/components/RenderModal/SchemaEditor/ZodFieldValidation.js +2 -2
- package/dist/components/RenderModal/SchemaEditor/ZodNonEditableValue.js +2 -1
- package/dist/components/RenderModal/SchemaEditor/ZodNumberEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodObjectEditor.js +9 -11
- package/dist/components/RenderModal/SchemaEditor/ZodOrNullishEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodStaticFileEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodStringEditor.js +1 -1
- package/dist/components/RenderModal/SchemaEditor/ZodTextareaEditor.js +1 -1
- package/dist/components/RenderModal/WarningIndicatorButton.d.ts +1 -0
- package/dist/components/RenderModal/WarningIndicatorButton.js +17 -4
- package/dist/components/RenderModal/get-render-modal-warnings.d.ts +2 -1
- package/dist/components/RenderModal/get-render-modal-warnings.js +6 -3
- package/dist/components/RendersTab.js +1 -1
- package/dist/components/SegmentedControl.d.ts +3 -0
- package/dist/components/SegmentedControl.js +11 -5
- package/dist/components/SelectedOutlineElement.js +135 -31
- package/dist/components/SelectedOutlineOverlay.d.ts +1 -1
- package/dist/components/SelectedOutlineOverlay.js +45 -29
- package/dist/components/SelectedOutlineUvControls.d.ts +9 -0
- package/dist/components/SelectedOutlineUvControls.js +64 -10
- package/dist/components/Tabs/index.js +4 -4
- package/dist/components/Timeline/EasingEditorModal.d.ts +5 -4
- package/dist/components/Timeline/EasingEditorModal.js +597 -124
- package/dist/components/Timeline/KeyframeSettingsModal.d.ts +2 -2
- package/dist/components/Timeline/SubscribeToNodePaths.d.ts +2 -2
- package/dist/components/Timeline/TimelineClipboardKeybindings.d.ts +15 -3
- package/dist/components/Timeline/TimelineClipboardKeybindings.js +85 -1
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +10 -3
- package/dist/components/Timeline/TimelineEffectItem.d.ts +2 -2
- package/dist/components/Timeline/TimelineEffectPropItem.d.ts +8 -0
- package/dist/components/Timeline/TimelineEffectPropItem.js +24 -20
- package/dist/components/Timeline/TimelineExpandedRow.d.ts +5 -2
- package/dist/components/Timeline/TimelineExpandedRow.js +4 -4
- package/dist/components/Timeline/TimelineExpandedSection.d.ts +1 -1
- package/dist/components/Timeline/TimelineExpandedSection.js +5 -19
- package/dist/components/Timeline/TimelineKeyframeControls.d.ts +8 -2
- package/dist/components/Timeline/TimelineKeyframeControls.js +24 -3
- package/dist/components/Timeline/TimelineKeyframeEasingLine.js +2 -47
- package/dist/components/Timeline/TimelineKeyframedValue.d.ts +1 -1
- package/dist/components/Timeline/TimelineKeyframedValue.js +8 -10
- package/dist/components/Timeline/TimelineNumberField.js +5 -11
- package/dist/components/Timeline/TimelineRotationField.js +5 -6
- package/dist/components/Timeline/TimelineScaleField.js +4 -8
- package/dist/components/Timeline/TimelineSelection.d.ts +6 -0
- package/dist/components/Timeline/TimelineSelection.js +109 -14
- package/dist/components/Timeline/TimelineSequence.js +22 -14
- package/dist/components/Timeline/TimelineSequenceItem.js +12 -67
- package/dist/components/Timeline/TimelineSequencePropItem.d.ts +12 -2
- package/dist/components/Timeline/TimelineSequencePropItem.js +56 -52
- package/dist/components/Timeline/TimelineTransformOriginField.js +4 -5
- package/dist/components/Timeline/TimelineTranslateField.js +4 -5
- package/dist/components/Timeline/TimelineUvCoordinateField.js +4 -4
- package/dist/components/Timeline/TimelineVideoInfo.d.ts +1 -0
- package/dist/components/Timeline/TimelineVideoInfo.js +93 -8
- package/dist/components/Timeline/call-add-keyframe.d.ts +4 -4
- package/dist/components/Timeline/call-delete-keyframe.d.ts +4 -4
- package/dist/components/Timeline/call-move-keyframe.d.ts +2 -2
- package/dist/components/Timeline/call-update-keyframe-settings.d.ts +3 -3
- package/dist/components/Timeline/delete-selected-timeline-item.d.ts +2 -1
- package/dist/components/Timeline/delete-selected-timeline-item.js +27 -1
- package/dist/components/Timeline/duplicate-selected-timeline-item.d.ts +7 -0
- package/dist/components/Timeline/duplicate-selected-timeline-item.js +32 -3
- package/dist/components/Timeline/parse-keyframe-field-from-node-path.js +2 -2
- package/dist/components/Timeline/reset-selected-timeline-props.d.ts +3 -3
- package/dist/components/Timeline/reset-selected-timeline-props.js +19 -5
- package/dist/components/Timeline/save-effect-prop.d.ts +2 -2
- package/dist/components/Timeline/save-sequence-prop.d.ts +2 -2
- package/dist/components/Timeline/sequence-props-subscription-store.d.ts +3 -3
- package/dist/components/Timeline/timeline-field-display-utils.d.ts +5 -0
- package/dist/components/Timeline/timeline-field-display-utils.js +244 -0
- package/dist/components/Timeline/timeline-video-filmstrip-times.d.ts +17 -0
- package/dist/components/Timeline/timeline-video-filmstrip-times.js +22 -0
- package/dist/components/Timeline/update-selected-easing.d.ts +47 -4
- package/dist/components/Timeline/update-selected-easing.js +40 -9
- package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.d.ts +13 -0
- package/dist/components/Timeline/use-sequence-freeze-frame-menu-item.js +73 -0
- package/dist/components/Timeline/use-sequence-props-subscription.d.ts +3 -3
- package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +11 -0
- package/dist/components/Timeline/use-timeline-expanded-tree.js +33 -0
- package/dist/components/VisualControls/VisualControlsContent.d.ts +1 -1
- package/dist/components/VisualControls/VisualControlsContent.js +4 -5
- package/dist/components/effect-drag-and-drop.d.ts +10 -0
- package/dist/components/effect-drag-and-drop.js +17 -8
- package/dist/components/effect-picker-search.d.ts +5 -0
- package/dist/components/effect-picker-search.js +77 -0
- package/dist/components/import-assets.d.ts +11 -2
- package/dist/components/import-assets.js +61 -6
- package/dist/components/selected-outline-drag.d.ts +44 -2
- package/dist/components/selected-outline-drag.js +74 -1
- package/dist/components/selected-outline-types.d.ts +7 -7
- package/dist/components/selected-outline-uv.d.ts +4 -3
- package/dist/components/selected-outline-uv.js +6 -2
- package/dist/error-overlay/remotion-overlay/Overlay.js +3 -0
- package/dist/esm/{chunk-t8fjnw2d.js → chunk-fge2mq5p.js} +17004 -13432
- package/dist/esm/internals.mjs +17004 -13432
- package/dist/esm/previewEntry.mjs +26617 -23041
- package/dist/esm/renderEntry.mjs +1 -1
- package/dist/helpers/editor-guide-selection.js +1 -1
- package/dist/helpers/get-preview-file-type.js +1 -1
- package/dist/helpers/render-codec-label.d.ts +2 -0
- package/dist/helpers/render-codec-label.js +49 -0
- package/dist/helpers/ruler-canvas-size.d.ts +5 -0
- package/dist/helpers/ruler-canvas-size.js +17 -0
- package/dist/helpers/timeline-layout.d.ts +4 -4
- package/dist/helpers/use-media-metadata.d.ts +8 -2
- package/dist/helpers/use-media-metadata.js +17 -4
- package/dist/state/modals.d.ts +9 -4
- package/package.json +12 -12
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import type { GetDragOverrides, SequencePropsSubscriptionKey,
|
|
1
|
+
import type { CanUpdateSequencePropStatus, DragOverrideValue, GetDragOverrides, SequencePropsSubscriptionKey, InteractivitySchema } from 'remotion';
|
|
2
2
|
import { type OutlinePoint } from './selected-outline-geometry';
|
|
3
3
|
import type { SelectedOutlineDragState, SelectedOutlineRotationDragState, SelectedOutlineRotationDragTarget, SelectedOutlineScaleDragState, SelectedOutlineScaleDragTarget, SelectedOutlineDragTarget } from './selected-outline-types';
|
|
4
|
+
import { type UvCoordinate } from './selected-outline-uv';
|
|
4
5
|
import type { SaveSequencePropChange } from './Timeline/save-sequence-prop';
|
|
6
|
+
export declare const getSelectedOutlineActiveSchema: ({ schema, currentRuntimeValueDotNotation, dragOverrides, propStatus, frame, }: {
|
|
7
|
+
readonly schema: InteractivitySchema;
|
|
8
|
+
readonly currentRuntimeValueDotNotation: Record<string, unknown>;
|
|
9
|
+
readonly dragOverrides: Record<string, DragOverrideValue>;
|
|
10
|
+
readonly propStatus: Record<string, CanUpdateSequencePropStatus> | undefined;
|
|
11
|
+
readonly frame: number | null;
|
|
12
|
+
}) => InteractivitySchema;
|
|
5
13
|
export declare const getSelectedOutlineDragStates: ({ dragTargets, getDragOverrides, timelinePosition, }: {
|
|
6
14
|
readonly dragTargets: readonly SelectedOutlineDragTarget[];
|
|
7
15
|
readonly getDragOverrides: GetDragOverrides;
|
|
@@ -34,7 +42,7 @@ export type SelectedOutlineKeyframedDragChange = {
|
|
|
34
42
|
readonly fieldKey: string;
|
|
35
43
|
readonly sourceFrame: number;
|
|
36
44
|
readonly value: unknown;
|
|
37
|
-
readonly schema:
|
|
45
|
+
readonly schema: InteractivitySchema;
|
|
38
46
|
readonly clientId: string;
|
|
39
47
|
};
|
|
40
48
|
export type SelectedOutlineDragChange = SelectedOutlineStaticDragChange | SelectedOutlineKeyframedDragChange;
|
|
@@ -89,6 +97,11 @@ export declare const getSelectedOutlineRotationDragValues: ({ dragStates, rotati
|
|
|
89
97
|
readonly dragStates: readonly SelectedOutlineRotationDragState[];
|
|
90
98
|
readonly rotationDeltaDegrees: number;
|
|
91
99
|
}) => Map<string, string>;
|
|
100
|
+
export declare const selectedOutlineRotationSnapStepDegrees = 15;
|
|
101
|
+
export declare const snapSelectedOutlineRotationDeltaDegrees: ({ dragStates, rotationDeltaDegrees, }: {
|
|
102
|
+
readonly dragStates: readonly SelectedOutlineRotationDragState[];
|
|
103
|
+
readonly rotationDeltaDegrees: number;
|
|
104
|
+
}) => number;
|
|
92
105
|
export declare const getSelectedOutlineRotationDragChanges: ({ dragStates, lastValues, }: {
|
|
93
106
|
readonly dragStates: readonly SelectedOutlineRotationDragState[];
|
|
94
107
|
readonly lastValues: ReadonlyMap<string, string>;
|
|
@@ -114,4 +127,33 @@ export declare const compensateTranslateForTransformOrigin: ({ startTranslate, d
|
|
|
114
127
|
readonly scale: readonly [number, number];
|
|
115
128
|
}) => readonly [number, number];
|
|
116
129
|
export declare const uvsEqual: (left: readonly [number, number], right: readonly [number, number]) => boolean;
|
|
130
|
+
export type SelectedOutlineTransformOriginLockedAxis = 'x' | 'y' | null;
|
|
131
|
+
export declare const getSelectedOutlineTransformOriginLockedAxis: ({ axisLocked, dimensions, startUv, uv, }: {
|
|
132
|
+
readonly axisLocked: boolean;
|
|
133
|
+
readonly dimensions: {
|
|
134
|
+
readonly width: number;
|
|
135
|
+
readonly height: number;
|
|
136
|
+
};
|
|
137
|
+
readonly startUv: UvCoordinate;
|
|
138
|
+
readonly uv: UvCoordinate;
|
|
139
|
+
}) => SelectedOutlineTransformOriginLockedAxis;
|
|
140
|
+
export declare const applySelectedOutlineTransformOriginAxisLock: ({ lockedAxis, startUv, uv, }: {
|
|
141
|
+
readonly lockedAxis: SelectedOutlineTransformOriginLockedAxis;
|
|
142
|
+
readonly startUv: UvCoordinate;
|
|
143
|
+
readonly uv: UvCoordinate;
|
|
144
|
+
}) => UvCoordinate;
|
|
145
|
+
export declare const selectedOutlineUvSnapThresholdPx = 10;
|
|
146
|
+
export declare const snapSelectedOutlineUv: ({ point, points, thresholdPx, uv, }: {
|
|
147
|
+
readonly point: OutlinePoint;
|
|
148
|
+
readonly points: readonly [OutlinePoint, OutlinePoint, OutlinePoint, OutlinePoint];
|
|
149
|
+
readonly thresholdPx?: number | undefined;
|
|
150
|
+
readonly uv: UvCoordinate;
|
|
151
|
+
}) => UvCoordinate;
|
|
152
|
+
export declare const selectedOutlineTransformOriginSnapThresholdPx = 10;
|
|
153
|
+
export declare const snapSelectedOutlineTransformOriginUv: ({ point, points, thresholdPx, uv, }: {
|
|
154
|
+
readonly point: OutlinePoint;
|
|
155
|
+
readonly points: readonly [OutlinePoint, OutlinePoint, OutlinePoint, OutlinePoint];
|
|
156
|
+
readonly thresholdPx?: number | undefined;
|
|
157
|
+
readonly uv: UvCoordinate;
|
|
158
|
+
}) => UvCoordinate;
|
|
117
159
|
export {};
|
|
@@ -1,15 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.uvsEqual = exports.compensateTranslateForTransformOrigin = exports.parseCssRotationToRadians = exports.clearSelectedOutlineRotationDragOverrides = exports.clearSelectedOutlineScaleDragOverrides = exports.getSelectedOutlineKeyboardNudgeDirection = exports.clearSelectedOutlineDragOverrides = exports.getSelectedOutlineRotationDragChanges = exports.getSelectedOutlineRotationDragValues = exports.getSelectedOutlineRotationDragStates = exports.getSelectedOutlineScaleDragChanges = exports.getSelectedOutlineScaleDragValues = exports.getSelectedOutlineScaleDragStates = exports.getSelectedOutlineScaleEdgeInfo = exports.getSelectedOutlineKeyboardNudgeDeltas = exports.getSelectedOutlineKeyboardNudgeDelta = exports.getSelectedOutlineDragChanges = exports.isSelectedOutlineDragPastThreshold = exports.applySelectedOutlineDragAxisLock = exports.getSelectedOutlineDragValues = exports.getSelectedOutlineDragStates = void 0;
|
|
3
|
+
exports.snapSelectedOutlineTransformOriginUv = exports.selectedOutlineTransformOriginSnapThresholdPx = exports.snapSelectedOutlineUv = exports.selectedOutlineUvSnapThresholdPx = exports.applySelectedOutlineTransformOriginAxisLock = exports.getSelectedOutlineTransformOriginLockedAxis = exports.uvsEqual = exports.compensateTranslateForTransformOrigin = exports.parseCssRotationToRadians = exports.clearSelectedOutlineRotationDragOverrides = exports.clearSelectedOutlineScaleDragOverrides = exports.getSelectedOutlineKeyboardNudgeDirection = exports.clearSelectedOutlineDragOverrides = exports.getSelectedOutlineRotationDragChanges = exports.snapSelectedOutlineRotationDeltaDegrees = exports.selectedOutlineRotationSnapStepDegrees = exports.getSelectedOutlineRotationDragValues = exports.getSelectedOutlineRotationDragStates = exports.getSelectedOutlineScaleDragChanges = exports.getSelectedOutlineScaleDragValues = exports.getSelectedOutlineScaleDragStates = exports.getSelectedOutlineScaleEdgeInfo = exports.getSelectedOutlineKeyboardNudgeDeltas = exports.getSelectedOutlineKeyboardNudgeDelta = exports.getSelectedOutlineDragChanges = exports.isSelectedOutlineDragPastThreshold = exports.applySelectedOutlineDragAxisLock = exports.getSelectedOutlineDragValues = exports.getSelectedOutlineDragStates = exports.getSelectedOutlineActiveSchema = void 0;
|
|
4
4
|
const remotion_1 = require("remotion");
|
|
5
5
|
const no_react_1 = require("remotion/no-react");
|
|
6
6
|
const selected_outline_geometry_1 = require("./selected-outline-geometry");
|
|
7
7
|
const selected_outline_measurement_1 = require("./selected-outline-measurement");
|
|
8
8
|
const selected_outline_types_1 = require("./selected-outline-types");
|
|
9
|
+
const selected_outline_uv_1 = require("./selected-outline-uv");
|
|
9
10
|
const timeline_field_utils_1 = require("./Timeline/timeline-field-utils");
|
|
10
11
|
const timeline_rotation_utils_1 = require("./Timeline/timeline-rotation-utils");
|
|
11
12
|
const timeline_translate_utils_1 = require("./Timeline/timeline-translate-utils");
|
|
12
13
|
const TimelineScaleField_1 = require("./Timeline/TimelineScaleField");
|
|
14
|
+
const getSelectedOutlineActiveSchema = ({ schema, currentRuntimeValueDotNotation, dragOverrides, propStatus, frame, }) => {
|
|
15
|
+
const { merged: valuesDotNotation } = remotion_1.Internals.computeEffectiveSchemaValuesDotNotation({
|
|
16
|
+
schema,
|
|
17
|
+
currentValue: currentRuntimeValueDotNotation,
|
|
18
|
+
overrideValues: dragOverrides,
|
|
19
|
+
propStatus,
|
|
20
|
+
frame,
|
|
21
|
+
});
|
|
22
|
+
return remotion_1.Internals.flattenActiveSchema(schema, (key) => valuesDotNotation[key]);
|
|
23
|
+
};
|
|
24
|
+
exports.getSelectedOutlineActiveSchema = getSelectedOutlineActiveSchema;
|
|
13
25
|
const getSelectedOutlineDragStates = ({ dragTargets, getDragOverrides, timelinePosition, }) => {
|
|
14
26
|
return dragTargets.map((target) => {
|
|
15
27
|
var _a;
|
|
@@ -303,6 +315,18 @@ const getSelectedOutlineRotationDragValues = ({ dragStates, rotationDeltaDegrees
|
|
|
303
315
|
}));
|
|
304
316
|
};
|
|
305
317
|
exports.getSelectedOutlineRotationDragValues = getSelectedOutlineRotationDragValues;
|
|
318
|
+
exports.selectedOutlineRotationSnapStepDegrees = 15;
|
|
319
|
+
const snapSelectedOutlineRotationDeltaDegrees = ({ dragStates, rotationDeltaDegrees, }) => {
|
|
320
|
+
const anchor = dragStates[0];
|
|
321
|
+
if (anchor === undefined) {
|
|
322
|
+
return rotationDeltaDegrees;
|
|
323
|
+
}
|
|
324
|
+
return (Math.round((anchor.startDegrees + rotationDeltaDegrees) /
|
|
325
|
+
exports.selectedOutlineRotationSnapStepDegrees) *
|
|
326
|
+
exports.selectedOutlineRotationSnapStepDegrees -
|
|
327
|
+
anchor.startDegrees);
|
|
328
|
+
};
|
|
329
|
+
exports.snapSelectedOutlineRotationDeltaDegrees = snapSelectedOutlineRotationDeltaDegrees;
|
|
306
330
|
const getSelectedOutlineRotationDragChanges = ({ dragStates, lastValues, }) => {
|
|
307
331
|
const changes = [];
|
|
308
332
|
for (const dragState of dragStates) {
|
|
@@ -425,3 +449,52 @@ exports.compensateTranslateForTransformOrigin = compensateTranslateForTransformO
|
|
|
425
449
|
const uvsEqual = (left, right) => Math.abs(left[0] - right[0]) < 0.000001 &&
|
|
426
450
|
Math.abs(left[1] - right[1]) < 0.000001;
|
|
427
451
|
exports.uvsEqual = uvsEqual;
|
|
452
|
+
const getSelectedOutlineTransformOriginLockedAxis = ({ axisLocked, dimensions, startUv, uv, }) => {
|
|
453
|
+
if (!axisLocked) {
|
|
454
|
+
return null;
|
|
455
|
+
}
|
|
456
|
+
const deltaX = (uv[0] - startUv[0]) * dimensions.width;
|
|
457
|
+
const deltaY = (uv[1] - startUv[1]) * dimensions.height;
|
|
458
|
+
return Math.abs(deltaX) >= Math.abs(deltaY) ? 'x' : 'y';
|
|
459
|
+
};
|
|
460
|
+
exports.getSelectedOutlineTransformOriginLockedAxis = getSelectedOutlineTransformOriginLockedAxis;
|
|
461
|
+
const applySelectedOutlineTransformOriginAxisLock = ({ lockedAxis, startUv, uv, }) => {
|
|
462
|
+
if (lockedAxis === 'x') {
|
|
463
|
+
return [uv[0], startUv[1]];
|
|
464
|
+
}
|
|
465
|
+
if (lockedAxis === 'y') {
|
|
466
|
+
return [startUv[0], uv[1]];
|
|
467
|
+
}
|
|
468
|
+
return uv;
|
|
469
|
+
};
|
|
470
|
+
exports.applySelectedOutlineTransformOriginAxisLock = applySelectedOutlineTransformOriginAxisLock;
|
|
471
|
+
const selectedOutlineUvSnapTargets = [
|
|
472
|
+
[0, 0],
|
|
473
|
+
[0.5, 0],
|
|
474
|
+
[1, 0],
|
|
475
|
+
[1, 0.5],
|
|
476
|
+
[1, 1],
|
|
477
|
+
[0.5, 1],
|
|
478
|
+
[0, 1],
|
|
479
|
+
[0, 0.5],
|
|
480
|
+
[0.5, 0.5],
|
|
481
|
+
];
|
|
482
|
+
exports.selectedOutlineUvSnapThresholdPx = 10;
|
|
483
|
+
const snapSelectedOutlineUv = ({ point, points, thresholdPx = exports.selectedOutlineUvSnapThresholdPx, uv, }) => {
|
|
484
|
+
var _a;
|
|
485
|
+
let best = null;
|
|
486
|
+
for (const snapUv of selectedOutlineUvSnapTargets) {
|
|
487
|
+
const snapPoint = (0, selected_outline_uv_1.getUvHandlePosition)(points, snapUv);
|
|
488
|
+
const distance = Math.hypot(point.x - snapPoint.x, point.y - snapPoint.y);
|
|
489
|
+
if (distance > thresholdPx) {
|
|
490
|
+
continue;
|
|
491
|
+
}
|
|
492
|
+
if (best === null || distance < best.distance) {
|
|
493
|
+
best = { distance, uv: snapUv };
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
return (_a = best === null || best === void 0 ? void 0 : best.uv) !== null && _a !== void 0 ? _a : uv;
|
|
497
|
+
};
|
|
498
|
+
exports.snapSelectedOutlineUv = snapSelectedOutlineUv;
|
|
499
|
+
exports.selectedOutlineTransformOriginSnapThresholdPx = exports.selectedOutlineUvSnapThresholdPx;
|
|
500
|
+
exports.snapSelectedOutlineTransformOriginUv = exports.snapSelectedOutlineUv;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic,
|
|
1
|
+
import type { CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic, InteractivitySchemaField, SequencePropsSubscriptionKey, InteractivitySchema, TSequence } from 'remotion';
|
|
2
2
|
import type { SequenceNodePathInfo } from '../helpers/get-timeline-sequence-sort-key';
|
|
3
3
|
import type { ComboboxValue } from './NewComposition/ComboBox';
|
|
4
4
|
import type { SelectedOutlineUvHandle } from './selected-outline-uv';
|
|
@@ -31,7 +31,7 @@ export type SelectedOutlineDragTarget = {
|
|
|
31
31
|
readonly fieldDefault: string | undefined;
|
|
32
32
|
readonly keyframeDisplayOffset: number;
|
|
33
33
|
readonly nodePath: SequencePropsSubscriptionKey;
|
|
34
|
-
readonly schema:
|
|
34
|
+
readonly schema: InteractivitySchema;
|
|
35
35
|
};
|
|
36
36
|
export type SelectedOutlineTransformOriginDragTarget = {
|
|
37
37
|
readonly clientId: string;
|
|
@@ -42,16 +42,16 @@ export type SelectedOutlineTransformOriginDragTarget = {
|
|
|
42
42
|
readonly originValue: string;
|
|
43
43
|
readonly rotateValue: string;
|
|
44
44
|
readonly scaleValue: number | string;
|
|
45
|
-
readonly schema:
|
|
45
|
+
readonly schema: InteractivitySchema;
|
|
46
46
|
readonly sourceFrame: number;
|
|
47
47
|
readonly translateDefault: string | undefined;
|
|
48
48
|
readonly translatePropStatus: CanUpdateSequencePropStatusStatic | CanUpdateSequencePropStatusKeyframed;
|
|
49
49
|
readonly translateValue: string;
|
|
50
50
|
};
|
|
51
|
-
export type ScaleFieldSchema = Extract<
|
|
51
|
+
export type ScaleFieldSchema = Extract<InteractivitySchemaField, {
|
|
52
52
|
type: 'scale';
|
|
53
53
|
}>;
|
|
54
|
-
export type RotationFieldSchema = Extract<
|
|
54
|
+
export type RotationFieldSchema = Extract<InteractivitySchemaField, {
|
|
55
55
|
type: 'rotation-css';
|
|
56
56
|
}>;
|
|
57
57
|
export type SelectedOutlineScaleDragTarget = {
|
|
@@ -62,7 +62,7 @@ export type SelectedOutlineScaleDragTarget = {
|
|
|
62
62
|
readonly keyframeDisplayOffset: number;
|
|
63
63
|
readonly linked: boolean;
|
|
64
64
|
readonly nodePath: SequencePropsSubscriptionKey;
|
|
65
|
-
readonly schema:
|
|
65
|
+
readonly schema: InteractivitySchema;
|
|
66
66
|
};
|
|
67
67
|
export type SelectedOutlineRotationDragTarget = {
|
|
68
68
|
readonly propStatus: CanUpdateSequencePropStatusStatic | CanUpdateSequencePropStatusKeyframed;
|
|
@@ -71,7 +71,7 @@ export type SelectedOutlineRotationDragTarget = {
|
|
|
71
71
|
readonly fieldSchema: RotationFieldSchema;
|
|
72
72
|
readonly keyframeDisplayOffset: number;
|
|
73
73
|
readonly nodePath: SequencePropsSubscriptionKey;
|
|
74
|
-
readonly schema:
|
|
74
|
+
readonly schema: InteractivitySchema;
|
|
75
75
|
readonly transformOriginValue: string;
|
|
76
76
|
};
|
|
77
77
|
export type SelectedOutlineDragState = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic, GetEffectDragOverrides, PropStatuses,
|
|
1
|
+
import type { CanUpdateSequencePropStatusKeyframed, CanUpdateSequencePropStatusStatic, GetEffectDragOverrides, PropStatuses, InteractivitySchemaField, SequencePropsSubscriptionKey, InteractivitySchema, TSequence } from 'remotion';
|
|
2
2
|
import { type OutlinePoint } from './selected-outline-geometry';
|
|
3
3
|
export type UvCoordinate = readonly [number, number];
|
|
4
|
-
export type UvCoordinateFieldSchema = Extract<
|
|
4
|
+
export type UvCoordinateFieldSchema = Extract<InteractivitySchemaField, {
|
|
5
5
|
type: 'uv-coordinate';
|
|
6
6
|
}>;
|
|
7
7
|
export type SelectedOutlineUvHandle = {
|
|
@@ -11,8 +11,9 @@ export type SelectedOutlineUvHandle = {
|
|
|
11
11
|
readonly fieldDefault: UvCoordinate | undefined;
|
|
12
12
|
readonly fieldKey: string;
|
|
13
13
|
readonly fieldSchema: UvCoordinateFieldSchema;
|
|
14
|
+
readonly isSelected: boolean;
|
|
14
15
|
readonly nodePath: SequencePropsSubscriptionKey;
|
|
15
|
-
readonly schema:
|
|
16
|
+
readonly schema: InteractivitySchema;
|
|
16
17
|
readonly sourceFrame: number;
|
|
17
18
|
readonly value: UvCoordinate;
|
|
18
19
|
};
|
|
@@ -196,6 +196,10 @@ const getSelectedUvHandles = ({ propStatuses, clientId, getEffectDragOverrides,
|
|
|
196
196
|
if (effectStatus.type !== 'can-update-effect') {
|
|
197
197
|
continue;
|
|
198
198
|
}
|
|
199
|
+
const shouldShowUvHandles = selectedFields.allFields || selectedFields.fieldKeys.size > 0;
|
|
200
|
+
if (!shouldShowUvHandles) {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
199
203
|
const dragOverrides = getEffectDragOverrides(nodePath, effectIndex);
|
|
200
204
|
const activeSchema = remotion_1.Internals.flattenActiveSchema(effect.schema, (key) => {
|
|
201
205
|
const propStatus = effectStatus.props[key];
|
|
@@ -212,8 +216,7 @@ const getSelectedUvHandles = ({ propStatuses, clientId, getEffectDragOverrides,
|
|
|
212
216
|
});
|
|
213
217
|
});
|
|
214
218
|
for (const [fieldKey, fieldSchema] of Object.entries(activeSchema)) {
|
|
215
|
-
if (fieldSchema.type !== 'uv-coordinate'
|
|
216
|
-
(!selectedFields.allFields && !selectedFields.fieldKeys.has(fieldKey))) {
|
|
219
|
+
if (fieldSchema.type !== 'uv-coordinate') {
|
|
217
220
|
continue;
|
|
218
221
|
}
|
|
219
222
|
const propStatus = effectStatus.props[fieldKey];
|
|
@@ -240,6 +243,7 @@ const getSelectedUvHandles = ({ propStatuses, clientId, getEffectDragOverrides,
|
|
|
240
243
|
fieldDefault: fieldSchema.default,
|
|
241
244
|
fieldKey,
|
|
242
245
|
fieldSchema,
|
|
246
|
+
isSelected: selectedFields.fieldKeys.has(fieldKey),
|
|
243
247
|
nodePath,
|
|
244
248
|
schema: effect.schema,
|
|
245
249
|
sourceFrame,
|
|
@@ -4,6 +4,7 @@ exports.Overlay = exports.setErrorsRef = void 0;
|
|
|
4
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
const react_1 = require("react");
|
|
6
6
|
const remotion_1 = require("remotion");
|
|
7
|
+
const MenuToolbar_1 = require("../../components/MenuToolbar");
|
|
7
8
|
const keybindings_1 = require("../../state/keybindings");
|
|
8
9
|
const ErrorLoader_1 = require("./ErrorLoader");
|
|
9
10
|
exports.setErrorsRef = (0, react_1.createRef)();
|
|
@@ -43,6 +44,8 @@ const Overlay = () => {
|
|
|
43
44
|
backgroundColor: BACKGROUND_COLOR,
|
|
44
45
|
overflow: 'auto',
|
|
45
46
|
color: 'white',
|
|
47
|
+
top: MenuToolbar_1.MENU_TOOLBAR_HEIGHT,
|
|
48
|
+
height: `calc(100% - ${MenuToolbar_1.MENU_TOOLBAR_HEIGHT}px)`,
|
|
46
49
|
}, children: errors.errors.map((err, i) => {
|
|
47
50
|
var _a;
|
|
48
51
|
return (jsx_runtime_1.jsx(ErrorLoader_1.ErrorLoader
|