'use strict'; importScripts('./pixel-codec.js'); const PixelCodec = self.PixelIslandModules.PixelCodec; self.onmessage = (event) => { const { id, type, payload } = event.data || {}; try { if (type === 'buildPixelBlobs') { const palette = Array.isArray(payload?.palette) ? payload.palette : []; const defaultColorCode = payload?.defaultColorCode || 'a'; const blobs = (payload?.assets || []).map((asset) => PixelCodec.buildPixelBlob(asset?.faces?.right || asset?.pixels || '', PixelCodec.assetWidth(asset), PixelCodec.assetHeight(asset), palette, defaultColorCode)); self.postMessage({ id, ok: true, result: blobs }); return; } self.postMessage({ id, ok: false, error: 'unsupported_worker_request' }); } catch (error) { self.postMessage({ id, ok: false, error: error?.message || 'worker_error' }); } };