21 lines
648 B
JavaScript
21 lines
648 B
JavaScript
import createModule from "../../build-wasm/linuxcnc-sim-core.js";
|
|
import { XyzacSession } from "./xyzac-session.mjs";
|
|
|
|
const core = await createModule();
|
|
const session = new XyzacSession(core, { planner: "linuxcnc-tp" });
|
|
|
|
self.onmessage = (event) => {
|
|
try {
|
|
self.postMessage(session.accept(event.data));
|
|
} catch (error) {
|
|
self.postMessage({
|
|
schema_version: 1,
|
|
kind: "ERROR",
|
|
context_id: session.contextId,
|
|
session_id: session.sessionId,
|
|
seq: event.data?.seq ?? 0,
|
|
payload: { status: "error", code: "worker_exception", message_key: String(error?.message ?? error), retryable: false },
|
|
});
|
|
}
|
|
};
|