@hyperframes/studio 0.8.126 → 0.8.128
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-BbbN-wWN.js → hyperframes-player-CKCx0CFA.js} +1 -1
- package/dist/assets/{index-Cll7uTNy.js → index-CF31Pq1E.js} +1 -1
- package/dist/assets/{index-B8kU2xXl.js → index-ClLzyuwb.js} +172 -172
- package/dist/assets/{index-nvLF29ZH.js → index-CwS08gWW.js} +1 -1
- package/dist/{chunk-3F47EFCT.js → chunk-7UQWVN52.js} +17 -10
- package/dist/chunk-7UQWVN52.js.map +1 -0
- package/dist/{chunk-246VB2G3.js → chunk-DRVWEPO5.js} +35 -7
- package/dist/chunk-DRVWEPO5.js.map +1 -0
- package/dist/{chunk-5EKWJZLM.js → chunk-TDWGXBUT.js} +1 -1
- package/dist/chunk-TDWGXBUT.js.map +1 -0
- package/dist/{domEditingLayers-OL7GLSS4.js → domEditingLayers-IEVLO54Z.js} +3 -3
- package/dist/index.d.ts +8 -9
- package/dist/index.html +1 -1
- package/dist/index.js +2184 -1745
- package/dist/index.js.map +1 -1
- package/dist/player.js +2 -2
- package/package.json +8 -8
- package/src/components/TimelineToolbar.tsx +6 -7
- package/src/components/editor/MotionPathOverlay.layerPress.test.tsx +42 -0
- package/src/components/editor/MotionPathOverlay.tsx +20 -26
- package/src/components/editor/commitPreflightHandles.test.tsx +32 -0
- package/src/components/editor/domEditingLayers.test.ts +45 -18
- package/src/components/editor/domEditingLayers.ts +11 -9
- package/src/components/editor/domEditingTypes.ts +1 -0
- package/src/components/editor/keyframeRetime.ts +11 -4
- package/src/components/editor/motionPathCommit.nodeDrop.test.ts +212 -0
- package/src/components/editor/motionPathCommit.ts +58 -0
- package/src/components/editor/motionPathGeometry.test.ts +13 -0
- package/src/components/editor/motionPathGeometry.ts +4 -2
- package/src/components/editor/probeSourceElement.ts +17 -1
- package/src/components/nle/useCanvasZOrderTimelineMirror.test.tsx +4 -14
- package/src/components/nle/useCanvasZOrderTimelineMirror.ts +0 -7
- package/src/components/nle/useTimelineEditCallbacks.test.tsx +27 -42
- package/src/components/nle/useTimelineEditCallbacks.ts +3 -2
- package/src/hooks/gsapDragCommit.ts +41 -6
- package/src/hooks/gsapDragPositionCommit.ts +90 -17
- package/src/hooks/gsapEditOutcome.ts +27 -2
- package/src/hooks/gsapKeyframeCacheHelpers.test.ts +50 -0
- package/src/hooks/gsapKeyframeCacheHelpers.ts +21 -2
- package/src/hooks/gsapMutationClient.ts +35 -7
- package/src/hooks/gsapOvershootEase.test.ts +67 -0
- package/src/hooks/gsapParsedTween.test-helpers.ts +28 -1
- package/src/hooks/gsapParsedTween.ts +27 -7
- package/src/hooks/gsapPositionDetection.ts +5 -2
- package/src/hooks/gsapRuntimeBridge.test.ts +35 -0
- package/src/hooks/gsapRuntimeBridge.ts +7 -1
- package/src/hooks/gsapRuntimeKeyframes.test.ts +80 -6
- package/src/hooks/gsapRuntimeKeyframes.ts +20 -60
- package/src/hooks/gsapRuntimeMotionPath.ts +47 -0
- package/src/hooks/gsapRuntimeTweenIndex.ts +53 -0
- package/src/hooks/gsapShared.test.ts +49 -35
- package/src/hooks/gsapShared.ts +35 -33
- package/src/hooks/gsapValueAtPlayhead.realGsap.test.ts +198 -6
- package/src/hooks/gsapValueAtPlayhead.test.ts +142 -27
- package/src/hooks/gsapValueAtPlayhead.ts +49 -10
- package/src/hooks/gsapWholePropertyOffsetCommit.test.ts +72 -1
- package/src/hooks/gsapWholePropertyOffsetCommit.ts +6 -1
- package/src/hooks/timelineEditingHelpers.test.ts +21 -0
- package/src/hooks/timelineEditingHelpers.ts +40 -14
- package/src/hooks/timelineLinkEditPlan.ts +6 -4
- package/src/hooks/timelineMoveAdapter.ts +3 -5
- package/src/hooks/timelineTimingSync.test.ts +83 -125
- package/src/hooks/timelineTimingSync.ts +62 -42
- package/src/hooks/useAnimatedPropertyCommit.ts +6 -6
- package/src/hooks/useBlockedTimelineEditToast.ts +3 -12
- package/src/hooks/useCommitPreflightCapabilities.ts +44 -9
- package/src/hooks/useDomEditPreviewSync.ts +8 -2
- package/src/hooks/useDomSelection.test.ts +27 -0
- package/src/hooks/useDomSelection.ts +12 -13
- package/src/hooks/useDomSelectionTypes.ts +1 -0
- package/src/hooks/useEditHistoryActions.test.tsx +54 -3
- package/src/hooks/useEditHistoryActions.ts +9 -6
- package/src/hooks/useEnableKeyframes.test.ts +20 -15
- package/src/hooks/useEnableKeyframes.ts +54 -71
- package/src/hooks/useGestureCommit.ts +2 -1
- package/src/hooks/useGsapAwareEditing.groupPlan.test.tsx +25 -0
- package/src/hooks/useGsapTweenCache.ts +2 -17
- package/src/hooks/usePersistentEditHistory.test.ts +45 -0
- package/src/hooks/usePersistentEditHistory.ts +13 -2
- package/src/hooks/usePreviewPersistence.history.test.tsx +83 -0
- package/src/hooks/usePreviewPersistence.ts +26 -4
- package/src/hooks/useTimelineClipTimingEditing.ts +343 -0
- package/src/hooks/useTimelineDeleteOps.test.tsx +20 -1
- package/src/hooks/useTimelineDeleteOps.ts +5 -13
- package/src/hooks/useTimelineEditing.test.tsx +63 -4
- package/src/hooks/useTimelineEditing.ts +21 -295
- package/src/hooks/useTimelineGroupEditing.test.tsx +91 -0
- package/src/hooks/useTimelineGroupEditing.ts +15 -38
- package/src/player/components/Timeline.test.ts +12 -4
- package/src/player/components/TimelineClip.tsx +3 -0
- package/src/player/components/TimelineCompactDiamonds.tsx +4 -0
- package/src/player/components/TimelineLanes.test.tsx +61 -5
- package/src/player/components/TimelineLanes.tsx +20 -28
- package/src/player/components/TimelinePropertyLanes.tsx +10 -1
- package/src/player/components/timelineCallbacks.ts +1 -4
- package/src/player/components/timelineClipDragCommit.test.ts +31 -0
- package/src/player/components/timelineClipDragCommit.ts +39 -28
- package/src/player/components/timelineClipDragGestureLifecycle.ts +1 -1
- package/src/player/components/timelineClipGestureHandlers.test.ts +6 -34
- package/src/player/components/timelineClipGestureHandlers.ts +2 -20
- package/src/player/components/timelineEditing.ts +1 -3
- package/src/player/components/timelineGroupResizeCommit.ts +10 -9
- package/src/player/components/timelineLinkSelection.ts +1 -35
- package/src/player/components/timelineOptimisticRevision.ts +7 -4
- package/src/player/components/trackHeaderLaneState.ts +9 -2
- package/src/player/components/trackHeaderLaneValues.test.ts +89 -0
- package/src/player/components/trackHeaderLaneValues.ts +54 -13
- package/src/player/components/useTimelineClipDrag.keyboard.test.tsx +4 -6
- package/src/player/components/useTimelineClipDrag.resize.test.tsx +4 -7
- package/src/player/components/useTimelineClipDrag.ts +0 -3
- package/src/player/components/useTimelineKeyframeHandlers.ts +17 -1
- package/src/player/store/batchElementUpdates.test.ts +43 -0
- package/src/player/store/batchElementUpdates.ts +9 -0
- package/src/player/store/elementPatchQueue.ts +35 -0
- package/src/player/store/playerStore.ts +5 -6
- package/src/utils/domEditHelpers.ts +5 -0
- package/src/utils/globalTimeCompiler.test.ts +0 -4
- package/src/utils/globalTimeCompiler.ts +6 -4
- package/src/utils/gsapKeyframeEases.ts +79 -0
- package/src/utils/sameData.ts +9 -0
- package/src/utils/studioFileHistory.ts +1 -0
- package/src/utils/studioPendingEdits.ts +15 -1
- package/dist/chunk-246VB2G3.js.map +0 -1
- package/dist/chunk-3F47EFCT.js.map +0 -1
- package/dist/chunk-5EKWJZLM.js.map +0 -1
- /package/dist/{domEditingLayers-OL7GLSS4.js.map → domEditingLayers-IEVLO54Z.js.map} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -710,6 +710,7 @@ interface DomEditSelection extends PatchTarget {
|
|
|
710
710
|
computedStyles: Record<string, string>;
|
|
711
711
|
textFields: DomEditTextField[];
|
|
712
712
|
capabilities: DomEditCapabilities;
|
|
713
|
+
existsInSource?: boolean;
|
|
713
714
|
gsapAnimations?: GsapAnimation$1[];
|
|
714
715
|
}
|
|
715
716
|
interface DomEditLayerItem {
|
|
@@ -738,6 +739,7 @@ declare function resolveDomEditSelection(startEl: HTMLElement | null, options: D
|
|
|
738
739
|
projectId?: string | null;
|
|
739
740
|
skipSourceProbe?: boolean;
|
|
740
741
|
exactTarget?: boolean;
|
|
742
|
+
previous?: DomEditSelection | null;
|
|
741
743
|
}): Promise<DomEditSelection | null>;
|
|
742
744
|
|
|
743
745
|
/**
|
|
@@ -815,7 +817,7 @@ interface TimelineStackingReorderIntent {
|
|
|
815
817
|
zIndexChanges: TimelineStackingZIndexChange[];
|
|
816
818
|
}
|
|
817
819
|
|
|
818
|
-
type BlockedTimelineEditIntent = "move" | "
|
|
820
|
+
type BlockedTimelineEditIntent = "move" | "resize-start" | "resize-end";
|
|
819
821
|
interface TimelineRangeSelection {
|
|
820
822
|
start: number;
|
|
821
823
|
end: number;
|
|
@@ -1074,8 +1076,6 @@ interface TimelineGroupResizeChange {
|
|
|
1074
1076
|
interface TimelineGroupCommitOptions {
|
|
1075
1077
|
beforeTiming?: Promise<void>;
|
|
1076
1078
|
coalesceKey?: string;
|
|
1077
|
-
/** Per-entry undo coalesce window override (ms) — see EditHistoryEntry.coalesceMs. */
|
|
1078
|
-
coalesceMs?: number;
|
|
1079
1079
|
/** Overrides the default "Move timeline clips" undo-history label. Coalescing
|
|
1080
1080
|
* keeps the LAST entry's label (editHistory.ts), so a mechanical follow-up
|
|
1081
1081
|
* move folded into another gesture's coalesceKey (e.g. the ripple after a
|
|
@@ -1161,13 +1161,11 @@ interface TimelineEditCallbacks {
|
|
|
1161
1161
|
onMoveElement?: (element: TimelineElement, updates: TimelineAtomicMoveUpdates) => Promise<void> | void;
|
|
1162
1162
|
/** Atomic multi-clip move (single undo) for main-track ripple + track-insert.
|
|
1163
1163
|
* `coalesceKey` (drag-commit gesture id) merges the move history entry with a
|
|
1164
|
-
* lane change's follow-up z-reorder entry into one undo step
|
|
1165
|
-
* widens that entry's fold window when a server round-trip separates the
|
|
1166
|
-
* gesture's records (per-gesture-unique keys keep the fold gesture-scoped). */
|
|
1164
|
+
* lane change's follow-up z-reorder entry into one undo step. */
|
|
1167
1165
|
onMoveElements?: (edits: Array<{
|
|
1168
1166
|
element: TimelineElement;
|
|
1169
1167
|
updates: TimelineAtomicMoveUpdates;
|
|
1170
|
-
}>, coalesceKey?: string, operation?: TimelineMoveOperation
|
|
1168
|
+
}>, coalesceKey?: string, operation?: TimelineMoveOperation) => Promise<void> | void;
|
|
1171
1169
|
onResizeElement?: (element: TimelineElement, updates: Pick<TimelineElement, "start" | "duration" | "playbackStart">) => Promise<void> | void;
|
|
1172
1170
|
onResizeElements?: (changes: Array<{
|
|
1173
1171
|
element: TimelineElement;
|
|
@@ -2005,7 +2003,7 @@ interface TimelineEditCallbackDeps {
|
|
|
2005
2003
|
handleTimelineElementsMove: (edits: Array<{
|
|
2006
2004
|
element: TimelineElement;
|
|
2007
2005
|
updates: Pick<TimelineElement, "start" | "track">;
|
|
2008
|
-
}>, coalesceKey?: string, operation?: TimelineMoveOperation
|
|
2006
|
+
}>, coalesceKey?: string, operation?: TimelineMoveOperation) => Promise<void> | void;
|
|
2009
2007
|
handleTimelineElementResize: (element: TimelineElement, updates: Pick<TimelineElement, "start" | "duration" | "playbackStart">) => Promise<void> | void;
|
|
2010
2008
|
handleTimelineGroupResize: NonNullable<TimelineEditCallbacks["onResizeElements"]>;
|
|
2011
2009
|
handleToggleTrackHidden: (track: number, hidden: boolean) => Promise<void> | void;
|
|
@@ -2918,7 +2916,7 @@ declare function useTimelineEditing({ projectId, activeCompPath, timelineElement
|
|
|
2918
2916
|
handleTimelineAssetDrop: (assetPath: string, placement: TimelineDropPlacement, durationOverride?: number | undefined) => Promise<void>;
|
|
2919
2917
|
handleTimelineFileDrop: (files: File[], placement?: TimelineDropPlacement | undefined) => Promise<void>;
|
|
2920
2918
|
handleTimelineCompositionDrop: (sourcePath: string, placement: Pick<TimelineElement, "track" | "start">) => Promise<void>;
|
|
2921
|
-
handleBlockedTimelineEdit: (element: TimelineElement
|
|
2919
|
+
handleBlockedTimelineEdit: (element: TimelineElement) => void;
|
|
2922
2920
|
handleTimelineGroupMove: (changes: TimelineGroupMoveChange[], options?: TimelineGroupCommitOptions | undefined) => Promise<void>;
|
|
2923
2921
|
handleTimelineGroupResize: (changes: TimelineGroupResizeChange[], options?: TimelineGroupCommitOptions | undefined) => Promise<void>;
|
|
2924
2922
|
restoreLiveLanes: (restore: Parameters<(restore: LiveLaneRestore) => void>[0]) => void;
|
|
@@ -3304,6 +3302,7 @@ interface ResolveDomSelectionOptions {
|
|
|
3304
3302
|
activeGroupElement?: HTMLElement | null;
|
|
3305
3303
|
/** Resolve this node itself instead of applying human group-capture behavior. */
|
|
3306
3304
|
exactTarget?: boolean;
|
|
3305
|
+
previous?: DomEditSelection | null;
|
|
3307
3306
|
}
|
|
3308
3307
|
interface DomEditTimelineParams {
|
|
3309
3308
|
projectId: string | null;
|
package/dist/index.html
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
document.documentElement.dataset.theme = "paper";
|
|
15
15
|
}
|
|
16
16
|
</script>
|
|
17
|
-
<script type="module" crossorigin src="/assets/index-
|
|
17
|
+
<script type="module" crossorigin src="/assets/index-ClLzyuwb.js"></script>
|
|
18
18
|
<link rel="stylesheet" crossorigin href="/assets/index-D11atkBt.css">
|
|
19
19
|
</head>
|
|
20
20
|
<body>
|