@remotion/studio 4.0.525 → 4.0.527
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/focus-default-props-path.js +7 -1
- package/dist/api/restart-studio.d.ts +1 -1
- package/dist/api/restart-studio.js +1 -1
- package/dist/components/AgentPrompt.d.ts +6 -0
- package/dist/components/AgentPrompt.js +107 -0
- package/dist/components/AssetFileIcon.js +2 -0
- package/dist/components/AssetSelectorItem.d.ts +1 -23
- package/dist/components/AssetSelectorItem.js +10 -200
- package/dist/components/Canvas.js +109 -44
- package/dist/components/CanvasCaptureDropHandler.js +63 -0
- package/dist/components/CanvasOrLoading.js +10 -2
- package/dist/components/CaptionInspector.js +9 -3
- package/dist/{error-overlay/remotion-overlay → components}/CodeFrame.d.ts +2 -0
- package/dist/components/CodeFrame.js +77 -0
- package/dist/components/CompositionSelectorItem.js +7 -17
- package/dist/components/CurrentAsset.js +6 -4
- package/dist/components/ElementInstallConfirmation.js +69 -38
- package/dist/components/FilePreview.js +4 -0
- package/dist/components/FixComputedValueModal.js +64 -96
- package/dist/components/GenerateWithAgentModal.d.ts +9 -0
- package/dist/components/GenerateWithAgentModal.js +39 -0
- package/dist/components/InitialCompositionLoader.js +1 -1
- package/dist/components/InlineDropdown.js +26 -2
- package/dist/components/InlineEditableTitle.js +3 -0
- package/dist/components/InspectorOpenInEditor.js +8 -4
- package/dist/components/InspectorPanel/CollapsibleInspectorSection.d.ts +7 -0
- package/dist/components/InspectorPanel/CollapsibleInspectorSection.js +14 -0
- package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.d.ts +1 -1
- package/dist/components/InspectorPanel/CollapsibleInspectorSectionHeader.js +20 -8
- package/dist/components/InspectorPanel/CompositionInspector.js +32 -15
- package/dist/components/InspectorPanel/CompositionMetadata.js +7 -0
- package/dist/components/InspectorPanel/ConnectedCompositionsSection.js +6 -12
- package/dist/components/InspectorPanel/ElementLibraryButton.js +2 -0
- package/dist/components/InspectorPanel/GuideInspector.js +2 -3
- package/dist/components/InspectorPanel/KeyframeSettings.js +5 -6
- package/dist/components/InspectorPanel/MultiSequenceInspector.js +34 -2
- package/dist/components/InspectorPanel/SequenceSelectionInspector.js +45 -4
- package/dist/components/InspectorPanel/common.d.ts +4 -0
- package/dist/components/InspectorPanel/common.js +15 -2
- package/dist/components/InspectorPanel/styles.d.ts +0 -3
- package/dist/components/InspectorPanel/styles.js +3 -27
- package/dist/components/InspectorPanel/use-composition-actions.d.ts +2 -0
- package/dist/components/InspectorPanel/use-composition-actions.js +16 -0
- package/dist/components/InspectorPanel/use-inspector-section-expanded.d.ts +1 -0
- package/dist/components/InspectorPanel/use-inspector-section-expanded.js +21 -0
- package/dist/components/InspectorSequenceSection.js +44 -35
- package/dist/components/InspectorSourceLocation.js +4 -0
- package/dist/components/KeyboardShortcutsSettings.js +12 -4
- package/dist/components/LutPreview.d.ts +4 -0
- package/dist/components/LutPreview.js +192 -0
- package/dist/components/MenuBuildIndicator.js +1 -0
- package/dist/components/MenuCompositionName.js +4 -9
- package/dist/components/Modals.js +3 -6
- package/dist/components/ModelsSettings.js +15 -4
- package/dist/components/NewComposition/CancelButton.js +1 -1
- package/dist/components/Notifications/NotificationCenter.d.ts +0 -1
- package/dist/components/Notifications/NotificationCenter.js +1 -22
- package/dist/components/Preview.js +3 -0
- package/dist/components/QuickSwitcher/ExplorerQuickSwitcherTrigger.js +1 -0
- package/dist/components/QuickSwitcher/QuickSwitcherContent.js +1 -0
- package/dist/components/QuickSwitcher/QuickSwitcherResult.js +4 -9
- package/dist/components/RadioButton.js +1 -0
- package/dist/components/RenderModal/DataEditor.js +4 -1
- package/dist/components/RenderModal/SchemaEditor/scroll-to-default-props-path.d.ts +1 -0
- package/dist/components/RenderModal/SchemaEditor/scroll-to-default-props-path.js +2 -1
- package/dist/components/RenderModal/WebRenderModal.js +10 -2
- package/dist/components/RenderQueue/CaptionQueueItem.js +5 -2
- package/dist/components/RenderQueue/CaptionQueueProcessor.js +35 -8
- package/dist/components/RenderQueue/VideoMattingQueueItem.js +1 -0
- package/dist/components/RenderQueue/caption-job-types.d.ts +6 -0
- package/dist/components/RenderQueue/index.js +1 -0
- package/dist/components/RendersTab.js +4 -0
- package/dist/components/SelectedOutlineElement.js +6 -0
- package/dist/components/SelectedOutlineSnapIndicators.d.ts +6 -0
- package/dist/components/SelectedOutlineSnapIndicators.js +16 -12
- package/dist/components/SequencePropsSubscriptionProvider.d.ts +3 -0
- package/dist/components/SequencePropsSubscriptionProvider.js +8 -6
- package/dist/components/SettingsButton.js +11 -2
- package/dist/components/SettingsModal.d.ts +1 -2
- package/dist/components/SettingsModal.js +24 -6
- package/dist/components/SettingsModalFooter.js +17 -3
- package/dist/components/SkillsSettings.d.ts +5 -0
- package/dist/components/SkillsSettings.js +29 -26
- package/dist/components/Timeline/Timeline.js +10 -11
- package/dist/components/Timeline/TimelineAssetField.js +81 -51
- package/dist/components/Timeline/TimelineDeleteKeybindings.js +6 -9
- package/dist/components/Timeline/TimelineEffectItem.js +1 -0
- package/dist/components/Timeline/TimelineExpandArrowButton.js +1 -0
- package/dist/components/Timeline/TimelineExpandedRow.js +1 -0
- package/dist/components/Timeline/TimelineFieldLabel.js +1 -0
- package/dist/components/Timeline/TimelineHeightContainer.js +11 -1
- package/dist/components/Timeline/TimelineKeyframeControls.js +16 -1
- package/dist/components/Timeline/TimelineLayerChildren.d.ts +3 -3
- package/dist/components/Timeline/TimelineLayerChildren.js +11 -9
- package/dist/components/Timeline/TimelineLayerEye.d.ts +1 -1
- package/dist/components/Timeline/TimelineLayerEye.js +6 -3
- package/dist/components/Timeline/TimelineList.js +9 -3
- package/dist/components/Timeline/TimelineSchemaField.js +2 -6
- package/dist/components/Timeline/TimelineSelection.d.ts +14 -3
- package/dist/components/Timeline/TimelineSelection.js +91 -49
- package/dist/components/Timeline/TimelineSequence.js +28 -2
- package/dist/components/Timeline/TimelineSequenceFrame.js +1 -0
- package/dist/components/Timeline/TimelineSequenceItem.d.ts +2 -0
- package/dist/components/Timeline/TimelineSequenceItem.js +45 -13
- package/dist/components/Timeline/TimelineViewport.d.ts +1 -0
- package/dist/components/Timeline/TimelineViewport.js +10 -1
- package/dist/components/Timeline/TimelineVirtualization.d.ts +3 -3
- package/dist/components/Timeline/delete-selected-timeline-item.js +2 -2
- package/dist/components/Timeline/get-sequence-context-menu-items.d.ts +6 -2
- package/dist/components/Timeline/get-sequence-context-menu-items.js +143 -46
- package/dist/components/Timeline/normalize-font-weight-for-keyframe.d.ts +1 -0
- package/dist/components/Timeline/normalize-font-weight-for-keyframe.js +19 -0
- package/dist/components/Timeline/split-selected-timeline-item.d.ts +13 -10
- package/dist/components/Timeline/split-selected-timeline-item.js +58 -35
- package/dist/components/Timeline/timeline-display-groups.d.ts +9 -0
- package/dist/components/Timeline/timeline-display-groups.js +66 -0
- package/dist/components/Timeline/use-timeline-asset-drop.js +21 -21
- package/dist/components/Timeline/use-timeline-expanded-tree.d.ts +2 -1
- package/dist/components/Timeline/use-timeline-expanded-tree.js +1 -2
- package/dist/components/TimelineCombobox.js +1 -0
- package/dist/components/Transcription/TranscriptionModal.js +16 -11
- package/dist/components/Transcription/TranscriptionModalWithOptionalWhisper.js +1 -1
- package/dist/components/UpdateStatusContext.d.ts +2 -2
- package/dist/components/UpdateStatusContext.js +6 -7
- package/dist/components/UpdatesSettings.js +6 -6
- package/dist/components/WebMcp.js +41 -41
- package/dist/components/asset-context-menu.d.ts +32 -0
- package/dist/components/asset-context-menu.js +242 -0
- package/dist/components/composition-drop-preview.d.ts +9 -2
- package/dist/components/composition-drop-preview.js +7 -4
- package/dist/components/composition-menu-items.d.ts +4 -6
- package/dist/components/composition-menu-items.js +191 -75
- package/dist/components/delete-jsx-nodes-api.d.ts +2 -0
- package/dist/components/{delete-jsx-node-api.js → delete-jsx-nodes-api.js} +5 -5
- package/dist/components/get-open-in-menu-items.d.ts +6 -5
- package/dist/components/get-open-in-menu-items.js +22 -16
- package/dist/components/keyboard-shortcuts.d.ts +4 -4
- package/dist/components/keyboard-shortcuts.js +3 -1
- package/dist/components/public-output-name.d.ts +1 -0
- package/dist/components/public-output-name.js +7 -3
- package/dist/components/selected-outline-order.js +18 -12
- package/dist/components/use-open-in-menu-apps.d.ts +14 -0
- package/dist/components/use-open-in-menu-apps.js +33 -0
- package/dist/error-overlay/remotion-overlay/ErrorDisplay.js +2 -2
- package/dist/error-overlay/remotion-overlay/OpenInEditor.d.ts +1 -0
- package/dist/error-overlay/remotion-overlay/OpenInEditor.js +3 -3
- package/dist/error-overlay/remotion-overlay/StackFrame.d.ts +5 -1
- package/dist/error-overlay/remotion-overlay/StackFrame.js +26 -19
- package/dist/esm/{CaptionQueueProcessor-k0yrm3dj.mjs → CaptionQueueProcessor-npa6szn1.mjs} +39 -8
- package/dist/esm/{LazyModels-gfmpcy4h.mjs → LazyModels-nh3c8h9p.mjs} +4 -3
- package/dist/esm/{LazyModels-m1rf06wh.mjs → LazyModels-rr5v8h5y.mjs} +4 -3
- package/dist/esm/{TranscriptionModal-8pvrehg4.mjs → TranscriptionModal-79m5wgcj.mjs} +25 -17
- package/dist/esm/{VideoMattingModal-fefbzgka.mjs → VideoMattingModal-31pew0xj.mjs} +9 -6
- package/dist/esm/index-21hxsfaa.mjs +239 -0
- package/dist/esm/{index-s848rffx.mjs → index-4zen9prq.mjs} +5438 -4686
- package/dist/esm/index-5t2dwxsk.mjs +530 -0
- package/dist/esm/{index-vsxrxfpj.mjs → index-614tdz2q.mjs} +1 -1
- package/dist/esm/{index-0x13f28h.mjs → index-9xxg6218.mjs} +20 -541
- package/dist/esm/{index-hbezgbbq.mjs → index-ac5550e7.mjs} +1 -1
- package/dist/esm/{index-41kqns5c.mjs → index-e855w59j.mjs} +15 -92
- package/dist/esm/{index-tzxb8808.mjs → index-n5gmcvhz.mjs} +8 -8
- package/dist/esm/{index-ggqpre9v.mjs → index-ppspzgn9.mjs} +4963 -4178
- package/dist/esm/{index-jrw61pkj.mjs → index-r0ejh5sy.mjs} +1 -1
- package/dist/esm/index-r1gr3j3a.mjs +80 -0
- package/dist/esm/{index-mww32xc8.mjs → index-s7qa3xbw.mjs} +6 -4
- package/dist/esm/{index-1089795y.mjs → index-vxwg66ar.mjs} +7 -22
- package/dist/esm/index.mjs +13 -6
- package/dist/esm/internals.mjs +10 -7
- package/dist/esm/previewEntry.mjs +10 -7
- package/dist/esm/{resolve-composition-component-location-bt2d6qxq.mjs → resolve-composition-component-location-qrp05g62.mjs} +1 -1
- package/dist/helpers/client-id.d.ts +1 -0
- package/dist/helpers/client-id.js +8 -4
- package/dist/helpers/copy-text.js +1 -16
- package/dist/helpers/cube-lut.d.ts +12 -0
- package/dist/helpers/cube-lut.js +160 -0
- package/dist/helpers/get-preview-file-type.d.ts +1 -1
- package/dist/helpers/get-preview-file-type.js +3 -0
- package/dist/helpers/hoverable.js +2 -1
- package/dist/helpers/open-in-editor.d.ts +5 -2
- package/dist/helpers/open-in-editor.js +13 -5
- package/dist/helpers/settings-tab-availability.d.ts +14 -0
- package/dist/helpers/settings-tab-availability.js +35 -0
- package/dist/helpers/studio-runtime-config.d.ts +1 -1
- package/dist/helpers/use-keybinding.d.ts +1 -1
- package/dist/helpers/use-keyboard-shortcut-label.d.ts +2 -2
- package/dist/helpers/use-menu-structure.js +31 -21
- package/dist/icons/lut.d.ts +4 -0
- package/dist/icons/lut.js +6 -0
- package/dist/icons/sparkles.d.ts +4 -0
- package/dist/icons/sparkles.js +6 -0
- package/dist/state/modals.d.ts +17 -2
- package/dist/state/timeline-zoom.js +4 -0
- package/package.json +19 -19
- package/dist/components/delete-jsx-node-api.d.ts +0 -2
- package/dist/error-overlay/remotion-overlay/CodeFrame.js +0 -62
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// src/helpers/inserted-element-selection.ts
|
|
2
|
+
var pendingSelection = null;
|
|
3
|
+
var listeners = new Set;
|
|
4
|
+
var requestInsertedElementSelection = (selection) => {
|
|
5
|
+
pendingSelection = selection;
|
|
6
|
+
for (const listener of listeners) {
|
|
7
|
+
listener();
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var clearInsertedElementSelection = (selection) => {
|
|
11
|
+
if (pendingSelection !== selection) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
pendingSelection = null;
|
|
15
|
+
for (const listener of listeners) {
|
|
16
|
+
listener();
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
var subscribeToInsertedElementSelection = (listener) => {
|
|
20
|
+
listeners.add(listener);
|
|
21
|
+
return () => listeners.delete(listener);
|
|
22
|
+
};
|
|
23
|
+
var getInsertedElementSelection = () => pendingSelection;
|
|
24
|
+
|
|
25
|
+
// src/helpers/sequence-node-path-mutations.ts
|
|
26
|
+
var pendingMutations = [];
|
|
27
|
+
var seenMutationIds = new Set;
|
|
28
|
+
var queueSequenceNodePathMutation = (mutation) => {
|
|
29
|
+
if (seenMutationIds.has(mutation.mutationId)) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
seenMutationIds.add(mutation.mutationId);
|
|
33
|
+
pendingMutations.push(mutation);
|
|
34
|
+
if (mutation.timelineSelection !== null) {
|
|
35
|
+
requestInsertedElementSelection({
|
|
36
|
+
compositionId: mutation.timelineSelection.compositionId,
|
|
37
|
+
nodePath: {
|
|
38
|
+
absolutePath: mutation.timelineSelection.absolutePath,
|
|
39
|
+
nodePath: mutation.timelineSelection.nodePath
|
|
40
|
+
},
|
|
41
|
+
notification: null
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var queueSequenceNodePathMutationFromApiResponse = (response) => {
|
|
46
|
+
if (typeof response !== "object" || response === null || !("nodePathMutation" in response)) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const { nodePathMutation } = response;
|
|
50
|
+
if (typeof nodePathMutation !== "object" || nodePathMutation === null || !("mutationId" in nodePathMutation) || typeof nodePathMutation.mutationId !== "string") {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
queueSequenceNodePathMutation(nodePathMutation);
|
|
54
|
+
};
|
|
55
|
+
var takePendingSequenceNodePathMutations = () => pendingMutations.splice(0);
|
|
56
|
+
|
|
57
|
+
// src/components/call-api.ts
|
|
58
|
+
var callApi = (endpoint, body, signal) => {
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
fetch(endpoint, {
|
|
61
|
+
method: "post",
|
|
62
|
+
headers: {
|
|
63
|
+
"content-type": "application/json"
|
|
64
|
+
},
|
|
65
|
+
signal,
|
|
66
|
+
body: JSON.stringify(body)
|
|
67
|
+
}).then((res) => res.json()).then((data) => {
|
|
68
|
+
if (data.success) {
|
|
69
|
+
queueSequenceNodePathMutationFromApiResponse(data.data);
|
|
70
|
+
resolve(data.data);
|
|
71
|
+
} else {
|
|
72
|
+
reject(new Error(data.error));
|
|
73
|
+
}
|
|
74
|
+
}).catch((err) => {
|
|
75
|
+
reject(err);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export { requestInsertedElementSelection, clearInsertedElementSelection, subscribeToInsertedElementSelection, getInsertedElementSelection, queueSequenceNodePathMutation, takePendingSequenceNodePathMutations, callApi };
|
|
@@ -4,12 +4,14 @@ import {
|
|
|
4
4
|
getFileManagerName,
|
|
5
5
|
label,
|
|
6
6
|
optionRow,
|
|
7
|
-
rightRow
|
|
7
|
+
rightRow
|
|
8
|
+
} from "./index-ppspzgn9.mjs";
|
|
9
|
+
import {
|
|
8
10
|
showNotification
|
|
9
|
-
} from "./index-
|
|
11
|
+
} from "./index-21hxsfaa.mjs";
|
|
10
12
|
import {
|
|
11
13
|
openInFileExplorer
|
|
12
|
-
} from "./index-
|
|
14
|
+
} from "./index-e855w59j.mjs";
|
|
13
15
|
import {
|
|
14
16
|
getBrowserStudioOperations
|
|
15
17
|
} from "./index-cw0pnpg5.mjs";
|
|
@@ -18,7 +20,7 @@ import {
|
|
|
18
20
|
InlineAction,
|
|
19
21
|
Spacing,
|
|
20
22
|
ValidationMessage
|
|
21
|
-
} from "./index-
|
|
23
|
+
} from "./index-5t2dwxsk.mjs";
|
|
22
24
|
import {
|
|
23
25
|
WHITE
|
|
24
26
|
} from "./index-k426ye99.mjs";
|
|
@@ -4,17 +4,20 @@ import {
|
|
|
4
4
|
InputDragger,
|
|
5
5
|
MenuDivider,
|
|
6
6
|
RightAlignInput,
|
|
7
|
+
copyText,
|
|
7
8
|
getDefaultOutputBaseName,
|
|
8
9
|
label,
|
|
9
10
|
optionRow,
|
|
10
11
|
rightRow,
|
|
11
|
-
showNotification,
|
|
12
12
|
useCopyFeedback,
|
|
13
13
|
validatePublicOutputName
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-ppspzgn9.mjs";
|
|
15
|
+
import {
|
|
16
|
+
showNotification
|
|
17
|
+
} from "./index-21hxsfaa.mjs";
|
|
15
18
|
import {
|
|
16
19
|
Spacing
|
|
17
|
-
} from "./index-
|
|
20
|
+
} from "./index-5t2dwxsk.mjs";
|
|
18
21
|
import {
|
|
19
22
|
BLUE,
|
|
20
23
|
CURRENT_COLOR_LOWERCASE,
|
|
@@ -49,24 +52,6 @@ import { BrowserSafeApis } from "@remotion/renderer/client";
|
|
|
49
52
|
|
|
50
53
|
// src/components/RenderModal/CliCopyButton.tsx
|
|
51
54
|
import { useCallback, useMemo, useState } from "react";
|
|
52
|
-
|
|
53
|
-
// src/helpers/copy-text.ts
|
|
54
|
-
var copyText = (cmd) => {
|
|
55
|
-
const permissionName = "clipboard-write";
|
|
56
|
-
return new Promise((resolve, reject) => {
|
|
57
|
-
navigator.permissions.query({ name: permissionName }).then((result) => {
|
|
58
|
-
if (result.state === "granted" || result.state === "prompt") {
|
|
59
|
-
navigator.clipboard.writeText(cmd).then(resolve).catch(reject);
|
|
60
|
-
} else {
|
|
61
|
-
reject(new Error("Permission to copy not granted"));
|
|
62
|
-
}
|
|
63
|
-
}).catch((err) => {
|
|
64
|
-
reject(err);
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
// src/components/RenderModal/CliCopyButton.tsx
|
|
70
55
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
71
56
|
var svgStyle = {
|
|
72
57
|
width: 16,
|
|
@@ -420,4 +405,4 @@ var NumberSetting = ({ name, value, step, hint, onValueChanged, max, min, format
|
|
|
420
405
|
});
|
|
421
406
|
};
|
|
422
407
|
|
|
423
|
-
export {
|
|
408
|
+
export { GearIcon, getDefaultCaptionOutputName, validateCaptionOutputName, OptionExplainerBubble, WebRendererOptionExplainerBubble, WebRendererCustomOptionExplainerBubble, NumberSetting };
|
package/dist/esm/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pause,
|
|
3
3
|
play,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
} from "./index-
|
|
4
|
+
seek,
|
|
5
|
+
shutDownStudio
|
|
6
|
+
} from "./index-n5gmcvhz.mjs";
|
|
7
7
|
import {
|
|
8
8
|
CodingAgentIcon,
|
|
9
9
|
DEFAULT_PROPS_PATH_ACTIVE_CLASSNAME,
|
|
@@ -13,14 +13,16 @@ import {
|
|
|
13
13
|
TerminalIcon,
|
|
14
14
|
callUpdateDefaultPropsApi,
|
|
15
15
|
deleteStaticFile,
|
|
16
|
+
expandDefaultPropsEditorRef,
|
|
16
17
|
extractEnumJsonPaths,
|
|
17
18
|
getStaticFiles,
|
|
18
|
-
|
|
19
|
+
restartStudio,
|
|
19
20
|
useSyncExternalStore,
|
|
20
21
|
visualControlRef,
|
|
21
22
|
visualControlStore,
|
|
22
23
|
watchPublicFolder
|
|
23
|
-
} from "./index-
|
|
24
|
+
} from "./index-e855w59j.mjs";
|
|
25
|
+
import"./index-r1gr3j3a.mjs";
|
|
24
26
|
import {
|
|
25
27
|
getBrowserStudioOperations,
|
|
26
28
|
writeStaticFile
|
|
@@ -64,7 +66,12 @@ var focusDefaultPropsPath = ({
|
|
|
64
66
|
success: false
|
|
65
67
|
};
|
|
66
68
|
}
|
|
67
|
-
query.scrollIntoView({ behavior: scrollBehavior });
|
|
69
|
+
const scrollToField = () => query.scrollIntoView({ behavior: scrollBehavior });
|
|
70
|
+
if (expandDefaultPropsEditorRef.current === null) {
|
|
71
|
+
scrollToField();
|
|
72
|
+
} else {
|
|
73
|
+
expandDefaultPropsEditorRef.current(scrollToField);
|
|
74
|
+
}
|
|
68
75
|
query.classList.add(DEFAULT_PROPS_PATH_ACTIVE_CLASSNAME);
|
|
69
76
|
return {
|
|
70
77
|
success: true
|
package/dist/esm/internals.mjs
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Studio
|
|
3
|
-
} from "./index-
|
|
4
|
-
import"./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
3
|
+
} from "./index-4zen9prq.mjs";
|
|
4
|
+
import"./index-vxwg66ar.mjs";
|
|
5
|
+
import"./index-s7qa3xbw.mjs";
|
|
6
|
+
import"./index-ppspzgn9.mjs";
|
|
7
|
+
import"./index-21hxsfaa.mjs";
|
|
7
8
|
import"./index-9x6e1dq0.mjs";
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-
|
|
9
|
+
import"./index-n5gmcvhz.mjs";
|
|
10
|
+
import"./index-e855w59j.mjs";
|
|
11
|
+
import"./index-r1gr3j3a.mjs";
|
|
10
12
|
import"./index-cw0pnpg5.mjs";
|
|
11
|
-
import"./index-
|
|
13
|
+
import"./index-5t2dwxsk.mjs";
|
|
14
|
+
import"./index-9xxg6218.mjs";
|
|
12
15
|
import"./index-5zrb1ft4.mjs";
|
|
13
16
|
import"./index-k426ye99.mjs";
|
|
14
17
|
import"./index-rcv7qkt5.mjs";
|
|
@@ -5,18 +5,21 @@ import {
|
|
|
5
5
|
markErrorMessageAsLoggedByServer,
|
|
6
6
|
setErrorsRef,
|
|
7
7
|
startReportingRuntimeErrors
|
|
8
|
-
} from "./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-
|
|
8
|
+
} from "./index-4zen9prq.mjs";
|
|
9
|
+
import"./index-vxwg66ar.mjs";
|
|
10
|
+
import"./index-s7qa3xbw.mjs";
|
|
11
11
|
import {
|
|
12
12
|
reloadUrl,
|
|
13
13
|
subscribeToPreviewServerEvents
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-ppspzgn9.mjs";
|
|
15
|
+
import"./index-21hxsfaa.mjs";
|
|
15
16
|
import"./index-9x6e1dq0.mjs";
|
|
16
|
-
import"./index-
|
|
17
|
-
import"./index-
|
|
17
|
+
import"./index-n5gmcvhz.mjs";
|
|
18
|
+
import"./index-e855w59j.mjs";
|
|
19
|
+
import"./index-r1gr3j3a.mjs";
|
|
18
20
|
import"./index-cw0pnpg5.mjs";
|
|
19
|
-
import"./index-
|
|
21
|
+
import"./index-5t2dwxsk.mjs";
|
|
22
|
+
import"./index-9xxg6218.mjs";
|
|
20
23
|
import"./index-5zrb1ft4.mjs";
|
|
21
24
|
import {
|
|
22
25
|
BACKGROUND_HEX,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import"./index-rcv7qkt5.mjs";
|
|
2
2
|
|
|
3
|
-
// ../
|
|
3
|
+
// ../codemods/dist/esm/resolve-composition-component-location.mjs
|
|
4
4
|
var __create = Object.create;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __defProp = Object.defineProperty;
|
|
@@ -4,6 +4,7 @@ import { type PreviewServerConnectionState } from './preview-server-events';
|
|
|
4
4
|
type Context = {
|
|
5
5
|
previewServerState: PreviewServerConnectionState;
|
|
6
6
|
configFileChangeRevision: number;
|
|
7
|
+
restartRequired: boolean;
|
|
7
8
|
subscribeToEvent: (type: EventSourceEvent['type'], listener: (event: EventSourceEvent) => void) => () => void;
|
|
8
9
|
};
|
|
9
10
|
export declare const StudioServerConnectionCtx: React.Context<Context>;
|
|
@@ -51,6 +51,7 @@ exports.StudioServerConnectionCtx = react_1.default.createContext({
|
|
|
51
51
|
type: 'init',
|
|
52
52
|
},
|
|
53
53
|
configFileChangeRevision: 0,
|
|
54
|
+
restartRequired: false,
|
|
54
55
|
subscribeToEvent: () => {
|
|
55
56
|
throw new Error('Context not initalized');
|
|
56
57
|
},
|
|
@@ -71,6 +72,7 @@ const PreviewServerConnection = ({ children }) => {
|
|
|
71
72
|
type: 'init',
|
|
72
73
|
});
|
|
73
74
|
const [configFileChangeRevision, setConfigFileChangeRevision] = react_1.default.useState(0);
|
|
75
|
+
const [restartRequired, setRestartRequired] = react_1.default.useState(false);
|
|
74
76
|
const clientId = (0, react_1.useRef)(null);
|
|
75
77
|
(0, react_1.useEffect)(() => {
|
|
76
78
|
const handleEvent = (newEvent) => {
|
|
@@ -84,10 +86,11 @@ const PreviewServerConnection = ({ children }) => {
|
|
|
84
86
|
window.remotion_studioConfig = newEvent.studioRuntimeConfig;
|
|
85
87
|
window.remotion_editorName = newEvent.editorName;
|
|
86
88
|
setConfigFileChangeRevision((revision) => revision + 1);
|
|
87
|
-
const
|
|
88
|
-
newEvent.originatorClientId !== null &&
|
|
89
|
+
const isOwnConfigChange = newEvent.originatorClientId !== null &&
|
|
89
90
|
newEvent.originatorClientId === clientId.current;
|
|
90
|
-
|
|
91
|
+
setRestartRequired(newEvent.changeType === 'restart');
|
|
92
|
+
const shouldShowNotification = !isOwnConfigChange || newEvent.changeType === 'reload';
|
|
93
|
+
if (shouldShowNotification) {
|
|
91
94
|
(0, NotificationCenter_1.showNotification)((0, studio_shared_1.getConfigFileChangeMessage)(newEvent.changeType), 4000);
|
|
92
95
|
}
|
|
93
96
|
}
|
|
@@ -151,9 +154,10 @@ const PreviewServerConnection = ({ children }) => {
|
|
|
151
154
|
return {
|
|
152
155
|
previewServerState: state,
|
|
153
156
|
configFileChangeRevision,
|
|
157
|
+
restartRequired,
|
|
154
158
|
subscribeToEvent,
|
|
155
159
|
};
|
|
156
|
-
}, [configFileChangeRevision, state, subscribeToEvent]);
|
|
160
|
+
}, [configFileChangeRevision, restartRequired, state, subscribeToEvent]);
|
|
157
161
|
return (jsx_runtime_1.jsx(exports.StudioServerConnectionCtx.Provider, { value: context, children: children }));
|
|
158
162
|
};
|
|
159
163
|
exports.PreviewServerConnection = PreviewServerConnection;
|
|
@@ -2,21 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.copyText = void 0;
|
|
4
4
|
const copyText = (cmd) => {
|
|
5
|
-
|
|
6
|
-
return new Promise((resolve, reject) => {
|
|
7
|
-
navigator.permissions
|
|
8
|
-
.query({ name: permissionName })
|
|
9
|
-
.then((result) => {
|
|
10
|
-
if (result.state === 'granted' || result.state === 'prompt') {
|
|
11
|
-
navigator.clipboard.writeText(cmd).then(resolve).catch(reject);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
reject(new Error('Permission to copy not granted'));
|
|
15
|
-
}
|
|
16
|
-
})
|
|
17
|
-
.catch((err) => {
|
|
18
|
-
reject(err);
|
|
19
|
-
});
|
|
20
|
-
});
|
|
5
|
+
return navigator.clipboard.writeText(cmd);
|
|
21
6
|
};
|
|
22
7
|
exports.copyText = copyText;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type Rgb = [number, number, number];
|
|
2
|
+
export type CubeLut = {
|
|
3
|
+
readonly type: '1d' | '3d';
|
|
4
|
+
readonly size: number;
|
|
5
|
+
readonly title: string | null;
|
|
6
|
+
readonly domainMin: Rgb;
|
|
7
|
+
readonly domainMax: Rgb;
|
|
8
|
+
readonly data: Float32Array;
|
|
9
|
+
};
|
|
10
|
+
export declare const parseCubeLut: (text: string) => CubeLut;
|
|
11
|
+
export declare const applyCubeLut: (pixels: Uint8ClampedArray<ArrayBufferLike>, lut: CubeLut) => void;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyCubeLut = exports.parseCubeLut = void 0;
|
|
4
|
+
const parseCubeLut = (text) => {
|
|
5
|
+
let type = null;
|
|
6
|
+
let size = 0;
|
|
7
|
+
let title = null;
|
|
8
|
+
let domainMin = [0, 0, 0];
|
|
9
|
+
let domainMax = [1, 1, 1];
|
|
10
|
+
let data = null;
|
|
11
|
+
let offset = 0;
|
|
12
|
+
const headers = new Set();
|
|
13
|
+
for (const [index, rawLine] of text.split(/\r\n?|\n/).entries()) {
|
|
14
|
+
const line = rawLine.trim();
|
|
15
|
+
if (!line || line.startsWith('#')) {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
const titleMatch = line.match(/^TITLE\s+"([^"]*)"\s*(?:#.*)?$/);
|
|
19
|
+
const [keyword, ...values] = line.replace(/#.*$/, '').trim().split(/\s+/);
|
|
20
|
+
const numbers = values.map(Number);
|
|
21
|
+
const isHeader = /^[A-Z][A-Z0-9_]*$/.test(keyword);
|
|
22
|
+
if (isHeader) {
|
|
23
|
+
if (offset > 0) {
|
|
24
|
+
throw new Error(`LUT header after color data on line ${index + 1}.`);
|
|
25
|
+
}
|
|
26
|
+
if (headers.has(keyword)) {
|
|
27
|
+
throw new Error(`Duplicate ${keyword} on line ${index + 1}.`);
|
|
28
|
+
}
|
|
29
|
+
headers.add(keyword);
|
|
30
|
+
}
|
|
31
|
+
if (keyword === 'TITLE' && titleMatch) {
|
|
32
|
+
title = titleMatch[1];
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (keyword === 'LUT_1D_SIZE' || keyword === 'LUT_3D_SIZE') {
|
|
36
|
+
if (type !== null) {
|
|
37
|
+
throw new Error('Combined 1D and 3D LUTs are not supported.');
|
|
38
|
+
}
|
|
39
|
+
type = keyword === 'LUT_1D_SIZE' ? '1d' : '3d';
|
|
40
|
+
size = numbers[0];
|
|
41
|
+
const maxSize = type === '1d' ? 65536 : 256;
|
|
42
|
+
if (numbers.length !== 1 ||
|
|
43
|
+
!Number.isInteger(size) ||
|
|
44
|
+
size < 2 ||
|
|
45
|
+
size > maxSize) {
|
|
46
|
+
throw new Error(`${keyword} must be an integer from 2 to ${maxSize}.`);
|
|
47
|
+
}
|
|
48
|
+
data = new Float32Array((type === '1d' ? size : size ** 3) * 3);
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
if (keyword === 'DOMAIN_MIN' || keyword === 'DOMAIN_MAX') {
|
|
52
|
+
if (numbers.length !== 3 || !numbers.every(Number.isFinite)) {
|
|
53
|
+
throw new Error(`${keyword} must contain three finite numbers.`);
|
|
54
|
+
}
|
|
55
|
+
if (keyword === 'DOMAIN_MIN') {
|
|
56
|
+
domainMin = [numbers[0], numbers[1], numbers[2]];
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
domainMax = [numbers[0], numbers[1], numbers[2]];
|
|
60
|
+
}
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
if (keyword === 'LUT_1D_INPUT_RANGE' || keyword === 'LUT_3D_INPUT_RANGE') {
|
|
64
|
+
if (numbers.length !== 2 ||
|
|
65
|
+
!numbers.every(Number.isFinite) ||
|
|
66
|
+
numbers[0] >= numbers[1]) {
|
|
67
|
+
throw new Error(`${keyword} must contain an increasing input range.`);
|
|
68
|
+
}
|
|
69
|
+
domainMin = [numbers[0], numbers[0], numbers[0]];
|
|
70
|
+
domainMax = [numbers[1], numbers[1], numbers[1]];
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (isHeader) {
|
|
74
|
+
throw new Error(`Unsupported LUT header "${keyword}" on line ${index + 1}.`);
|
|
75
|
+
}
|
|
76
|
+
if (data === null) {
|
|
77
|
+
throw new Error('Expected LUT_1D_SIZE or LUT_3D_SIZE before color data.');
|
|
78
|
+
}
|
|
79
|
+
const color = [Number(keyword), ...numbers];
|
|
80
|
+
if (color.length !== 3 ||
|
|
81
|
+
!color.every((value) => Number.isFinite(Math.fround(value)))) {
|
|
82
|
+
throw new Error(`Invalid LUT color on line ${index + 1}.`);
|
|
83
|
+
}
|
|
84
|
+
if (offset + 3 > data.length) {
|
|
85
|
+
throw new Error(`Expected ${data.length / 3} LUT colors, got more.`);
|
|
86
|
+
}
|
|
87
|
+
data.set(color, offset);
|
|
88
|
+
offset += 3;
|
|
89
|
+
}
|
|
90
|
+
if (type === null || data === null) {
|
|
91
|
+
throw new Error('Expected LUT_1D_SIZE or LUT_3D_SIZE.');
|
|
92
|
+
}
|
|
93
|
+
if (offset !== data.length) {
|
|
94
|
+
throw new Error(`Expected ${data.length / 3} LUT colors, got ${offset / 3}.`);
|
|
95
|
+
}
|
|
96
|
+
if (domainMin.some((min, channel) => min >= domainMax[channel])) {
|
|
97
|
+
throw new Error('DOMAIN_MAX must be greater than DOMAIN_MIN in every channel.');
|
|
98
|
+
}
|
|
99
|
+
if (domainMin.some((min, channel) => !Number.isFinite(domainMax[channel] - min))) {
|
|
100
|
+
throw new Error('LUT input ranges must be finite.');
|
|
101
|
+
}
|
|
102
|
+
if ((headers.has('LUT_1D_INPUT_RANGE') || headers.has('LUT_3D_INPUT_RANGE')) &&
|
|
103
|
+
(headers.has('DOMAIN_MIN') ||
|
|
104
|
+
headers.has('DOMAIN_MAX') ||
|
|
105
|
+
headers.has(type === '1d' ? 'LUT_3D_INPUT_RANGE' : 'LUT_1D_INPUT_RANGE'))) {
|
|
106
|
+
throw new Error('Conflicting LUT input range headers.');
|
|
107
|
+
}
|
|
108
|
+
return { type, size, title, domainMin, domainMax, data };
|
|
109
|
+
};
|
|
110
|
+
exports.parseCubeLut = parseCubeLut;
|
|
111
|
+
const applyCubeLut = (pixels, lut) => {
|
|
112
|
+
const { data, size, domainMin, domainMax, type } = lut;
|
|
113
|
+
const last = size - 1;
|
|
114
|
+
const range = domainMin.map((min, channel) => domainMax[channel] - min);
|
|
115
|
+
for (let pixel = 0; pixel < pixels.length; pixel += 4) {
|
|
116
|
+
if (type === '1d') {
|
|
117
|
+
for (let channel = 0; channel < 3; channel++) {
|
|
118
|
+
const position = Math.max(0, Math.min(last, ((pixels[pixel + channel] / 255 - domainMin[channel]) /
|
|
119
|
+
range[channel]) *
|
|
120
|
+
last));
|
|
121
|
+
const low = Math.floor(position);
|
|
122
|
+
const high = Math.min(low + 1, last);
|
|
123
|
+
const fraction = position - low;
|
|
124
|
+
pixels[pixel + channel] =
|
|
125
|
+
255 *
|
|
126
|
+
(data[low * 3 + channel] * (1 - fraction) +
|
|
127
|
+
data[high * 3 + channel] * fraction);
|
|
128
|
+
}
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
const r = Math.max(0, Math.min(last, ((pixels[pixel] / 255 - domainMin[0]) / range[0]) * last));
|
|
132
|
+
const g = Math.max(0, Math.min(last, ((pixels[pixel + 1] / 255 - domainMin[1]) / range[1]) * last));
|
|
133
|
+
const b = Math.max(0, Math.min(last, ((pixels[pixel + 2] / 255 - domainMin[2]) / range[2]) * last));
|
|
134
|
+
const r0 = Math.floor(r);
|
|
135
|
+
const g0 = Math.floor(g);
|
|
136
|
+
const b0 = Math.floor(b);
|
|
137
|
+
const r1 = Math.min(r0 + 1, last);
|
|
138
|
+
const g1 = Math.min(g0 + 1, last);
|
|
139
|
+
const b1 = Math.min(b0 + 1, last);
|
|
140
|
+
const rf = r - r0;
|
|
141
|
+
const gf = g - g0;
|
|
142
|
+
const bf = b - b0;
|
|
143
|
+
// .cube files store red fastest, then green, then blue.
|
|
144
|
+
for (let channel = 0; channel < 3; channel++) {
|
|
145
|
+
const c00 = data[(r0 + g0 * size + b0 * size * size) * 3 + channel] * (1 - rf) +
|
|
146
|
+
data[(r1 + g0 * size + b0 * size * size) * 3 + channel] * rf;
|
|
147
|
+
const c10 = data[(r0 + g1 * size + b0 * size * size) * 3 + channel] * (1 - rf) +
|
|
148
|
+
data[(r1 + g1 * size + b0 * size * size) * 3 + channel] * rf;
|
|
149
|
+
const c01 = data[(r0 + g0 * size + b1 * size * size) * 3 + channel] * (1 - rf) +
|
|
150
|
+
data[(r1 + g0 * size + b1 * size * size) * 3 + channel] * rf;
|
|
151
|
+
const c11 = data[(r0 + g1 * size + b1 * size * size) * 3 + channel] * (1 - rf) +
|
|
152
|
+
data[(r1 + g1 * size + b1 * size * size) * 3 + channel] * rf;
|
|
153
|
+
pixels[pixel + channel] =
|
|
154
|
+
255 *
|
|
155
|
+
((c00 * (1 - gf) + c10 * gf) * (1 - bf) +
|
|
156
|
+
(c01 * (1 - gf) + c11 * gf) * bf);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
exports.applyCubeLut = applyCubeLut;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type AssetFileType = 'audio' | 'font' | 'video' | 'image' | 'json' | 'txt' | 'other';
|
|
1
|
+
export type AssetFileType = 'audio' | 'font' | 'video' | 'image' | 'json' | 'lut' | 'txt' | 'other';
|
|
2
2
|
export declare const getPreviewFileType: (fileName: string | null) => AssetFileType;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import type { TerminalId } from '@remotion/studio-shared';
|
|
2
|
-
import type { CompositionComponentInfoResponse, EditorPickerId, OpenInTerminalResponse, SymbolicatedStackFrame } from '@remotion/studio-shared';
|
|
1
|
+
import type { CompositionComponentInfoResponse, EditorPickerId, OpenInTerminalResponse, SymbolicatedStackFrame, TerminalId } from '@remotion/studio-shared';
|
|
3
2
|
import type { CodePosition, OriginalPosition } from '../error-overlay/react-overlay/utils/get-source-map';
|
|
4
3
|
export declare const openInEditor: (stack: SymbolicatedStackFrame, editorId: EditorPickerId) => Promise<import("@remotion/studio-shared").OpenInEditorResponse>;
|
|
5
4
|
export declare const openInCodingAgent: (codingAgentId: "claude-code" | "codex" | "copilot" | "cursor", prompt: string | null) => Promise<import("@remotion/studio-shared").OpenInCodingAgentResponse>;
|
|
6
5
|
export declare const openInTerminal: (terminalId: TerminalId, directory: string) => Promise<OpenInTerminalResponse>;
|
|
7
6
|
export declare const openInGitClient: (gitClientId: "github-desktop") => Promise<import("@remotion/studio-shared").OpenInGitClientResponse>;
|
|
8
7
|
export declare const openOriginalPositionInEditor: (originalPosition: OriginalPosition, editorId: EditorPickerId) => Promise<void>;
|
|
8
|
+
export declare const findOriginalPositionInFileAtProperty: ({ originalPosition, property, }: {
|
|
9
|
+
originalPosition: CodePosition;
|
|
10
|
+
property: string;
|
|
11
|
+
}) => Promise<CodePosition>;
|
|
9
12
|
export declare const openOriginalPositionInEditorAtProperty: ({ editorId, originalPosition, property, }: {
|
|
10
13
|
editorId: EditorPickerId;
|
|
11
14
|
originalPosition: CodePosition;
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.openCompositionComponentInEditor = exports.preloadCompositionComponentInfo = exports.loadCompositionComponentInfo = exports.useCachedCompositionComponentInfo = exports.getCachedCompositionComponentInfo = exports.subscribeToCompositionComponentInfo = exports.openOriginalPositionInEditorAtProperty = exports.openOriginalPositionInEditor = exports.openInGitClient = exports.openInTerminal = exports.openInCodingAgent = exports.openInEditor = void 0;
|
|
36
|
+
exports.openCompositionComponentInEditor = exports.preloadCompositionComponentInfo = exports.loadCompositionComponentInfo = exports.useCachedCompositionComponentInfo = exports.getCachedCompositionComponentInfo = exports.subscribeToCompositionComponentInfo = exports.openOriginalPositionInEditorAtProperty = exports.findOriginalPositionInFileAtProperty = exports.openOriginalPositionInEditor = exports.openInGitClient = exports.openInTerminal = exports.openInCodingAgent = exports.openInEditor = void 0;
|
|
37
37
|
const react_1 = require("react");
|
|
38
38
|
const call_api_1 = require("../components/call-api");
|
|
39
39
|
const get_stack_1 = require("../components/Timeline/TimelineStack/get-stack");
|
|
@@ -78,7 +78,7 @@ const openOriginalPositionInEditor = async (originalPosition, editorId) => {
|
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
80
|
exports.openOriginalPositionInEditor = openOriginalPositionInEditor;
|
|
81
|
-
const
|
|
81
|
+
const findOriginalPositionInFileAtProperty = async ({ originalPosition, property, }) => {
|
|
82
82
|
const request = {
|
|
83
83
|
fileName: originalPosition.source,
|
|
84
84
|
lineNumber: originalPosition.line,
|
|
@@ -89,11 +89,19 @@ const openOriginalPositionInEditorAtProperty = async ({ editorId, originalPositi
|
|
|
89
89
|
const position = browserStudioOperations
|
|
90
90
|
? await browserStudioOperations.findInFile(request)
|
|
91
91
|
: await (0, call_api_1.callApi)('/api/find-in-file', request);
|
|
92
|
-
|
|
92
|
+
return {
|
|
93
93
|
source: originalPosition.source,
|
|
94
94
|
line: position.lineNumber,
|
|
95
95
|
column: position.columnNumber,
|
|
96
|
-
}
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
exports.findOriginalPositionInFileAtProperty = findOriginalPositionInFileAtProperty;
|
|
99
|
+
const openOriginalPositionInEditorAtProperty = async ({ editorId, originalPosition, property, }) => {
|
|
100
|
+
const position = await (0, exports.findOriginalPositionInFileAtProperty)({
|
|
101
|
+
originalPosition,
|
|
102
|
+
property,
|
|
103
|
+
});
|
|
104
|
+
await (0, exports.openOriginalPositionInEditor)(position, editorId);
|
|
97
105
|
};
|
|
98
106
|
exports.openOriginalPositionInEditorAtProperty = openOriginalPositionInEditorAtProperty;
|
|
99
107
|
const componentResolutionCache = new Map();
|
|
@@ -166,7 +174,7 @@ const loadCompositionComponentInfo = async ({ compositionFile, compositionId, })
|
|
|
166
174
|
if (files === null) {
|
|
167
175
|
throw new Error(`Could not find source map contents for ${compositionFile}`);
|
|
168
176
|
}
|
|
169
|
-
const { resolveCompositionComponentLocation } = await Promise.resolve().then(() => __importStar(require('@remotion/
|
|
177
|
+
const { resolveCompositionComponentLocation } = await Promise.resolve().then(() => __importStar(require('@remotion/codemods/resolve-composition-component-location')));
|
|
170
178
|
return {
|
|
171
179
|
canAddSequence: false,
|
|
172
180
|
location: resolveCompositionComponentLocation({
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type SettingsTab = 'apps' | 'rendering' | 'studio' | 'packages' | 'models' | 'shortcuts' | 'skills' | 'license' | 'updates';
|
|
2
|
+
type StudioMode = {
|
|
3
|
+
readonly isBrowserStudio: boolean;
|
|
4
|
+
readonly previewServerConnected: boolean;
|
|
5
|
+
readonly readOnlyStudio: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const canEditStudioConfig: ({ isBrowserStudio, previewServerConnected, readOnlyStudio, }: StudioMode) => boolean;
|
|
8
|
+
export declare const canInstallPackagesInStudio: (studioMode: StudioMode) => boolean;
|
|
9
|
+
export declare const getAvailableSettingsTabs: ({ isBrowserStudio, packageManagerAvailable, previewServerConnected, readOnlyStudio, showUpdates, }: StudioMode & {
|
|
10
|
+
readonly packageManagerAvailable: boolean;
|
|
11
|
+
readonly showUpdates: boolean;
|
|
12
|
+
}) => SettingsTab[];
|
|
13
|
+
export declare const getSafeSettingsTab: (requestedTab: SettingsTab, availableTabs: readonly SettingsTab[]) => SettingsTab;
|
|
14
|
+
export {};
|