@loaders.gl/textures
Version:
Framework-independent loaders for compressed and super compressed (basis) textures
30 lines (26 loc) • 907 B
text/typescript
// loaders.gl
// SPDX-License-Identifier: MIT
// Copyright (c) vis.gl contributors
import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';
import {KTX2BasisWriter, KTX2BasisWriterOptions} from '../ktx2-basis-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 KTX2BasisWriter.encode?.(input, options as KTX2BasisWriterOptions);
WorkerBody.postMessage('done', {result});
} catch (error) {
const message = error instanceof Error ? error.message : '';
WorkerBody.postMessage('error', {error: message});
}
break;
default:
}
};
})();