From c26985d780edea7028e9e0203672d3376e66b450 Mon Sep 17 00:00:00 2001 From: brian cully Date: Wed, 24 Dec 2025 14:00:27 -0500 Subject: js: auto-compile loaded source --- site/robo.mjs | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) (limited to 'site/robo.mjs') diff --git a/site/robo.mjs b/site/robo.mjs index ba879fa..5302920 100644 --- a/site/robo.mjs +++ b/site/robo.mjs @@ -17,8 +17,19 @@ function tick() { postMessage({ kind: 'tick', trans: vm.trans() }); } +let mod; +async function initWasm() { + if (mod === undefined) { + console.debug('worker running init'); + mod = await init(); + console.debug('worker init done'); + vm = make_vm(); + console.debug('worker vm made'); + } +} + async function messageHandler(e) { - console.debug('worker messageHandler') + await initWasm(); const { kind } = e.data; switch (kind) { case 'compile': @@ -36,19 +47,4 @@ async function messageHandler(e) { } } -let mod; -async function loaded() { - console.debug('loading robo worker'); - if (mod === undefined) { - console.debug('worker running init'); - mod = await init(); - console.debug('worker init done'); - vm = make_vm(); - console.debug('worker vm made'); - } - - addEventListener('message', messageHandler); - console.debug('bjc loaded robo'); -} - -loaded(); +self.addEventListener('message', messageHandler); -- cgit v1.3