Split into more components
This commit is contained in:
parent
704c6ed074
commit
0e97a288e1
11 changed files with 276 additions and 160 deletions
|
|
@ -31,7 +31,7 @@ export type OpenSCADInvocationResults = {
|
|||
elapsedMillis: number,
|
||||
}
|
||||
|
||||
export function spawnOpenSCAD({inputs, args, outputPaths}: OpenSCADInvocation): AbortablePromise<OpenSCADInvocationResults> {
|
||||
export function spawnOpenSCAD(invocation: OpenSCADInvocation): AbortablePromise<OpenSCADInvocationResults> {
|
||||
var worker: Worker | null;
|
||||
var rejection: (err: any) => void;
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ export function spawnOpenSCAD({inputs, args, outputPaths}: OpenSCADInvocation):
|
|||
resolve(e.data);
|
||||
terminate();
|
||||
}
|
||||
worker.postMessage({inputs, args, outputPaths})
|
||||
worker.postMessage(invocation)
|
||||
|
||||
return () => {
|
||||
// rejection({error: 'Terminated'});
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import OpenSCAD from "../wasm/openscad.js";
|
||||
|
||||
import { createEditorFS, getBrowserFSLibrariesMounts, symlinkLibraries } from "../fs/filesystem";
|
||||
import { createEditorFS, getBrowserFSLibrariesMounts, librariesFolder, symlinkLibraries } from "../fs/filesystem";
|
||||
import { OpenSCADInvocation, OpenSCADInvocationResults } from "./openscad-runner";
|
||||
import { zipArchives } from "../fs/zip-archives";
|
||||
declare var BrowserFS: BrowserFSInterface
|
||||
|
|
@ -33,12 +33,14 @@ addEventListener('message', async (e) => {
|
|||
console.debug('stderr: ' + text);
|
||||
mergedOutputs.push({ stderr: text })
|
||||
},
|
||||
ENV: {
|
||||
OPENSCADPATH: '/home'
|
||||
}
|
||||
// ENV: {
|
||||
// OPENSCADPATH: '/home'
|
||||
// }
|
||||
});
|
||||
|
||||
const fs = await createEditorFS('/home');
|
||||
// const librariesFolder = '/home/.local/share/OpenSCAD/libraries'
|
||||
const fs = await createEditorFS();
|
||||
await symlinkLibraries(allArchiveNames, fs, librariesFolder, '/home');//'/home', '/home');
|
||||
|
||||
// https://github.com/emscripten-core/emscripten/issues/10061
|
||||
const BFS = new BrowserFS.EmscriptenFS(
|
||||
|
|
@ -49,7 +51,7 @@ addEventListener('message', async (e) => {
|
|||
}, instance.ERRNO_CODES ?? {});
|
||||
instance.FS.mount(BFS, {root: '/home'}, '/home');
|
||||
|
||||
// await symlinkLibraries(allArchiveNames, instance.FS, '/home/libraries', '/home');
|
||||
//await symlinkLibraries(allArchiveNames, instance.FS, '/home/libraries', '/home');
|
||||
|
||||
instance.FS.chdir('/home');
|
||||
|
||||
|
|
@ -65,7 +67,7 @@ addEventListener('message', async (e) => {
|
|||
}
|
||||
}
|
||||
|
||||
console.log('Calling main ', args)
|
||||
console.log('Invoking OpenSCAD from ', workingDir, args)
|
||||
const start = performance.now();
|
||||
const exitCode = instance.callMain(args);
|
||||
const end = performance.now();
|
||||
|
|
|
|||
Loading…
Reference in a new issue