From 5fc7277cd7f51b7e205dcc075865a146ebca16cb Mon Sep 17 00:00:00 2001 From: Xevion Date: Tue, 6 Jan 2026 01:13:30 -0600 Subject: [PATCH] feat: add fade-in transition for dots canvas background --- web/src/lib/components/Dots.svelte | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/web/src/lib/components/Dots.svelte b/web/src/lib/components/Dots.svelte index 8043714..9b78efe 100644 --- a/web/src/lib/components/Dots.svelte +++ b/web/src/lib/components/Dots.svelte @@ -37,6 +37,7 @@ let canvas: HTMLCanvasElement; let cleanupFns: (() => void)[] = []; + let ready = $state(false); function addCleanup(fn: () => void) { cleanupFns.push(fn); @@ -363,6 +364,7 @@ const startTime = Date.now(); let animationId: number; + let firstFrameRendered = false; function render() { if (document.hidden) { @@ -379,6 +381,15 @@ gl.clear(gl.COLOR_BUFFER_BIT); gl.drawArrays(gl.TRIANGLES, 0, 6); + if (!firstFrameRendered) { + firstFrameRendered = true; + requestAnimationFrame(() => { + requestAnimationFrame(() => { + ready = true; + }); + }); + } + animationId = requestAnimationFrame(render); } @@ -395,5 +406,9 @@