fix(video): prevent preview/presentation playback loop

- Avoid per-render target.set dispatch that reset playback

- Stop timer-based and per-frame React ticking while playing

- Add regression tests for render-loop sources

Made-with: Cursor
This commit is contained in:
Ivan Fontosh
2026-04-20 18:30:47 +08:00
parent 2ce1e02753
commit add699a320
6 changed files with 85 additions and 34 deletions
+10 -1
View File
@@ -53,7 +53,16 @@ export function PresentationView({
} else {
el.pause();
}
}, [scene?.previewAssetId, scene?.previewAssetType, vp]);
// eslint-disable-next-line react-hooks/exhaustive-deps -- avoid reruns on 500ms heartbeats (serverNowMs-only updates)
}, [
scene?.previewAssetId,
scene?.previewAssetType,
previewUrl,
vp?.revision,
vp?.targetAssetId,
vp?.playing,
vp?.playbackRate,
]);
return (
<div className={styles.root}>