This commit is contained in:
33333-33333 2026-06-04 16:40:45 +09:00
commit 7fd7ba2e76
8 changed files with 512 additions and 147 deletions

21
js/pixel-worker.js Normal file
View file

@ -0,0 +1,21 @@
'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' });
}
};