@hyperframes/studio 0.8.62 → 0.8.64
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-BMHU9-3w.js → hyperframes-player-pWkneUHC.js} +1 -1
- package/dist/assets/{index-Dg0Vjj_i.js → index-BEyJVAiH.js} +1 -1
- package/dist/assets/{index-DS0kLbuM.css → index-BnsYeuxA.css} +1 -1
- package/dist/assets/{index-DLYk_vu_.js → index-DLjjm1nC.js} +150 -150
- package/dist/assets/{index-Ce1SRT2i.js → index-RRyhgH2k.js} +1 -1
- package/dist/index.d.ts +44 -1
- package/dist/index.html +2 -2
- package/dist/index.js +4970 -5002
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +7 -7
- package/src/clipContentExports.test.tsx +54 -0
- package/src/components/nle/TimelinePane.tsx +8 -185
- package/src/components/nle/useCanvasZOrderTimelineMirror.test.tsx +0 -49
- package/src/components/nle/useCanvasZOrderTimelineMirror.ts +4 -15
- package/src/components/ui/VideoFrameThumbnail.test.tsx +170 -0
- package/src/components/ui/VideoFrameThumbnail.tsx +10 -5
- package/src/hooks/useRenderClipContent.ts +1 -1
- package/src/hooks/useSdkSession.lifecycle.test.tsx +78 -1
- package/src/hooks/useSdkSession.ts +75 -13
- package/src/index.ts +10 -0
- package/src/player/components/AudioWaveform.tsx +1 -1
- package/src/player/components/CompositionThumbnail.test.ts +7 -0
- package/src/player/components/CompositionThumbnail.tsx +7 -3
- package/src/player/components/ImageThumbnail.tsx +1 -1
- package/src/player/components/TimelineClipJoins.test.ts +27 -0
- package/src/player/components/TimelineClipJoins.tsx +52 -0
- package/src/player/components/TimelineLanes.test.tsx +35 -0
- package/src/player/components/TimelineLanes.tsx +4 -5
- package/src/player/components/TimelineTransitionOverlays.tsx +36 -13
- package/src/player/components/timelineDragLanding.ts +1 -5
- package/src/player/components/timelineGaps.test.ts +3 -33
- package/src/player/components/timelineGaps.ts +4 -11
- package/src/player/components/timelineZones.test.ts +0 -5
- package/src/player/components/timelineZones.ts +2 -3
- package/src/styles/theme.css +3 -0
- package/src/telemetry/events.test.ts +0 -6
- package/src/telemetry/events.ts +0 -8
- package/src/components/nle/TimelinePane.test.ts +0 -63
|
@@ -12,7 +12,6 @@ const {
|
|
|
12
12
|
trackPreviewFirstFrame,
|
|
13
13
|
trackStudioRenderStart,
|
|
14
14
|
trackStudioRazorSplit,
|
|
15
|
-
trackStudioExpandedClipEdit,
|
|
16
15
|
trackStudioKeyframeLaneExpand,
|
|
17
16
|
trackStudioSegmentEaseEdit,
|
|
18
17
|
trackStudioFeedback,
|
|
@@ -107,11 +106,6 @@ describe("studio telemetry events", () => {
|
|
|
107
106
|
expect(trackEvent).toHaveBeenCalledWith("studio_razor_split", { mode: "all", count: 3 });
|
|
108
107
|
});
|
|
109
108
|
|
|
110
|
-
it("trackStudioExpandedClipEdit emits 'studio_expanded_clip_edit' with action", () => {
|
|
111
|
-
trackStudioExpandedClipEdit({ action: "resize" });
|
|
112
|
-
expect(trackEvent).toHaveBeenCalledWith("studio_expanded_clip_edit", { action: "resize" });
|
|
113
|
-
});
|
|
114
|
-
|
|
115
109
|
it("trackStudioKeyframeLaneExpand emits 'studio_keyframe_lane_expand' with expanded", () => {
|
|
116
110
|
trackStudioKeyframeLaneExpand({ expanded: true });
|
|
117
111
|
expect(trackEvent).toHaveBeenCalledWith("studio_keyframe_lane_expand", { expanded: true });
|
package/src/telemetry/events.ts
CHANGED
|
@@ -84,14 +84,6 @@ export function trackStudioRazorSplit(props: { mode: "single" | "all"; count: nu
|
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
// Adoption signal for the inline timeline-expansion surface: edits applied to a
|
|
88
|
-
// sub-composition child clip while its parent scene is expanded.
|
|
89
|
-
export function trackStudioExpandedClipEdit(props: {
|
|
90
|
-
action: "move" | "resize" | "delete" | "split";
|
|
91
|
-
}): void {
|
|
92
|
-
trackEvent("studio_expanded_clip_edit", { action: props.action });
|
|
93
|
-
}
|
|
94
|
-
|
|
95
87
|
// Adoption signal for the per-clip keyframe-lane caret toggle.
|
|
96
88
|
export function trackStudioKeyframeLaneExpand(props: { expanded: boolean }): void {
|
|
97
89
|
trackEvent("studio_keyframe_lane_expand", { expanded: props.expanded });
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from "vitest";
|
|
2
|
-
import type { TimelineElement } from "../../player";
|
|
3
|
-
import {
|
|
4
|
-
forwardRebasedTimelineMoveElements,
|
|
5
|
-
forwardRebasedTimelineResizeElements,
|
|
6
|
-
} from "./TimelinePane";
|
|
7
|
-
|
|
8
|
-
describe("TimelinePane move wrapper", () => {
|
|
9
|
-
it("rebases expanded edits and forwards track-insert as the third argument", async () => {
|
|
10
|
-
const onMoveElements = vi.fn().mockResolvedValue(undefined);
|
|
11
|
-
const element: TimelineElement = {
|
|
12
|
-
id: "expanded-a",
|
|
13
|
-
domId: "a",
|
|
14
|
-
tag: "div",
|
|
15
|
-
start: 12,
|
|
16
|
-
duration: 2,
|
|
17
|
-
track: 0,
|
|
18
|
-
expandedParentStart: 10,
|
|
19
|
-
};
|
|
20
|
-
await forwardRebasedTimelineMoveElements(
|
|
21
|
-
[{ element, updates: { start: 14, track: 2 } }],
|
|
22
|
-
"clip-lane-move:7",
|
|
23
|
-
"track-insert",
|
|
24
|
-
onMoveElements,
|
|
25
|
-
Number.POSITIVE_INFINITY,
|
|
26
|
-
);
|
|
27
|
-
expect(onMoveElements).toHaveBeenCalledWith(
|
|
28
|
-
[
|
|
29
|
-
{
|
|
30
|
-
element: expect.objectContaining({ id: "a", start: 2 }),
|
|
31
|
-
updates: { start: 4, track: 2 },
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
"clip-lane-move:7",
|
|
35
|
-
"track-insert",
|
|
36
|
-
// The per-gesture coalesce window rides along with the shared key.
|
|
37
|
-
Number.POSITIVE_INFINITY,
|
|
38
|
-
);
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it("forwards one rebased resize batch with the shared gesture key", async () => {
|
|
42
|
-
const onResizeElements = vi.fn().mockResolvedValue(undefined);
|
|
43
|
-
const element: TimelineElement = {
|
|
44
|
-
id: "expanded-a",
|
|
45
|
-
domId: "a",
|
|
46
|
-
tag: "div",
|
|
47
|
-
start: 12,
|
|
48
|
-
duration: 2,
|
|
49
|
-
track: 0,
|
|
50
|
-
expandedParentStart: 10,
|
|
51
|
-
};
|
|
52
|
-
await forwardRebasedTimelineResizeElements(
|
|
53
|
-
[{ element, start: 13, duration: 3 }],
|
|
54
|
-
{ coalesceKey: "clip-group-resize:a:b" },
|
|
55
|
-
onResizeElements,
|
|
56
|
-
);
|
|
57
|
-
expect(onResizeElements).toHaveBeenCalledTimes(1);
|
|
58
|
-
expect(onResizeElements).toHaveBeenCalledWith(
|
|
59
|
-
[{ element: expect.objectContaining({ id: "a", start: 2 }), start: 3, duration: 3 }],
|
|
60
|
-
{ coalesceKey: "clip-group-resize:a:b" },
|
|
61
|
-
);
|
|
62
|
-
});
|
|
63
|
-
});
|