summaryrefslogtreecommitdiff
path: root/apps/web/src/preview/components/index.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/src/preview/components/index.tsx')
-rw-r--r--apps/web/src/preview/components/index.tsx9
1 files changed, 9 insertions, 0 deletions
diff --git a/apps/web/src/preview/components/index.tsx b/apps/web/src/preview/components/index.tsx
index 894eec78..643eb002 100644
--- a/apps/web/src/preview/components/index.tsx
+++ b/apps/web/src/preview/components/index.tsx
@@ -7,6 +7,7 @@ import { useRafLoop } from "@/hooks/use-raf-loop";
import { useContainerSize } from "@/hooks/use-container-size";
import { useFullscreen } from "@/hooks/use-fullscreen";
import { CanvasRenderer } from "@/services/renderer/canvas-renderer";
+import { onGpuCanvasRepaired } from "@/services/renderer/gpu-renderer";
import { TICKS_PER_SECOND } from "@/wasm";
import type { RootNode } from "@/services/renderer/nodes/root-node";
import { buildScene } from "@/services/renderer/scene-builder";
@@ -214,6 +215,14 @@ function PreviewCanvas({
useRafLoop(render);
useEffect(() => {
+ return onGpuCanvasRepaired({
+ callback: () => {
+ lastFrameRef.current = -1;
+ },
+ });
+ }, []);
+
+ useEffect(() => {
const container = viewportRef.current;
if (!container) return;