- Web Worker routing — A* search runs in a background Worker thread, keeping the UI responsive during large batch routes - Worker watchdog — auto-falls back to main-thread routing on any failure - Worker held-pause — drag-pause re-routes also run in worker - stretch.js — extracted sticky-path logic, shared by main thread and worker - Profiler disk export — POST /linkrouter/write_log endpoint saves reports - Chunked worker processing — 8ms macrotask slices for cancel responsiveness - New settings: Background worker routing, Held-pause in worker
13 lines
503 B
JavaScript
13 lines
503 B
JavaScript
// router-worker.js — DedicatedWorker entry (module worker). All logic lives
|
|
// in router-worker-core.js so it can also run under Node for testing.
|
|
|
|
import { createEngine } from "./router-worker-core.js";
|
|
|
|
// Guarded so an accidental import outside a Worker (tests, bundlers) is inert.
|
|
if (typeof globalThis.postMessage === "function") {
|
|
const engine = createEngine((msg, transfer) =>
|
|
globalThis.postMessage(msg, transfer),
|
|
);
|
|
globalThis.onmessage = (ev) => engine.handleMessage(ev.data);
|
|
}
|