summaryrefslogtreecommitdiff
path: root/webhogg/wasm/pkg/main.js
blob: f16a775719fc08d97903948ddd7356800a6dd93e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
workers = [];

function exit() {
    for (var worker of workers) {
        worker.terminate();
    }
    console.clear();
}

async function main() {
    let fetchingSource = fetch('bin/webhogg-wasm.wasm');

    let canvasElement = document.getElementById('c');
    let offCanvas = canvasElement.transferControlToOffscreen();

    let fetchedSource = await fetchingSource;
    source = await fetchedSource.arrayBuffer();

    const modules = [
        ['graphics', source, [offCanvas], 100],
        ['logic', source, [], 1000]
    ];
    for (var module of modules) {
        let worker = new Worker('pkg/worker.js');
        worker.postMessage(module, module[2]);
        workers.push(worker);
    }
}
main();