@hyperframes/studio 0.8.92 → 0.8.93
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-DKJPDHUp.js → hyperframes-player-CkV9KK6A.js} +3 -3
- package/dist/assets/{index-DpzpqJ_j.js → index-BlLFipOk.js} +1 -1
- package/dist/assets/{index-C5_j5-3u.js → index-CYk0NwSv.js} +137 -137
- package/dist/assets/{index-CHZ4kFWm.js → index-V3fzEfOD.js} +1 -1
- package/dist/index.html +1 -1
- package/dist/index.js +14 -4
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/src/player/hooks/useTimelinePlayer.seek.test.ts +29 -1
- package/src/player/hooks/useTimelinePlayer.ts +6 -0
- package/src/player/hooks/useTimelinePlayerLoop.ts +6 -2
- package/src/player/lib/playbackTypes.ts +1 -0
package/dist/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
6
6
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
7
7
|
<title>HyperFrames Studio</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-CYk0NwSv.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-Dx79V1Se.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
package/dist/index.js
CHANGED
|
@@ -25328,7 +25328,8 @@ function useTimelinePlayerLoop({
|
|
|
25328
25328
|
reverseRafRef,
|
|
25329
25329
|
getAdapter,
|
|
25330
25330
|
setCurrentTime,
|
|
25331
|
-
setIsPlaying
|
|
25331
|
+
setIsPlaying,
|
|
25332
|
+
setLoopStart
|
|
25332
25333
|
}) {
|
|
25333
25334
|
const stopReverseLoop = useCallback38(() => {
|
|
25334
25335
|
cancelAnimationFrame(reverseRafRef.current);
|
|
@@ -25346,8 +25347,10 @@ function useTimelinePlayerLoop({
|
|
|
25346
25347
|
const rawLoopStart = inPoint !== null ? inPoint : 0;
|
|
25347
25348
|
const loopEnd = rawLoopStart < rawLoopEnd ? rawLoopEnd : dur;
|
|
25348
25349
|
const loopStart = rawLoopStart < rawLoopEnd ? rawLoopStart : 0;
|
|
25350
|
+
const looping = usePlayerStore.getState().loopEnabled && dur > 0;
|
|
25351
|
+
setLoopStart(looping ? loopStart : null);
|
|
25349
25352
|
if (time >= loopEnd) {
|
|
25350
|
-
if (
|
|
25353
|
+
if (looping) {
|
|
25351
25354
|
adapter.seek(loopStart, { keepPlaying: true });
|
|
25352
25355
|
liveTime.notify(loopStart);
|
|
25353
25356
|
adapter.play();
|
|
@@ -25365,7 +25368,7 @@ function useTimelinePlayerLoop({
|
|
|
25365
25368
|
rafRef.current = requestAnimationFrame(tick);
|
|
25366
25369
|
};
|
|
25367
25370
|
rafRef.current = requestAnimationFrame(tick);
|
|
25368
|
-
}, [rafRef, getAdapter, setCurrentTime, setIsPlaying]);
|
|
25371
|
+
}, [rafRef, getAdapter, setCurrentTime, setIsPlaying, setLoopStart]);
|
|
25369
25372
|
const stopRAFLoop = useCallback38(() => {
|
|
25370
25373
|
cancelAnimationFrame(rafRef.current);
|
|
25371
25374
|
}, [rafRef]);
|
|
@@ -25863,12 +25866,19 @@ function useTimelinePlayer({
|
|
|
25863
25866
|
},
|
|
25864
25867
|
[]
|
|
25865
25868
|
);
|
|
25869
|
+
const setLoopStart = useCallback39((seconds) => {
|
|
25870
|
+
try {
|
|
25871
|
+
iframeRef.current?.contentWindow?.__hf?.setLoopStart?.(seconds);
|
|
25872
|
+
} catch {
|
|
25873
|
+
}
|
|
25874
|
+
}, []);
|
|
25866
25875
|
const { startRAFLoop, stopRAFLoop, stopReverseLoop } = useTimelinePlayerLoop({
|
|
25867
25876
|
rafRef,
|
|
25868
25877
|
reverseRafRef,
|
|
25869
25878
|
getAdapter,
|
|
25870
25879
|
setCurrentTime,
|
|
25871
|
-
setIsPlaying
|
|
25880
|
+
setIsPlaying,
|
|
25881
|
+
setLoopStart
|
|
25872
25882
|
});
|
|
25873
25883
|
const applyPlaybackRate = useCallback39((rate) => {
|
|
25874
25884
|
const iframe = iframeRef.current;
|