wtd-three-ext
v4.0.1
Published
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kaisalmen/wtd/blob/main/LICENSE) [![wtd](https://github.com/kaisalmen/wtd/actions/workflows/actions.yml/badge.svg)](https://github.com/kaisalmen/wtd/actions/workflow
Downloads
1,151
Readme
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):
// let WorkerTask create the worker
const workerTask = new WorkerTask({
endpointName,
endpointId: 1,
endpointConfig: {
$type: 'WorkerConfigParams',
url: new URL('./HelloWorldWorker.js', import.meta.url),
workerType: 'module',
},
verbose: true
});
try {
// cteates and connects the worker callback functions and the WorkerTask
workerTask.connect();
// execute without init and an empty message
const resultExec = await workerTask.executeWorker({
message: WorkerTaskMessage.createEmpty()
});
// once you awaited the resulting WorkerTaskMessage extract the RawPayload
const rawPayload = resultExec.payloads?.[0] as RawPayload;
// log the hello from the HelloWorldWorker
console.log(`Worker said: ${rawPayload.message.raw?.hello}`);
} catch (e) {
// error handling
console.error(e);
}
Further information is found in the main README of the overall repository.
All changes are noted in the overall CHANGELOG.