node:internal/deps/undici/undici:11576
Error.captureStackTrace(err, this);
^
TypeError: fetch failed
at Object.fetch (node:internal/deps/undici/undici:11576:11) {
cause: Error: unknown scheme
at makeNetworkError (node:internal/deps/undici/undici:6893:35)
at schemeFetch (node:internal/deps/undici/undici:11036:18)
at node:internal/deps/undici/undici:10909:26
at mainFetch (node:internal/deps/undici/undici:10926:11)
at fetching (node:internal/deps/undici/undici:10883:7)
at fetch2 (node:internal/deps/undici/undici:10761:20)
at Object.fetch (node:internal/deps/undici/undici:11574:18)
at fetch (node:internal/process/pre_execution:229:25)
at instantiateAsync (C:\...\node_modules\tolw\tolw.js:693:7)
at createWasm (C:\...\WebGPU-Path-Tracer\node_modules\tolw\tolw.js:717:3)
}
async function instantiateAsync() {
// Check if running in Node.js environment
if (ENVIRONMENT_IS_NODE) {
const fs = require('fs').promises;
try {
const path = require('path');
// Ensure the path is correctly resolved, especially if running from different directories
const wasmPath = path.resolve(__dirname, wasmBinaryFile);
const wasmBinary = await fs.readFile(wasmPath);
const wasmObject = await WebAssembly.instantiate(new Uint8Array(wasmBinary), info);
receiveInstance(wasmObject.instance);
} catch (err) {
console.error('Error during Wasm instantiation:', err);
abort(err);
}
} else if (typeof WebAssembly.instantiateStreaming === 'function' && !isDataURI(wasmBinaryFile) && typeof fetch === 'function') {
// Existing fetch logic for web environments...
fetch(wasmBinaryFile, { credentials: 'same-origin' })
.then(response => {
const result = WebAssembly.instantiateStreaming(response, info);
return result.then(receiveInstantiatedSource, reason => {
console.error('Wasm streaming compile failed:', reason);
console.error('Falling back to ArrayBuffer instantiation');
instantiateArrayBuffer(receiveInstantiatedSource);
});
});
} else {
return instantiateArrayBuffer(receiveInstantiatedSource);
}
}