Files
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

19 lines
542 B
JavaScript

import { frame, cancelFrame } from '../frameloop/frame.mjs';
function observeTimeline(update, timeline) {
let prevProgress;
const onFrame = () => {
const { currentTime } = timeline;
const percentage = currentTime === null ? 0 : currentTime.value;
const progress = percentage / 100;
if (prevProgress !== progress) {
update(progress);
}
prevProgress = progress;
};
frame.preUpdate(onFrame, true);
return () => cancelFrame(onFrame);
}
export { observeTimeline };