UNPKG

@loaders.gl/draco

Version:

Framework-independent loader and writer for Draco compressed meshes and point clouds

26 lines (23 loc) 758 B
import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils'; import {DracoWriter} from '../draco-writer'; (async () => { // Check that we are actually in a worker thread if (!(await WorkerBody.inWorkerThread())) { return; } WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => { switch (type) { case 'process': try { const {input, options} = payload; const result = await DracoWriter.encode(input, options); WorkerBody.postMessage('done', {result}); } catch (error) { const message = error instanceof Error ? error.message : ''; WorkerBody.postMessage('error', {error: message}); } break; default: } }; })();