Worker Task Director Three.js Extenstions (wtd-three-ext)

three.js related extensions of wtd-core and additional three.js related utility functions.
Examples
There are multiple examples available demonstarting the features described above (listed from simpler to more advanced):
- WorkerTaskDirector: Transferables: html, ts, Worker: 1, 2, 3, 4
- WorkerTaskDirector: Three.js: html, ts, Worker: 1, 2
- WorkerTaskDirector: Potentially Infinite Execution: html, ts, Worker: 1, 2, 3, 4
Try out all examples here: https://kaisalmen.github.io/wtd
Usage
This shall give you an idea how you can use module worker with WorkerTask (derived from WorkerTask: Hello World):
const workerTask = new WorkerTask({
endpointName,
endpointId: 1,
endpointConfig: {
$type: 'WorkerConfigParams',
url: new URL('./HelloWorldWorker.js', import.meta.url),
workerType: 'module',
},
verbose: true
});
try {
workerTask.connect();
const resultExec = await workerTask.executeWorker({
message: WorkerTaskMessage.createEmpty()
});
const rawPayload = resultExec.payloads?.[0] as RawPayload;
console.log(`Worker said: ${rawPayload.message.raw?.hello}`);
} catch (e) {
console.error(e);
}
Further information is found in the main README of the overall repository.
All changes are noted in the overall CHANGELOG.