importScripts('https://unpkg.com/canvaskit-wasm@0.25.0/bin/full/canvaskit.js'); importScripts('shared.js'); const transferCanvasToOffscreenPromise = new Promise((resolve) => addEventListener('message', resolve)); const canvasKitInitPromise = CanvasKitInit({locateFile: (file) => 'https://unpkg.com/canvaskit-wasm@0.25.0/bin/full/'+file}); const skottieJsonPromise = fetch('https://storage.googleapis.com/skia-cdn/misc/lego_loader.json') .then((response) => response.text()); Promise.all([ transferCanvasToOffscreenPromise, canvasKitInitPromise, skottieJsonPromise ]).then(([ { data: { offscreenCanvas } }, CanvasKit, jsonStr ]) => { const surface = CanvasKit.MakeWebGLCanvasSurface(offscreenCanvas, null); if (!surface) { throw 'Could not make canvas surface'; } SkottieExample(CanvasKit, surface, jsonStr); });