Move panel temporary state to worker OPFS

This commit is contained in:
2026-09-03 14:03:32 +08:00
parent 0f6691a9fc
commit 2b1e249baf
22 changed files with 688 additions and 42 deletions

View File

@@ -1,12 +1,14 @@
import createModule from "../../build-wasm/linuxcnc-sim-core.js";
import { XyzacSession } from "./xyzac-session.mjs";
import { handleWorkerMessage } from "./opfs-worker-bridge.mjs";
const core = await createModule();
const session = new XyzacSession(core, { planner: "linuxcnc-tp" });
self.onmessage = (event) => {
let serial = Promise.resolve();
self.onmessage = (event) => { serial = serial.then(async () => {
try {
self.postMessage(session.accept(event.data));
self.postMessage(await handleWorkerMessage(session, event.data));
} catch (error) {
self.postMessage({
schema_version: 1,
@@ -17,4 +19,5 @@ self.onmessage = (event) => {
payload: { status: "error", code: "worker_exception", message_key: String(error?.message ?? error), retryable: false },
});
}
});
};