From 4b17971701d2ae4a0216b4043a8ec12c2b673060 Mon Sep 17 00:00:00 2001 From: Lulu <87658293+luluwux@users.noreply.github.com> Date: Sun, 26 Jul 2026 21:47:28 +0300 Subject: [PATCH 01/21] fix(asciify): re-initialize WebGL fallback engine when native html-in-canvas fails --- src/lib/Asciify/Asciify.svelte | 17 ++++++++++--- src/lib/Asciify/Asciify.vue | 46 ++++++++++++++++++++++------------ 2 files changed, 44 insertions(+), 19 deletions(-) diff --git a/src/lib/Asciify/Asciify.svelte b/src/lib/Asciify/Asciify.svelte index 431500f..226c787 100644 --- a/src/lib/Asciify/Asciify.svelte +++ b/src/lib/Asciify/Asciify.svelte @@ -33,14 +33,25 @@ onMount(() => { native = supportsHtmlInCanvas(); let disposed = false; - tick().then(() => { + (async () => { + await tick(); if (disposed) return; + if (!sourceEl || !contentEl || !outputEl) return; instance = createAsciify( { source: sourceEl, content: contentEl, output: outputEl }, options, ); - if (native && !instance) native = false; - }); + if (native && !instance) { + native = false; + await tick(); + if (disposed) return; + if (!sourceEl || !contentEl || !outputEl) return; + instance = createAsciify( + { source: sourceEl, content: contentEl, output: outputEl }, + options, + ); + } + })(); return () => { disposed = true; instance?.destroy(); diff --git a/src/lib/Asciify/Asciify.vue b/src/lib/Asciify/Asciify.vue index ea5253d..eced6ed 100644 --- a/src/lib/Asciify/Asciify.vue +++ b/src/lib/Asciify/Asciify.vue @@ -1,5 +1,5 @@