Skip to content

Commit 183dc2b

Browse files
authored
fix(docs): Clear timeout in 3D Fish example (#2311)
1 parent f65f635 commit 183dc2b

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

  • apps/typegpu-docs/src/examples/rendering/3d-fish

apps/typegpu-docs/src/examples/rendering/3d-fish/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { defineControls } from '../../common/defineControls.ts';
2020

2121
// setup
2222
let speedMultiplier = 1;
23+
let disposed = false;
2324

2425
const root = await tgpu.init();
2526
const canvas = document.querySelector('canvas') as HTMLCanvasElement;
@@ -77,7 +78,8 @@ function enqueuePresetChanges() {
7778
spinnerBackground.style.display = 'grid';
7879
fishBehaviorBuffer.write(presets.init);
7980

80-
setTimeout(() => {
81+
window.setTimeout(() => {
82+
if (disposed) return;
8183
fishBehaviorBuffer.write(presets.default);
8284
spinnerBackground.style.display = 'none';
8385
speedMultiplier = 1;
@@ -438,6 +440,7 @@ const resizeObserver = new ResizeObserver(() => {
438440
resizeObserver.observe(canvas);
439441

440442
export function onCleanup() {
443+
disposed = true;
441444
cancelAnimationFrame(animationFrameId);
442445
window.removeEventListener('mouseup', mouseUpEventListener);
443446
window.removeEventListener('mousemove', mouseMoveEventListener);

0 commit comments

Comments
 (0)