split
This commit is contained in:
parent
88b5669961
commit
7fd7ba2e76
8 changed files with 512 additions and 147 deletions
21
js/pixel-worker.js
Normal file
21
js/pixel-worker.js
Normal 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' });
|
||||
}
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue