@hyperframes/studio 0.8.114 → 0.8.116
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/assets/{hyperframes-player-aXNJKiIg.js → hyperframes-player-mGYvPVpw.js} +1 -1
- package/dist/assets/{index-Bn2RJNTJ.js → index-BWHt0-ir.js} +1 -1
- package/dist/assets/{index-Dz7doz9l.js → index-DYNaXPVf.js} +203 -203
- package/dist/assets/{index-C9N-DGjC.js → index-Dr3hNpvS.js} +1 -1
- package/dist/assets/{index-BYnsJnJV.css → index-t1LH6H5H.css} +1 -1
- package/dist/{chunk-BIUXP3PG.js → chunk-3F47EFCT.js} +142 -277
- package/dist/chunk-3F47EFCT.js.map +1 -0
- package/dist/{chunk-K47E2ZJA.js → chunk-5EKWJZLM.js} +504 -17
- package/dist/chunk-5EKWJZLM.js.map +1 -0
- package/dist/{chunk-VWT7STY3.js → chunk-J6Q572FA.js} +2 -2
- package/dist/{domEditingLayers-V67MS4WP.js → domEditingLayers-OL7GLSS4.js} +3 -5
- package/dist/index.d.ts +146 -40
- package/dist/index.html +2 -2
- package/dist/index.js +4021 -3591
- package/dist/index.js.map +1 -1
- package/dist/player.js +2 -2
- package/dist/styles.css +1 -1
- package/package.json +9 -8
- package/src/App.tsx +2 -2
- package/src/captions/hooks/useCaptionSync.ts +10 -6
- package/src/components/LinkedSelectionToggle.tsx +3 -2
- package/src/components/ProjectUnreachableBanner.tsx +3 -3
- package/src/components/dock/Dock.tsx +5 -7
- package/src/components/editor/CanvasContextMenu.tsx +3 -2
- package/src/components/editor/DomEditCropHandles.test.tsx +27 -0
- package/src/components/editor/DomEditCropHandles.tsx +7 -4
- package/src/components/editor/DomEditOverlay.tsx +5 -1
- package/src/components/editor/FileTreeNodes.tsx +13 -10
- package/src/components/editor/MotionPathOverlay.tsx +7 -2
- package/src/components/editor/PropertyPanelEmptyState.tsx +12 -2
- package/src/components/editor/SnapToolbar.test.tsx +100 -1
- package/src/components/editor/SnapToolbar.tsx +43 -5
- package/src/components/editor/anchoredResizeCommitFeedsOffset.test.ts +48 -1
- package/src/components/editor/audioFxTelemetry.ts +2 -3
- package/src/components/editor/commitPreflightHandles.test.tsx +2 -2
- package/src/components/editor/cropResize.ts +4 -3
- package/src/components/editor/domEditingDom.ts +4 -0
- package/src/components/editor/domEditingLayers.ts +1 -5
- package/src/components/editor/domGroupMoveBy.test.tsx +252 -0
- package/src/components/editor/domGroupMoveBy.ts +95 -0
- package/src/components/editor/dragUndoPaint.test.ts +5 -5
- package/src/components/editor/gestureHoldsPreviewReload.test.tsx +33 -0
- package/src/components/editor/manualEditingAvailability.ts +8 -0
- package/src/components/editor/manualEdits.ts +1 -0
- package/src/components/editor/manualEditsParsing.ts +7 -0
- package/src/components/editor/manualOffsetDrag.ts +5 -6
- package/src/components/editor/marqueeCommit.test.tsx +106 -37
- package/src/components/editor/marqueeCommit.ts +24 -8
- package/src/components/editor/motionPathCommit.test.ts +29 -1
- package/src/components/editor/motionPathCommit.ts +21 -9
- package/src/components/editor/motionPathSelection.test.ts +6 -31
- package/src/components/editor/probeSourceElement.test.ts +45 -0
- package/src/components/editor/probeSourceElement.ts +41 -16
- package/src/components/editor/propertyPanelFlatTextSection.tsx +10 -7
- package/src/components/editor/propertyPanelFont.tsx +3 -2
- package/src/components/editor/propertyPanelFxAddMenu.tsx +11 -2
- package/src/components/editor/propertyPanelFxCarveModule.tsx +15 -5
- package/src/components/editor/propertyPanelFxNodeOpenBody.tsx +3 -0
- package/src/components/editor/propertyPanelFxNodeParams.tsx +15 -2
- package/src/components/editor/propertyPanelFxNodeRow.tsx +3 -0
- package/src/components/editor/propertyPanelFxPresetRun.tsx +10 -2
- package/src/components/editor/propertyPanelFxSection.test.tsx +56 -0
- package/src/components/editor/propertyPanelFxSection.tsx +30 -28
- package/src/components/editor/propertyPanelTypes.ts +6 -3
- package/src/components/editor/useColorGradingController.ts +2 -1
- package/src/components/editor/useDomEditNudge.test.tsx +37 -0
- package/src/components/editor/useDomEditNudge.ts +2 -0
- package/src/components/editor/useDomEditOverlayGestures.ts +5 -0
- package/src/components/editor/useDomEditZOrder.ts +12 -2
- package/src/components/editor/useFxCarveNodes.ts +2 -1
- package/src/components/editor/useFxLevelling.ts +2 -1
- package/src/components/feedback/projectProvenance.ts +2 -1
- package/src/components/nle/NLEContext.test.ts +1 -0
- package/src/components/nle/NLEContext.tsx +2 -1
- package/src/components/nle/NLEPreview.tsx +12 -10
- package/src/components/nle/PreviewPoster.tsx +2 -1
- package/src/components/nle/useTimelineEditCallbacks.test.tsx +1 -0
- package/src/components/nle/useTimelineEditCallbacks.ts +7 -1
- package/src/components/renders/useFfmpegStatus.ts +2 -1
- package/src/components/renders/useRenderQueue.ts +5 -4
- package/src/components/sidebar/AssetContextMenu.tsx +4 -4
- package/src/components/sidebar/AssetsTab.tsx +2 -1
- package/src/components/sidebar/GlobalAssetsView.tsx +2 -1
- package/src/components/ui/menuStyle.test.ts +61 -0
- package/src/components/ui/menuStyle.ts +10 -0
- package/src/contexts/DomEditContext.tsx +5 -1
- package/src/contexts/TimelineEditContext.tsx +1 -0
- package/src/domEditExports.test.tsx +9 -1
- package/src/hooks/domEditCommitRunner.ts +1 -1
- package/src/hooks/domSelectionTestHarness.ts +23 -0
- package/src/hooks/domStyleCommit.propertyNames.test.ts +73 -0
- package/src/hooks/domStyleCommit.ts +8 -1
- package/src/hooks/draggedGsapPosition.ts +10 -0
- package/src/hooks/elementOffsetStager.ts +5 -4
- package/src/hooks/gsapDragCommit.test.ts +75 -164
- package/src/hooks/gsapDragCommit.ts +4 -125
- package/src/hooks/gsapDragPositionCommit.ts +36 -384
- package/src/hooks/gsapEditOutcome.ts +22 -2
- package/src/hooks/gsapGestureOutcome.test.ts +161 -0
- package/src/hooks/gsapGestureOutcome.ts +64 -0
- package/src/hooks/gsapGroupPreflight.ts +34 -0
- package/src/hooks/gsapKeyframeCommit.ts +3 -12
- package/src/hooks/gsapMutationClient.ts +4 -3
- package/src/hooks/gsapParsedTween.test-helpers.ts +75 -0
- package/src/hooks/gsapParsedTween.test.ts +62 -0
- package/src/hooks/gsapParsedTween.ts +243 -0
- package/src/hooks/gsapPositionDetection.test.ts +78 -0
- package/src/hooks/gsapPositionDetection.ts +52 -33
- package/src/hooks/gsapResizeDropPoint.test.ts +4 -3
- package/src/hooks/gsapResizeElementSize.test.tsx +1 -0
- package/src/hooks/gsapResizeGeometrySweep.test.ts +13 -25
- package/src/hooks/gsapResizeIntercept.test.ts +96 -11
- package/src/hooks/gsapResizeIntercept.ts +79 -168
- package/src/hooks/gsapResizeSweep.test.ts +16 -33
- package/src/hooks/gsapRuntimeBridge.sharedTween.test.ts +6 -8
- package/src/hooks/gsapRuntimeBridge.test.ts +41 -6
- package/src/hooks/gsapRuntimeBridge.ts +105 -131
- package/src/hooks/gsapScriptCommitHelpers.ts +2 -1
- package/src/hooks/gsapScriptCommitTypes.ts +13 -0
- package/src/hooks/gsapShared.ts +7 -0
- package/src/hooks/gsapShared.writeTarget.test.ts +45 -57
- package/src/hooks/gsapValueAtPlayhead.browser.test.ts +83 -0
- package/src/hooks/gsapValueAtPlayhead.realGsap.test.ts +179 -0
- package/src/hooks/gsapValueAtPlayhead.test.ts +552 -0
- package/src/hooks/gsapValueAtPlayhead.ts +292 -0
- package/src/hooks/gsapWholePropertyOffsetCommit.test.ts +43 -0
- package/src/hooks/gsapWholePropertyOffsetCommit.ts +2 -3
- package/src/hooks/keyframeCacheAstLoad.ts +8 -6
- package/src/hooks/newTweenTarget.test.ts +41 -76
- package/src/hooks/plainRotation.ts +3 -2
- package/src/hooks/previewPromotionSelection.test.tsx +1 -1
- package/src/hooks/refreshTimelineRowText.test.ts +65 -0
- package/src/hooks/refreshTimelineRowText.ts +29 -0
- package/src/hooks/timelineTimingSync.test.ts +1 -0
- package/src/hooks/timelineTimingSync.ts +2 -1
- package/src/hooks/useAnimatedPropertyCommit.test.tsx +46 -5
- package/src/hooks/useAnimatedPropertyCommit.ts +2 -2
- package/src/hooks/useAskAgentModal.ts +2 -1
- package/src/hooks/useBlockCatalog.ts +2 -1
- package/src/hooks/useBlockedTimelineEditToast.ts +12 -3
- package/src/hooks/useCaptionDetection.ts +2 -1
- package/src/hooks/useCompositionContentLoader.ts +2 -1
- package/src/hooks/useDomEditCommitsHelpers.ts +3 -2
- package/src/hooks/useDomEditPositionPatchCommit.ts +18 -23
- package/src/hooks/useDomEditSession.test.tsx +30 -1
- package/src/hooks/useDomEditSession.ts +10 -0
- package/src/hooks/useDomEditTextCommits.test.tsx +41 -0
- package/src/hooks/useDomEditTextCommits.ts +13 -3
- package/src/hooks/useDomEditWiring.ts +4 -2
- package/src/hooks/useDomGeometryCommit.test.tsx +25 -6
- package/src/hooks/useDomGeometryCommit.ts +8 -4
- package/src/hooks/useDomGeometryCommits.test.tsx +1 -0
- package/src/hooks/useDomGeometryCommits.ts +3 -2
- package/src/hooks/useDomSelection.test.ts +26 -0
- package/src/hooks/useDomSelection.ts +10 -3
- package/src/hooks/useDomSelectionTypes.ts +6 -1
- package/src/hooks/useEditHistoryActions.paint.test.tsx +82 -20
- package/src/hooks/useEditHistoryActions.test.tsx +15 -0
- package/src/hooks/useEditHistoryActions.ts +16 -5
- package/src/hooks/useElementLifecycleOps.ts +2 -1
- package/src/hooks/useEnableKeyframes.test.ts +34 -3
- package/src/hooks/useEnableKeyframes.ts +7 -4
- package/src/hooks/useExternalFileChangeCoordinator.test.tsx +121 -0
- package/src/hooks/useExternalFileChangeCoordinator.ts +35 -8
- package/src/hooks/useFileManager.projectOwnership.test.tsx +6 -1
- package/src/hooks/useFileManager.ts +14 -10
- package/src/hooks/useFileTree.ts +3 -2
- package/src/hooks/useFrameCapture.ts +5 -1
- package/src/hooks/useFreezeFrame.ts +3 -2
- package/src/hooks/useGestureCommit.test.tsx +225 -55
- package/src/hooks/useGestureCommit.ts +86 -55
- package/src/hooks/useGroupCommits.ts +2 -1
- package/src/hooks/useGsapAwareEditing.groupPlan.test.tsx +160 -0
- package/src/hooks/useGsapAwareEditing.test.tsx +28 -35
- package/src/hooks/useGsapAwareEditing.testHelpers.tsx +42 -0
- package/src/hooks/useGsapAwareEditing.ts +101 -195
- package/src/hooks/useGsapAwareGroupMove.ts +179 -0
- package/src/hooks/useGsapInteractionFailureTelemetry.ts +10 -4
- package/src/hooks/useGsapKeyframeOps.sdkUsage.test.tsx +114 -0
- package/src/hooks/useGsapKeyframeOps.ts +36 -10
- package/src/hooks/useGsapScriptCommits.test.tsx +60 -1
- package/src/hooks/useGsapScriptCommits.ts +15 -10
- package/src/hooks/useGsapSelectionHandlers.test.tsx +1 -1
- package/src/hooks/useGsapSelectionHandlers.ts +24 -18
- package/src/hooks/useGsapTweenCache.ts +18 -12
- package/src/hooks/useLintModal.ts +2 -1
- package/src/hooks/usePersistentEditHistory.test.ts +277 -1
- package/src/hooks/usePersistentEditHistory.ts +47 -8
- package/src/hooks/usePopulateKeyframeCacheForFile.test.tsx +76 -2
- package/src/hooks/usePreviewInteraction.test.ts +21 -0
- package/src/hooks/usePreviewInteraction.ts +2 -0
- package/src/hooks/usePreviewPersistence.history.test.tsx +14 -3
- package/src/hooks/usePreviewPersistence.ts +13 -11
- package/src/hooks/useProjectFileWriter.ts +20 -19
- package/src/hooks/useRemoveBackground.ts +2 -1
- package/src/hooks/useRenderClipContent.test.ts +18 -0
- package/src/hooks/useRenderClipContent.ts +4 -5
- package/src/hooks/useSdkSession.ts +2 -1
- package/src/hooks/useServerConnection.ts +4 -3
- package/src/hooks/useStudioSelectionPublisher.ts +2 -1
- package/src/hooks/useThumbnailStill.test.ts +100 -0
- package/src/hooks/useThumbnailStill.ts +37 -0
- package/src/hooks/useTimelineDeleteOps.test.tsx +30 -22
- package/src/hooks/useTimelineDeleteOps.ts +22 -27
- package/src/hooks/useTimelineEditing.test.tsx +1 -1
- package/src/index.ts +4 -0
- package/src/player/components/AudioWaveform.tsx +3 -2
- package/src/player/components/AutomationSelectionMenu.tsx +3 -2
- package/src/player/components/ClipContextMenu.test.tsx +73 -0
- package/src/player/components/ClipContextMenu.tsx +33 -31
- package/src/player/components/CompositionThumbnail.tsx +2 -1
- package/src/player/components/KeyframeDiamondContextMenu.tsx +8 -9
- package/src/player/components/OutOfSyncBadge.tsx +5 -5
- package/src/player/components/TextClipContent.test.ts +19 -0
- package/src/player/components/TextClipContent.tsx +27 -0
- package/src/player/components/TrackGapContextMenu.tsx +3 -6
- package/src/player/components/clipMenuNormalize.ts +2 -1
- package/src/player/components/clipMenuToolItems.test.tsx +23 -0
- package/src/player/components/clipMenuToolItems.tsx +13 -9
- package/src/player/components/clipPeakMap.ts +2 -1
- package/src/player/components/timelineCallbacks.ts +1 -0
- package/src/player/components/timelineClipDragGestureLifecycle.ts +1 -1
- package/src/player/components/timelineClipGestureHandlers.test.ts +94 -0
- package/src/player/components/timelineClipGestureHandlers.ts +20 -2
- package/src/player/components/timelineEditing.ts +3 -1
- package/src/player/components/timelineLinkSelection.ts +35 -1
- package/src/player/components/useTimelineClipDrag.keyboard.test.tsx +14 -0
- package/src/player/components/useTimelineClipDrag.ts +6 -7
- package/src/player/hooks/timelinePlayerSync.test.ts +6 -0
- package/src/player/hooks/timelinePlayerSync.ts +6 -1
- package/src/player/hooks/useTimelinePlayer.ts +5 -1
- package/src/player/lib/thumbnailScheduler.test.ts +16 -0
- package/src/player/lib/thumbnailScheduler.ts +10 -2
- package/src/player/lib/timelineElementHelpers.test.ts +87 -1
- package/src/player/lib/timelineElementHelpers.ts +6 -15
- package/src/player/lib/timelineText.ts +40 -0
- package/src/player/sceneSwap.ts +2 -1
- package/src/player/store/timelineElement.ts +12 -0
- package/src/styles/theme.css +3 -0
- package/src/telemetry/client.ts +2 -1
- package/src/utils/blockInstaller.ts +2 -1
- package/src/utils/elementGsap.test.ts +9 -0
- package/src/utils/elementGsap.ts +7 -0
- package/src/utils/gsapSoftReload.ts +2 -3
- package/src/utils/gsapUndoRestore.browser.test.ts +51 -45
- package/src/utils/gsapUndoRestore.ts +3 -6
- package/src/utils/keyframeUsage.ts +79 -0
- package/src/utils/previewFeatureUsage.test.ts +32 -0
- package/src/utils/previewFeatureUsage.ts +46 -0
- package/src/utils/previewPrefetch.ts +2 -1
- package/src/utils/razorSplitTransaction.ts +12 -8
- package/src/utils/softReloadTargets.ts +1 -3
- package/src/utils/studioApiFetch.test.ts +75 -0
- package/src/utils/studioApiFetch.ts +13 -0
- package/src/utils/studioFileHistory.ts +4 -1
- package/src/utils/studioHelpers.ts +7 -1
- package/src/utils/studioPendingEdits.test.ts +23 -6
- package/src/utils/studioPendingEdits.ts +32 -8
- package/src/utils/studioTelemetry.test.ts +107 -0
- package/src/utils/studioTelemetry.ts +51 -5
- package/src/utils/timelineCompositionInsert.ts +3 -2
- package/src/webmcp/StudioAgentTools.tsx +4 -3
- package/dist/chunk-BIUXP3PG.js.map +0 -1
- package/dist/chunk-K47E2ZJA.js.map +0 -1
- /package/dist/{chunk-VWT7STY3.js.map → chunk-J6Q572FA.js.map} +0 -0
- /package/dist/{domEditingLayers-V67MS4WP.js.map → domEditingLayers-OL7GLSS4.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -386,6 +386,16 @@ interface TimelineElement {
|
|
|
386
386
|
authoredStartIsMasterTime?: boolean;
|
|
387
387
|
/** Legacy marker for an inline sub-composition child; current rows never set it. */
|
|
388
388
|
expandedHostKey?: string;
|
|
389
|
+
/** A text layer's words and look, which its row draws live instead of a captured picture. */
|
|
390
|
+
text?: TimelineText;
|
|
391
|
+
}
|
|
392
|
+
interface TimelineText {
|
|
393
|
+
value: string;
|
|
394
|
+
fontFamily?: string;
|
|
395
|
+
fontWeight?: string;
|
|
396
|
+
color?: string;
|
|
397
|
+
/** The layer's own opaque background colour, when it paints one. */
|
|
398
|
+
background?: string;
|
|
389
399
|
}
|
|
390
400
|
/**
|
|
391
401
|
* The fields `updateElement` may write.
|
|
@@ -399,7 +409,7 @@ interface TimelineElement {
|
|
|
399
409
|
* write has to be able to land here or the header goes on rendering whatever it
|
|
400
410
|
* parsed at load.
|
|
401
411
|
*/
|
|
402
|
-
type TimelineElementPatch = Partial<Pick<TimelineElement, "start" | "duration" | "track" | "zIndex" | "hasExplicitZIndex" | "playbackStart" | "hidden" | "audioGroup" | "audioGroupLabel" | "audioGroupVolume" | "audioGroupHidden" | "audioGroupFxChain" | "audioGroupAutomation">>;
|
|
412
|
+
type TimelineElementPatch = Partial<Pick<TimelineElement, "start" | "duration" | "track" | "zIndex" | "hasExplicitZIndex" | "playbackStart" | "hidden" | "audioGroup" | "audioGroupLabel" | "audioGroupVolume" | "audioGroupHidden" | "audioGroupFxChain" | "audioGroupAutomation" | "text">>;
|
|
403
413
|
/**
|
|
404
414
|
* The `data-*` state an expanded sub-composition child needs but cannot reach.
|
|
405
415
|
*
|
|
@@ -805,7 +815,7 @@ interface TimelineStackingReorderIntent {
|
|
|
805
815
|
zIndexChanges: TimelineStackingZIndexChange[];
|
|
806
816
|
}
|
|
807
817
|
|
|
808
|
-
type BlockedTimelineEditIntent = "move" | "resize-start" | "resize-end";
|
|
818
|
+
type BlockedTimelineEditIntent = "move" | "edit-many" | "resize-start" | "resize-end";
|
|
809
819
|
interface TimelineRangeSelection {
|
|
810
820
|
start: number;
|
|
811
821
|
end: number;
|
|
@@ -926,9 +936,12 @@ type RuntimeTweenChange = {
|
|
|
926
936
|
props: SetPatchProps;
|
|
927
937
|
};
|
|
928
938
|
|
|
939
|
+
type KeyframeUsageAction = "add" | "convert" | "remove_all" | "reset";
|
|
940
|
+
|
|
929
941
|
interface MutationResult {
|
|
930
942
|
ok: boolean;
|
|
931
943
|
changed?: boolean;
|
|
944
|
+
mutationChanges?: boolean[];
|
|
932
945
|
parsed?: ParsedGsap;
|
|
933
946
|
before?: string;
|
|
934
947
|
after?: string;
|
|
@@ -936,6 +949,9 @@ interface MutationResult {
|
|
|
936
949
|
}
|
|
937
950
|
interface CommitMutationOptions {
|
|
938
951
|
label: string;
|
|
952
|
+
keyframeTelemetry?: boolean;
|
|
953
|
+
keyframeAction?: KeyframeUsageAction;
|
|
954
|
+
keyframeProperty?: string;
|
|
939
955
|
/** Observe the durable writer result without duplicating the request path. */
|
|
940
956
|
onResult?: (result: MutationResult) => void;
|
|
941
957
|
coalesceKey?: string;
|
|
@@ -1143,6 +1159,7 @@ interface TimelineEditCallbacks {
|
|
|
1143
1159
|
onRazorSplit?: (element: TimelineElement, splitTime: number) => Promise<void> | void;
|
|
1144
1160
|
onRazorSplitAll?: (splitTime: number) => Promise<void> | void;
|
|
1145
1161
|
onFreezeFrame?: (element: TimelineElement, time: number) => Promise<void> | void;
|
|
1162
|
+
clipMenuTools?: boolean;
|
|
1146
1163
|
onNotice?: (message: string, tone?: "error" | "info") => void;
|
|
1147
1164
|
onDeleteKeyframe?: (elementId: string, keyframe: TimelineKeyframeTarget) => void;
|
|
1148
1165
|
onDeleteAllKeyframes?: (element: TimelineElement, animationId?: string) => void;
|
|
@@ -2015,9 +2032,31 @@ interface PreviewCompositionSize {
|
|
|
2015
2032
|
height: number;
|
|
2016
2033
|
}
|
|
2017
2034
|
|
|
2018
|
-
interface
|
|
2035
|
+
interface CompositionLevel {
|
|
2036
|
+
/** Unique id — "master" or composition file path */
|
|
2037
|
+
id: string;
|
|
2038
|
+
/** Display label — "Master" or filename without extension */
|
|
2039
|
+
label: string;
|
|
2040
|
+
/** Preview URL for this composition level */
|
|
2041
|
+
previewUrl: string;
|
|
2042
|
+
}
|
|
2043
|
+
interface CompositionBreadcrumbProps {
|
|
2044
|
+
stack: CompositionLevel[];
|
|
2045
|
+
onNavigate: (index: number) => void;
|
|
2046
|
+
}
|
|
2047
|
+
declare function CompositionBreadcrumb({ stack, onNavigate }: CompositionBreadcrumbProps): react_jsx_runtime.JSX.Element | null;
|
|
2048
|
+
|
|
2049
|
+
interface NLEContextValue {
|
|
2019
2050
|
projectId: string;
|
|
2020
|
-
iframeRef:
|
|
2051
|
+
iframeRef: React.MutableRefObject<HTMLIFrameElement | null>;
|
|
2052
|
+
play: () => void;
|
|
2053
|
+
pause: () => void;
|
|
2054
|
+
togglePlay: () => void;
|
|
2055
|
+
seek: (time: number, options?: {
|
|
2056
|
+
keepPlaying?: boolean;
|
|
2057
|
+
follow?: boolean;
|
|
2058
|
+
}) => boolean;
|
|
2059
|
+
refreshPlayer: () => void;
|
|
2021
2060
|
onIframeLoad: () => void;
|
|
2022
2061
|
previewSlots: PreviewIframeSlot[];
|
|
2023
2062
|
onShadowIframeLoad: (gen: number) => void;
|
|
@@ -2025,6 +2064,29 @@ interface NLEPreviewProps {
|
|
|
2025
2064
|
onShadowError: (gen: number, message: string) => void;
|
|
2026
2065
|
setShadowIframeNode: (node: HTMLIFrameElement | null) => void;
|
|
2027
2066
|
resetPreviewSlots: () => void;
|
|
2067
|
+
containerRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
2068
|
+
compositionStack: CompositionLevel[];
|
|
2069
|
+
updateCompositionStack: React.Dispatch<React.SetStateAction<CompositionLevel[]>>;
|
|
2070
|
+
handleNavigateComposition: (index: number) => void;
|
|
2071
|
+
handleDrillDown: (element: TimelineElement) => void;
|
|
2072
|
+
compIdToSrc: Map<string, string>;
|
|
2073
|
+
compositionLoading: boolean;
|
|
2074
|
+
setCompositionLoading: (loading: boolean) => void;
|
|
2075
|
+
timelineDisabled: boolean;
|
|
2076
|
+
timelineSessionEpoch: number;
|
|
2077
|
+
hasLoadedOnceRef: React.MutableRefObject<boolean>;
|
|
2078
|
+
previewCompositionSize: {
|
|
2079
|
+
width: number;
|
|
2080
|
+
height: number;
|
|
2081
|
+
} | null;
|
|
2082
|
+
setPreviewCompositionSize: (size: {
|
|
2083
|
+
width: number;
|
|
2084
|
+
height: number;
|
|
2085
|
+
} | null) => void;
|
|
2086
|
+
}
|
|
2087
|
+
|
|
2088
|
+
interface NLEPreviewProps extends Pick<NLEContextValue, "projectId" | "onIframeLoad" | "previewSlots" | "onShadowIframeLoad" | "onShadowReadyChange" | "onShadowError" | "setShadowIframeNode" | "resetPreviewSlots"> {
|
|
2089
|
+
iframeRef: RefObject<HTMLIFrameElement | null>;
|
|
2028
2090
|
onCompositionLoadingChange?: (loading: boolean) => void;
|
|
2029
2091
|
portrait?: boolean;
|
|
2030
2092
|
directUrl?: string;
|
|
@@ -2044,20 +2106,6 @@ interface ShortcutsButtonProps {
|
|
|
2044
2106
|
}
|
|
2045
2107
|
declare function ShortcutsButton({ sections, disabled, onSeek }: ShortcutsButtonProps): react_jsx_runtime.JSX.Element;
|
|
2046
2108
|
|
|
2047
|
-
interface CompositionLevel {
|
|
2048
|
-
/** Unique id — "master" or composition file path */
|
|
2049
|
-
id: string;
|
|
2050
|
-
/** Display label — "Master" or filename without extension */
|
|
2051
|
-
label: string;
|
|
2052
|
-
/** Preview URL for this composition level */
|
|
2053
|
-
previewUrl: string;
|
|
2054
|
-
}
|
|
2055
|
-
interface CompositionBreadcrumbProps {
|
|
2056
|
-
stack: CompositionLevel[];
|
|
2057
|
-
onNavigate: (index: number) => void;
|
|
2058
|
-
}
|
|
2059
|
-
declare function CompositionBreadcrumb({ stack, onNavigate }: CompositionBreadcrumbProps): react_jsx_runtime.JSX.Element | null;
|
|
2060
|
-
|
|
2061
2109
|
interface UseCompositionStackOptions {
|
|
2062
2110
|
projectId: string;
|
|
2063
2111
|
activeCompositionPath?: string | null;
|
|
@@ -2226,6 +2274,21 @@ declare function useRenderClipContent({ projectIdRef, compIdToSrc, activePreview
|
|
|
2226
2274
|
label: string;
|
|
2227
2275
|
}, context?: TimelineClipRenderContext) => ReactNode;
|
|
2228
2276
|
|
|
2277
|
+
interface UseThumbnailStillOptions {
|
|
2278
|
+
sessionEpoch?: number;
|
|
2279
|
+
priority?: ThumbnailPriority;
|
|
2280
|
+
}
|
|
2281
|
+
type ThumbnailStill = {
|
|
2282
|
+
status: "loading";
|
|
2283
|
+
} | {
|
|
2284
|
+
status: "ready";
|
|
2285
|
+
url: string;
|
|
2286
|
+
} | {
|
|
2287
|
+
status: "failed";
|
|
2288
|
+
};
|
|
2289
|
+
/** A host picture's server still through the thumbnail scheduler, so it yields to a preview reload. */
|
|
2290
|
+
declare function useThumbnailStill(url: string | null, projectId: string, { sessionEpoch, priority }?: UseThumbnailStillOptions): ThumbnailStill;
|
|
2291
|
+
|
|
2229
2292
|
interface DomEditCompositionRect {
|
|
2230
2293
|
left: number;
|
|
2231
2294
|
top: number;
|
|
@@ -2293,6 +2356,11 @@ interface SourceEditorProps {
|
|
|
2293
2356
|
}
|
|
2294
2357
|
declare const SourceEditor: react.NamedExoticComponent<SourceEditorProps>;
|
|
2295
2358
|
|
|
2359
|
+
interface GeometryCommitResult {
|
|
2360
|
+
ok: true;
|
|
2361
|
+
changed: boolean;
|
|
2362
|
+
}
|
|
2363
|
+
|
|
2296
2364
|
/**
|
|
2297
2365
|
* Edit callbacks shared by GsapAnimationSection and each AnimationCard it
|
|
2298
2366
|
* renders. Extracted so the two prop interfaces don't duplicate the (large)
|
|
@@ -2391,14 +2459,14 @@ interface PropertyPanelProps {
|
|
|
2391
2459
|
y: number;
|
|
2392
2460
|
}, route?: {
|
|
2393
2461
|
plainTranslate: boolean;
|
|
2394
|
-
}) => void | Promise<void>;
|
|
2462
|
+
}) => void | Promise<void | GeometryCommitResult>;
|
|
2395
2463
|
onSetManualSize: (element: DomEditSelection, next: {
|
|
2396
2464
|
width: number;
|
|
2397
2465
|
height: number;
|
|
2398
|
-
}) => void | Promise<void>;
|
|
2466
|
+
}) => void | Promise<void | GeometryCommitResult>;
|
|
2399
2467
|
onSetManualRotation: (element: DomEditSelection, next: {
|
|
2400
2468
|
angle: number;
|
|
2401
|
-
}) => void | Promise<void>;
|
|
2469
|
+
}) => void | Promise<void | GeometryCommitResult>;
|
|
2402
2470
|
onSetText: (value: string, fieldKey?: string) => void;
|
|
2403
2471
|
onSetTextFieldStyle: (fieldKey: string, property: string, value: string) => void;
|
|
2404
2472
|
onPreviewTextFieldStyle?: (fieldKey: string, property: string, value: string) => void;
|
|
@@ -2711,6 +2779,7 @@ interface RecordEditInput$4 {
|
|
|
2711
2779
|
interface ApplyCallbacks {
|
|
2712
2780
|
readFile: (path: string) => Promise<string>;
|
|
2713
2781
|
serialize?: <T>(paths: readonly string[], task: () => Promise<T>) => Promise<T>;
|
|
2782
|
+
claimedAfter?: number;
|
|
2714
2783
|
}
|
|
2715
2784
|
interface UsePersistentEditHistoryOptions {
|
|
2716
2785
|
projectId: string | null;
|
|
@@ -2749,6 +2818,7 @@ declare function usePersistentEditHistory({ projectId }: UsePersistentEditHistor
|
|
|
2749
2818
|
id: string;
|
|
2750
2819
|
files: RestoreFiles;
|
|
2751
2820
|
} | null;
|
|
2821
|
+
claims: () => number;
|
|
2752
2822
|
noteOutsideChange: () => void;
|
|
2753
2823
|
};
|
|
2754
2824
|
|
|
@@ -2793,7 +2863,7 @@ declare function useTimelineEditing({ projectId, activeCompPath, timelineElement
|
|
|
2793
2863
|
handleTimelineAssetDrop: (assetPath: string, placement: TimelineDropPlacement, durationOverride?: number | undefined) => Promise<void>;
|
|
2794
2864
|
handleTimelineFileDrop: (files: File[], placement?: TimelineDropPlacement | undefined) => Promise<void>;
|
|
2795
2865
|
handleTimelineCompositionDrop: (sourcePath: string, placement: Pick<TimelineElement, "track" | "start">) => Promise<void>;
|
|
2796
|
-
handleBlockedTimelineEdit: (element: TimelineElement) => void;
|
|
2866
|
+
handleBlockedTimelineEdit: (element: TimelineElement, intent: BlockedTimelineEditIntent) => void;
|
|
2797
2867
|
handleTimelineGroupMove: (changes: TimelineGroupMoveChange[], options?: TimelineGroupCommitOptions | undefined) => Promise<void>;
|
|
2798
2868
|
handleTimelineGroupResize: (changes: TimelineGroupResizeChange[], options?: TimelineGroupCommitOptions | undefined) => Promise<void>;
|
|
2799
2869
|
restoreLiveLanes: (restore: Parameters<(restore: LiveLaneRestore) => void>[0]) => void;
|
|
@@ -2830,7 +2900,9 @@ type StudioSaveDrainResult<Failure = unknown> = {
|
|
|
2830
2900
|
|
|
2831
2901
|
type StudioPendingEditsDrainResult = StudioSaveDrainResult;
|
|
2832
2902
|
declare function revertNewestStudioPendingEdit(): (() => void) | null;
|
|
2833
|
-
declare function flushStudioPendingEdits(
|
|
2903
|
+
declare function flushStudioPendingEdits({ onlyCurrent, }?: {
|
|
2904
|
+
onlyCurrent?: boolean | undefined;
|
|
2905
|
+
}): Promise<StudioPendingEditsDrainResult>;
|
|
2834
2906
|
|
|
2835
2907
|
interface HistoryResult {
|
|
2836
2908
|
ok: boolean;
|
|
@@ -2845,6 +2917,7 @@ interface HistoryResult {
|
|
|
2845
2917
|
interface HistoryFileCallbacks {
|
|
2846
2918
|
readFile: (path: string) => Promise<string>;
|
|
2847
2919
|
serialize?: <T>(paths: readonly string[], task: () => Promise<T>) => Promise<T>;
|
|
2920
|
+
claimedAfter?: number;
|
|
2848
2921
|
}
|
|
2849
2922
|
interface EditHistoryHandle {
|
|
2850
2923
|
undo: (cb: HistoryFileCallbacks) => Promise<HistoryResult>;
|
|
@@ -2853,6 +2926,7 @@ interface EditHistoryHandle {
|
|
|
2853
2926
|
id: string;
|
|
2854
2927
|
files: RestoreFiles;
|
|
2855
2928
|
} | null;
|
|
2929
|
+
claims?: () => number;
|
|
2856
2930
|
state: {
|
|
2857
2931
|
undo: ReadonlyArray<{
|
|
2858
2932
|
createdAt: number;
|
|
@@ -2863,7 +2937,7 @@ interface EditHistoryHandle {
|
|
|
2863
2937
|
};
|
|
2864
2938
|
}
|
|
2865
2939
|
interface UseEditHistoryActionsOptions {
|
|
2866
|
-
editHistory: Pick<EditHistoryHandle, "undo" | "redo" | "predict">;
|
|
2940
|
+
editHistory: Pick<EditHistoryHandle, "undo" | "redo" | "predict" | "claims">;
|
|
2867
2941
|
readOptionalProjectFile: (path: string) => Promise<string>;
|
|
2868
2942
|
readProjectFile: (path: string) => Promise<string>;
|
|
2869
2943
|
writeProjectFile: (path: string, content: string) => Promise<void>;
|
|
@@ -3190,6 +3264,10 @@ interface SnapGuideOverlayProps {
|
|
|
3190
3264
|
}
|
|
3191
3265
|
declare const SnapGuideOverlay: react.NamedExoticComponent<SnapGuideOverlayProps>;
|
|
3192
3266
|
|
|
3267
|
+
interface DomSelectionResult {
|
|
3268
|
+
changed: boolean;
|
|
3269
|
+
count: number;
|
|
3270
|
+
}
|
|
3193
3271
|
interface ApplyDomSelectionOptions {
|
|
3194
3272
|
revealPanel?: boolean;
|
|
3195
3273
|
additive?: boolean;
|
|
@@ -3250,6 +3328,7 @@ type DomEditCommitDeclineReason = "no-project" | "no-selection" | "geometry-prop
|
|
|
3250
3328
|
type DomEditCommitOutcome = {
|
|
3251
3329
|
ok: true;
|
|
3252
3330
|
persistence?: DomEditPersistOutcome;
|
|
3331
|
+
changed?: boolean;
|
|
3253
3332
|
} | {
|
|
3254
3333
|
ok: false;
|
|
3255
3334
|
reason: DomEditCommitDeclineReason;
|
|
@@ -3273,6 +3352,15 @@ interface RecordEditInput$2 {
|
|
|
3273
3352
|
}>;
|
|
3274
3353
|
}
|
|
3275
3354
|
|
|
3355
|
+
interface DomGroupMove {
|
|
3356
|
+
selection: DomEditSelection;
|
|
3357
|
+
/** Composition px: the element's box moves by exactly this in the film. */
|
|
3358
|
+
delta: {
|
|
3359
|
+
x: number;
|
|
3360
|
+
y: number;
|
|
3361
|
+
};
|
|
3362
|
+
}
|
|
3363
|
+
|
|
3276
3364
|
interface UseDomEditSessionParams extends DomEditTimelineParams {
|
|
3277
3365
|
compositionLoading: boolean;
|
|
3278
3366
|
showToast: (message: string, tone?: "error" | "info") => void;
|
|
@@ -3326,7 +3414,7 @@ declare function useDomEditSession({ projectId, activeCompPath, compIdToSrc, cap
|
|
|
3326
3414
|
clearDomSelection: () => void;
|
|
3327
3415
|
refreshDomEditSelectionFromPreview: (selection: DomEditSelection) => Promise<void>;
|
|
3328
3416
|
handleDomStyleCommit: (property: string, value: string) => Promise<DomEditCommitOutcome>;
|
|
3329
|
-
handleDomStyleCommitForSelection: (selection: DomEditSelection,
|
|
3417
|
+
handleDomStyleCommitForSelection: (selection: DomEditSelection, propertyOrStylesAsOnePatch: string | Record<string, string>, value?: string) => Promise<DomEditCommitOutcome>;
|
|
3330
3418
|
handleDomAttributeCommit: (attr: string, value: string) => Promise<void>;
|
|
3331
3419
|
handleDomAttributeLiveCommit: (attr: string, value: string | null, onSettled?: (ok: boolean) => void, live?: {
|
|
3332
3420
|
previewOnly?: boolean;
|
|
@@ -3338,8 +3426,11 @@ declare function useDomEditSession({ projectId, activeCompPath, compIdToSrc, cap
|
|
|
3338
3426
|
handleDomPathOffsetCommit: (selection: DomEditSelection, next: {
|
|
3339
3427
|
x: number;
|
|
3340
3428
|
y: number;
|
|
3341
|
-
}, modifiers?: MoveCommitOptions) => Promise<
|
|
3342
|
-
handleDomGroupPathOffsetCommit: (updates: DomEditGroupPathOffsetCommit[]
|
|
3429
|
+
}, modifiers?: MoveCommitOptions) => Promise<GeometryCommitResult | undefined>;
|
|
3430
|
+
handleDomGroupPathOffsetCommit: (updates: DomEditGroupPathOffsetCommit[], options?: {
|
|
3431
|
+
refusalToast?: boolean;
|
|
3432
|
+
}) => Promise<GeometryCommitResult>;
|
|
3433
|
+
handleDomGroupMoveBy: (moves: DomGroupMove[]) => Promise<void>;
|
|
3343
3434
|
handleDomZIndexReorderCommit: (entries: Array<{
|
|
3344
3435
|
element: HTMLElement;
|
|
3345
3436
|
zIndex: number;
|
|
@@ -3355,9 +3446,9 @@ declare function useDomEditSession({ projectId, activeCompPath, compIdToSrc, cap
|
|
|
3355
3446
|
}, offset?: {
|
|
3356
3447
|
x: number;
|
|
3357
3448
|
y: number;
|
|
3358
|
-
}, restore?: () => void) => Promise<
|
|
3359
|
-
handleDomRotationCommit: (selection: DomEditSelection, next: RotationCommit) => Promise<
|
|
3360
|
-
handleDomManualEditsReset: (selection: DomEditSelection) => Promise<
|
|
3449
|
+
}, restore?: () => void) => Promise<GeometryCommitResult>;
|
|
3450
|
+
handleDomRotationCommit: (selection: DomEditSelection, next: RotationCommit) => Promise<GeometryCommitResult | undefined>;
|
|
3451
|
+
handleDomManualEditsReset: (selection: DomEditSelection) => Promise<DomEditPersistOutcome | undefined>;
|
|
3361
3452
|
handleDomTextCommit: (value: string, fieldKey?: string) => Promise<DomEditCommitOutcome>;
|
|
3362
3453
|
handleDomTextCommitForSelection: (selection: DomEditSelection, value: string, fieldKey?: string) => Promise<DomEditCommitOutcome>;
|
|
3363
3454
|
handleDomRichTextCommit: ({ element, html, previousHtml }: InlineTextEditCommit) => Promise<void>;
|
|
@@ -3378,7 +3469,7 @@ declare function useDomEditSession({ projectId, activeCompPath, compIdToSrc, cap
|
|
|
3378
3469
|
buildDomSelectionFromTarget: (target: HTMLElement, options?: ResolveDomSelectionOptions) => Promise<DomEditSelection | null>;
|
|
3379
3470
|
buildDomSelectionForTimelineElement: (element: TimelineElement) => Promise<DomEditSelection | null>;
|
|
3380
3471
|
updateDomEditHoverSelection: (selection: DomEditSelection | null) => void;
|
|
3381
|
-
applyMarqueeSelection: (selections: DomEditSelection[], additive: boolean) =>
|
|
3472
|
+
applyMarqueeSelection: (selections: DomEditSelection[], additive: boolean) => DomSelectionResult;
|
|
3382
3473
|
resolveImportedFontAsset: (fontFamilyValue: string) => ImportedFontAsset | null;
|
|
3383
3474
|
setAgentModalOpen: react.Dispatch<react.SetStateAction<boolean>>;
|
|
3384
3475
|
setAgentPromptSelectionContext: react.Dispatch<react.SetStateAction<string | undefined>>;
|
|
@@ -3410,7 +3501,7 @@ declare function useDomEditSession({ projectId, activeCompPath, compIdToSrc, cap
|
|
|
3410
3501
|
to: number;
|
|
3411
3502
|
}>, selectionOverride?: DomEditSelection | null) => Promise<boolean>;
|
|
3412
3503
|
handleGsapConvertToKeyframes: (animId: string, resolvedFromValues?: Record<string, number | string>, duration?: number, commitOverrides?: Partial<CommitMutationOptions>, selectionOverride?: DomEditSelection | null) => Promise<void>;
|
|
3413
|
-
handleGsapRemoveAllKeyframes: (animId: string, selectionOverride?: DomEditSelection | null) => Promise<boolean>;
|
|
3504
|
+
handleGsapRemoveAllKeyframes: (animId: string, selectionOverride?: DomEditSelection | null, telemetry?: boolean) => Promise<boolean>;
|
|
3414
3505
|
handleResetSelectedElementKeyframes: () => boolean;
|
|
3415
3506
|
handleUpdateKeyframeEase: (animationId: string, percentage: number, ease: string) => void;
|
|
3416
3507
|
handleUpdateSegmentEase: (targets: AnimationKeyframeTarget[], ease: string) => void;
|
|
@@ -3446,10 +3537,7 @@ declare function useDomEditSession({ projectId, activeCompPath, compIdToSrc, cap
|
|
|
3446
3537
|
handleUnroll: () => void;
|
|
3447
3538
|
invalidateGsapCache: () => void;
|
|
3448
3539
|
previewIframeRef: react.MutableRefObject<HTMLIFrameElement | null>;
|
|
3449
|
-
commitMutation: (mutation: Record<string, unknown>, options:
|
|
3450
|
-
label: string;
|
|
3451
|
-
softReload?: boolean;
|
|
3452
|
-
}) => Promise<void>;
|
|
3540
|
+
commitMutation: (mutation: Record<string, unknown>, options: CommitMutationOptions, selection?: DomEditSelection | null) => Promise<void>;
|
|
3453
3541
|
};
|
|
3454
3542
|
|
|
3455
3543
|
/** The one source for which preview is on screen: the host's iframe, then each reload promoted in its place. */
|
|
@@ -3520,7 +3608,7 @@ type DomEditValue = ReturnType<typeof useDomEditSession>;
|
|
|
3520
3608
|
interface DomEditSelectionValue extends Pick<DomEditValue, "domEditSelection" | "domEditGroupSelections" | "domEditHoverSelection" | "activeGroupElement" | "domEditSelectionRef" | "selectedGsapAnimations" | "gsapMultipleTimelines" | "gsapUnsupportedTimelinePattern" | "agentModalOpen" | "agentModalAnchorPoint" | "copiedAgentPrompt" | "agentPromptSelectionContext"> {
|
|
3521
3609
|
}
|
|
3522
3610
|
declare function useDomEditSelectionContext(): DomEditSelectionValue;
|
|
3523
|
-
declare function DomEditProvider({ value: { domEditSelection, domEditGroupSelections, domEditHoverSelection, agentModalOpen, agentModalAnchorPoint, copiedAgentPrompt, agentPromptSelectionContext, domEditSelectionRef, handleTimelineElementSelect, handlePreviewCanvasMouseDown, handlePreviewCanvasPointerMove, handlePreviewCanvasPointerLeave, applyDomSelection, clearDomSelection, refreshDomEditSelectionFromPreview, handleDomStyleCommit, handleDomStyleCommitForSelection, handleDomAttributeCommit, handleDomAttributeLiveCommit, handleDomAttributeQuietCommit, handleDomHtmlAttributeCommit, handleDomAttributesCommit, handleDomAttributeBatchCommit, handleDomPathOffsetCommit, handleDomGroupPathOffsetCommit, handleDomZIndexReorderCommit, handleDomBoxSizeCommit, handleDomRotationCommit, handleDomManualEditsReset, handleDomTextCommit, handleDomTextCommitForSelection, handleDomRichTextCommit, handleDomTextFieldStyleCommit, handleDomAddTextField, handleDomRemoveTextField, getGsapAnimationsForSelection, handleAskAgent, handleAgentModalSubmit, handleBlockedDomMove, handleDomManualDragStart, handleDomEditElementDelete, handleGroupSelection, handleUngroupSelection, setActiveGroupElement, activeGroupElement, buildDomSelectionFromTarget, buildDomSelectionForTimelineElement, updateDomEditHoverSelection, resolveImportedFontAsset, setAgentModalOpen, setAgentPromptSelectionContext, setAgentModalAnchorPoint, selectedGsapAnimations, gsapMultipleTimelines, gsapUnsupportedTimelinePattern, handleGsapUpdateProperty, handleGsapUpdateMeta, handleGsapDeleteAnimation, handleGsapDeleteAllForElement, handleGsapAddAnimation, handleGsapAddProperty, handleGsapRemoveProperty, handleGsapUpdateFromProperty, handleGsapAddFromProperty, handleGsapRemoveFromProperty, handleGsapAddKeyframe, handleGsapAddKeyframeBatch, handleGsapRemoveKeyframe, handleGsapMoveKeyframeToPlayhead, handleGsapMoveKeyframe, handleGsapResizeKeyframedTween, handleGsapConvertToKeyframes, handleGsapRemoveAllKeyframes, handleResetSelectedElementKeyframes, commitAnimatedProperty, commitAnimatedProperties, handleSetArcPath, handleUpdateArcSegment, handleUnroll, invalidateGsapCache, previewIframeRef, commitMutation, applyMarqueeSelection, handleUpdateKeyframeEase, handleUpdateSegmentEase, handleSetAllKeyframeEases, }, children, }: {
|
|
3611
|
+
declare function DomEditProvider({ value: { domEditSelection, domEditGroupSelections, domEditHoverSelection, agentModalOpen, agentModalAnchorPoint, copiedAgentPrompt, agentPromptSelectionContext, domEditSelectionRef, handleTimelineElementSelect, handlePreviewCanvasMouseDown, handlePreviewCanvasPointerMove, handlePreviewCanvasPointerLeave, applyDomSelection, clearDomSelection, refreshDomEditSelectionFromPreview, handleDomStyleCommit, handleDomStyleCommitForSelection, handleDomAttributeCommit, handleDomAttributeLiveCommit, handleDomAttributeQuietCommit, handleDomHtmlAttributeCommit, handleDomAttributesCommit, handleDomAttributeBatchCommit, handleDomPathOffsetCommit, handleDomGroupPathOffsetCommit, handleDomGroupMoveBy, handleDomZIndexReorderCommit, handleDomBoxSizeCommit, handleDomRotationCommit, handleDomManualEditsReset, handleDomTextCommit, handleDomTextCommitForSelection, handleDomRichTextCommit, handleDomTextFieldStyleCommit, handleDomAddTextField, handleDomRemoveTextField, getGsapAnimationsForSelection, handleAskAgent, handleAgentModalSubmit, handleBlockedDomMove, handleDomManualDragStart, handleDomEditElementDelete, handleGroupSelection, handleUngroupSelection, setActiveGroupElement, activeGroupElement, buildDomSelectionFromTarget, buildDomSelectionForTimelineElement, updateDomEditHoverSelection, resolveImportedFontAsset, setAgentModalOpen, setAgentPromptSelectionContext, setAgentModalAnchorPoint, selectedGsapAnimations, gsapMultipleTimelines, gsapUnsupportedTimelinePattern, handleGsapUpdateProperty, handleGsapUpdateMeta, handleGsapDeleteAnimation, handleGsapDeleteAllForElement, handleGsapAddAnimation, handleGsapAddProperty, handleGsapRemoveProperty, handleGsapUpdateFromProperty, handleGsapAddFromProperty, handleGsapRemoveFromProperty, handleGsapAddKeyframe, handleGsapAddKeyframeBatch, handleGsapRemoveKeyframe, handleGsapMoveKeyframeToPlayhead, handleGsapMoveKeyframe, handleGsapResizeKeyframedTween, handleGsapConvertToKeyframes, handleGsapRemoveAllKeyframes, handleResetSelectedElementKeyframes, commitAnimatedProperty, commitAnimatedProperties, handleSetArcPath, handleUpdateArcSegment, handleUnroll, invalidateGsapCache, previewIframeRef, commitMutation, applyMarqueeSelection, handleUpdateKeyframeEase, handleUpdateSegmentEase, handleSetAllKeyframeEases, }, children, }: {
|
|
3524
3612
|
value: DomEditValue;
|
|
3525
3613
|
children: ReactNode;
|
|
3526
3614
|
}): react_jsx_runtime.JSX.Element;
|
|
@@ -3620,7 +3708,7 @@ interface DomEditOverlayProps {
|
|
|
3620
3708
|
onStyleCommit?: (property: string, value: string) => Promise<unknown> | void;
|
|
3621
3709
|
recordingState?: GestureRecordingState;
|
|
3622
3710
|
onToggleRecording?: () => void;
|
|
3623
|
-
onMarqueeSelect?: (selections: DomEditSelection[], additive: boolean) => void;
|
|
3711
|
+
onMarqueeSelect?: (selections: DomEditSelection[], additive: boolean) => DomSelectionResult | void;
|
|
3624
3712
|
/**
|
|
3625
3713
|
* Delete the selected canvas element.
|
|
3626
3714
|
* Wire to handleDomEditElementDelete from useDomEditActionsContext —
|
|
@@ -3688,6 +3776,24 @@ declare function useDomStyleCommit({ projectId, iframeRef, writeProjectFile, rec
|
|
|
3688
3776
|
waitForPendingSaves: () => Promise<DomEditSaveDrainResult>;
|
|
3689
3777
|
};
|
|
3690
3778
|
|
|
3779
|
+
declare function ColorField({ label, value, disabled, onReset, flat, mixed, onPreview, onCommit, }: {
|
|
3780
|
+
label: string;
|
|
3781
|
+
value: string;
|
|
3782
|
+
disabled?: boolean;
|
|
3783
|
+
onReset?: () => void;
|
|
3784
|
+
flat?: boolean;
|
|
3785
|
+
mixed?: boolean;
|
|
3786
|
+
onPreview?: (nextValue: string) => void;
|
|
3787
|
+
onCommit: (nextValue: string) => void;
|
|
3788
|
+
}): react_jsx_runtime.JSX.Element;
|
|
3789
|
+
|
|
3790
|
+
declare function GradientField({ value, fallbackColor, disabled, onCommit, }: {
|
|
3791
|
+
value: string;
|
|
3792
|
+
fallbackColor: string | undefined;
|
|
3793
|
+
disabled?: boolean;
|
|
3794
|
+
onCommit: (nextValue: string) => void;
|
|
3795
|
+
}): react_jsx_runtime.JSX.Element;
|
|
3796
|
+
|
|
3691
3797
|
/**
|
|
3692
3798
|
* Studio's `Player` must show the project, with `beginTimelineSession(projectId)` run before it
|
|
3693
3799
|
* mounts; drain `waitForPendingSaves` before switching projects.
|
|
@@ -3722,7 +3828,7 @@ interface MarqueeGesturesDeps<T = DomEditSelection> {
|
|
|
3722
3828
|
iframeRef: React.RefObject<HTMLIFrameElement | null>;
|
|
3723
3829
|
overlayRef: React.RefObject<HTMLDivElement | null>;
|
|
3724
3830
|
activeCompositionPathRef: React.RefObject<string | null>;
|
|
3725
|
-
onMarqueeSelectRef: React.RefObject<((selections: T[], additive: boolean) => void) | undefined>;
|
|
3831
|
+
onMarqueeSelectRef: React.RefObject<((selections: T[], additive: boolean) => DomSelectionResult | void) | undefined>;
|
|
3726
3832
|
/** Turns the elements a drag touched into picks; without it, Studio's edit selections. */
|
|
3727
3833
|
resolveHits?: (elements: HTMLElement[]) => T[] | Promise<T[]>;
|
|
3728
3834
|
selectionRef?: React.RefObject<DomEditSelection | null>;
|
|
@@ -4095,4 +4201,4 @@ declare function buildStudioTools(depsRef: {
|
|
|
4095
4201
|
readonly current: StudioAgentToolsDeps;
|
|
4096
4202
|
}): ModelContextTool[];
|
|
4097
4203
|
|
|
4098
|
-
export { type AgentModalAnchorPoint, type AgentPromptElementInfo, AskAgentModal, type AskAgentModalProps, AudioMeterStrip, type AudioMeterStripProps, AudioWaveform, type AudioWaveformProps, type BlockedTimelineEditIntent, type CanEditTimelineElement, CompositionBreadcrumb, type CompositionDimensions, type CompositionLevel, CompositionThumbnail, ConnectedDomEditOverlay, type ConnectedDomEditOverlayProps, DEFAULT_SHORTCUT_SECTIONS, Dock, type DockController, type DomEditCapabilities, type DomEditCommitDeclineReason, type DomEditCommitOutcome, type DomEditGroupPathOffsetCommit, DomEditOverlay, type DomEditOverlayProps, DomEditProvider, type DomEditSelection, type DomEditZOrder, type DomGeometryCommits, type EditHistoryHandle, EditorShell, type EditorShellProps, type ExternalFileChangeBlockedState, type ExternalFileChangeCoordinatorHandle, ExternalFileConflictBanner, type FadeEdge, type FadeHandleBox, type FadeHandleClipBox, type FfmpegStatus, FileTree, GridOverlay, ImageThumbnail, type ImageThumbnailProps, type MarqueeGestures, type MarqueeGesturesDeps, MarqueeOverlay, type MarqueeOverlayProps, type Rect$1 as MarqueeRect, type ModelContextTool, NLEPreview, type PanelId, type PatchOperation, type PersistedRenderSettings, type PickedElement, PlayerControls, type PlayerHandle, type PlayerHandleElement, type PlayerHandleListener, type PlayerHandleTimeListener, type DomEditCompositionRect as PreviewCompositionRect, PreviewGuides, PreviewOverlayProvider, type PreviewOverlayProviderProps, type PreviewPromotion, PreviewReadOnlyProvider, type PreviewSnapPreferences, PropertyPanel, type RenderJob, RenderQueue, type RenderQueueProps, type ResolutionPreset, SNAP_THRESHOLD_PX, type ShortcutHint, type ShortcutSection, ShortcutsButton, type ShortcutsButtonProps, type SnapContext, type SnapEdge, type SnapGuide, SnapGuideOverlay, type SnapGuideOverlayProps, type SnapGuidesState, type Rect as SnapRect, type SnapResult, type SnapTarget, SnapToolbar, SourceEditor, type SpacingGuide, type StartRenderOptions, type StudioAgentToolsDeps, StudioApp, StudioFileConflictError, type StudioLookSnapshot, type StudioPendingEditsDrainResult, TRACK_H, type ThumbnailPriority, Timeline, TimelineClipMenu, type TimelineClipMenuItem, type TimelineClipRenderContext, type TimelineEditCallbacks, type TimelineEditOutcome, type TimelineEditPermission, TimelineEditPopover, TimelineEditProvider, type TimelineElement, TimelineEmptyStatePart, TimelineFrame, TimelineGapMenu, TimelineHistoryButtons, type TimelineHistoryButtonsProps, TimelineKeyframeMenu, TimelineLanes, TimelineOverlays, TimelinePane, type TimelinePaneProps, TimelinePlayhead, TimelineProvider, TimelineRazorGuide, TimelineRuler, TimelineShortcutHint, type TimelineTheme, type TimelineTimeRange$1 as TimelineTimeRange, TimelineToolbar, type TimelineToolbarProps, type TimelineTrackPadding, type TimelineZIndexReorderCommit, type ToolResult, type UseClipboardOptions, type UseDomEditSessionParams, type UseDomGeometryCommitOptions, type UseDomStyleCommitOptions, type UseEditHistoryActionsOptions, type UsePersistentEditHistoryOptions, type UsePreviewPersistenceParams, type UseProjectFileWriterOptions, type UseRenderClipContentOptions, type UseTimelineEditingOptions, VideoThumbnail, type ZOrderAction, applyPatch, buildCompositionSnapTarget, buildGridSnapEdges, buildPickerAgentContextPreview, buildPickerAgentPrompt, buildStudioTools, collectSnapContext, collectStudioLookScene, displayTrackOrder, extractSnapTargets, fadeHandleBoxes, findElementBlock, flushStudioPendingEdits, formatTime, getPersistedRenderSettings, liveTime, mergeStyleIntoTag, openAudioGainDialog, parseStyleString, persistRenderSettings, resolveDomEditSelection, resolveEquidistanceGuides, resolveGuideLineRect, resolveIframe, resolveSnapAdjustment, resolveSourceFile, revertNewestStudioPendingEdit, snapEngagedForTravel, useAudioGainDialogStore, useAudioMetersVisible, useClipboard, useCompositionStack, useDockLayoutStore, useDomEditSelectionContext, useDomEditSession, useDomEditZOrder, useDomGeometryCommit, useDomStyleCommit, useEditHistoryActions, useElementPicker, useLivePreviewIframe, useMarqueeGestures, usePersistentEditHistory, usePlayerHandle, usePlayerStore, usePreviewCompositionRect, usePreviewGuidesStore, usePreviewIframeStore, usePreviewOverlayContext, usePreviewPersistence, useProjectFileWriter, useRenderClipContent, useRenderQueue, useTimelineContext, useTimelineEditing, useTimelinePlayer };
|
|
4204
|
+
export { type AgentModalAnchorPoint, type AgentPromptElementInfo, AskAgentModal, type AskAgentModalProps, AudioMeterStrip, type AudioMeterStripProps, AudioWaveform, type AudioWaveformProps, type BlockedTimelineEditIntent, type CanEditTimelineElement, ColorField, CompositionBreadcrumb, type CompositionDimensions, type CompositionLevel, CompositionThumbnail, ConnectedDomEditOverlay, type ConnectedDomEditOverlayProps, DEFAULT_SHORTCUT_SECTIONS, Dock, type DockController, type DomEditCapabilities, type DomEditCommitDeclineReason, type DomEditCommitOutcome, type DomEditGroupPathOffsetCommit, DomEditOverlay, type DomEditOverlayProps, DomEditProvider, type DomEditSelection, type DomEditZOrder, type DomGeometryCommits, type EditHistoryHandle, EditorShell, type EditorShellProps, type ExternalFileChangeBlockedState, type ExternalFileChangeCoordinatorHandle, ExternalFileConflictBanner, type FadeEdge, type FadeHandleBox, type FadeHandleClipBox, type FfmpegStatus, FileTree, GradientField, GridOverlay, ImageThumbnail, type ImageThumbnailProps, type MarqueeGestures, type MarqueeGesturesDeps, MarqueeOverlay, type MarqueeOverlayProps, type Rect$1 as MarqueeRect, type ModelContextTool, NLEPreview, type PanelId, type PatchOperation, type PersistedRenderSettings, type PickedElement, PlayerControls, type PlayerHandle, type PlayerHandleElement, type PlayerHandleListener, type PlayerHandleTimeListener, type DomEditCompositionRect as PreviewCompositionRect, PreviewGuides, PreviewOverlayProvider, type PreviewOverlayProviderProps, type PreviewPromotion, PreviewReadOnlyProvider, type PreviewSnapPreferences, PropertyPanel, type RenderJob, RenderQueue, type RenderQueueProps, type ResolutionPreset, SNAP_THRESHOLD_PX, type ShortcutHint, type ShortcutSection, ShortcutsButton, type ShortcutsButtonProps, type SnapContext, type SnapEdge, type SnapGuide, SnapGuideOverlay, type SnapGuideOverlayProps, type SnapGuidesState, type Rect as SnapRect, type SnapResult, type SnapTarget, SnapToolbar, SourceEditor, type SpacingGuide, type StartRenderOptions, type StudioAgentToolsDeps, StudioApp, StudioFileConflictError, type StudioLookSnapshot, type StudioPendingEditsDrainResult, TRACK_H, type ThumbnailPriority, type ThumbnailStill, Timeline, TimelineClipMenu, type TimelineClipMenuItem, type TimelineClipRenderContext, type TimelineEditCallbacks, type TimelineEditOutcome, type TimelineEditPermission, TimelineEditPopover, TimelineEditProvider, type TimelineElement, TimelineEmptyStatePart, TimelineFrame, TimelineGapMenu, TimelineHistoryButtons, type TimelineHistoryButtonsProps, TimelineKeyframeMenu, TimelineLanes, TimelineOverlays, TimelinePane, type TimelinePaneProps, TimelinePlayhead, TimelineProvider, TimelineRazorGuide, TimelineRuler, TimelineShortcutHint, type TimelineTheme, type TimelineTimeRange$1 as TimelineTimeRange, TimelineToolbar, type TimelineToolbarProps, type TimelineTrackPadding, type TimelineZIndexReorderCommit, type ToolResult, type UseClipboardOptions, type UseDomEditSessionParams, type UseDomGeometryCommitOptions, type UseDomStyleCommitOptions, type UseEditHistoryActionsOptions, type UsePersistentEditHistoryOptions, type UsePreviewPersistenceParams, type UseProjectFileWriterOptions, type UseRenderClipContentOptions, type UseThumbnailStillOptions, type UseTimelineEditingOptions, VideoThumbnail, type ZOrderAction, applyPatch, buildCompositionSnapTarget, buildGridSnapEdges, buildPickerAgentContextPreview, buildPickerAgentPrompt, buildStudioTools, collectSnapContext, collectStudioLookScene, displayTrackOrder, extractSnapTargets, fadeHandleBoxes, findElementBlock, flushStudioPendingEdits, formatTime, getPersistedRenderSettings, liveTime, mergeStyleIntoTag, openAudioGainDialog, parseStyleString, persistRenderSettings, resolveDomEditSelection, resolveEquidistanceGuides, resolveGuideLineRect, resolveIframe, resolveSnapAdjustment, resolveSourceFile, revertNewestStudioPendingEdit, snapEngagedForTravel, useAudioGainDialogStore, useAudioMetersVisible, useClipboard, useCompositionStack, useDockLayoutStore, useDomEditSelectionContext, useDomEditSession, useDomEditZOrder, useDomGeometryCommit, useDomStyleCommit, useEditHistoryActions, useElementPicker, useLivePreviewIframe, useMarqueeGestures, usePersistentEditHistory, usePlayerHandle, usePlayerStore, usePreviewCompositionRect, usePreviewGuidesStore, usePreviewIframeStore, usePreviewOverlayContext, usePreviewPersistence, useProjectFileWriter, useRenderClipContent, useRenderQueue, useThumbnailStill, useTimelineContext, useTimelineEditing, useTimelinePlayer };
|
package/dist/index.html
CHANGED
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
document.documentElement.dataset.theme = "paper";
|
|
15
15
|
}
|
|
16
16
|
</script>
|
|
17
|
-
<script type="module" crossorigin src="/assets/index-
|
|
18
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
17
|
+
<script type="module" crossorigin src="/assets/index-DYNaXPVf.js"></script>
|
|
18
|
+
<link rel="stylesheet" crossorigin href="/assets/index-t1LH6H5H.css">
|
|
19
19
|
</head>
|
|
20
20
|
<body>
|
|
21
21
|
<div data-hf-id="hf-aph5" id="root"></div>
|