Make machine configuration authoritative and restore native checkpoints exactly

This commit is contained in:
2026-09-18 09:09:41 +08:00
parent 6a69511276
commit 4a568f1f4c
94 changed files with 10882 additions and 301 deletions

View File

@@ -1,6 +1,7 @@
import { SimSession, CONTEXT_ID, PROTOCOL_SCHEMA } from "./sim-session.mjs";
import { XyzacCommandLedger, XYZAC_COMMAND_LEDGER_SCHEMA } from "./xyzac-command-ledger.mjs";
import { XyzacScheduler, XYZAC_SCHEDULER_SCHEMA } from "./xyzac-scheduler.mjs";
import { DEFAULT_MACHINE } from "../workspace/machine-definitions.mjs";
export const XYZAC_SESSION_SCHEMA = "xyzac-session.v1";
@@ -13,6 +14,7 @@ export class XyzacSession extends SimSession {
}
authority() {
const machine = this.machineDefinition ?? DEFAULT_MACHINE;
return {
schema: XYZAC_SESSION_SCHEMA,
authority: "linuxcnc-wasm-worker",
@@ -22,7 +24,7 @@ export class XyzacSession extends SimSession {
protocol_schema: PROTOCOL_SCHEMA,
ledger_schema: XYZAC_COMMAND_LEDGER_SCHEMA,
scheduler_schema: XYZAC_SCHEDULER_SCHEMA,
machine: { coordinates: "XYZAC", joint_count: 5, kinematics: "xyzac-trt", rotary_units: "degrees" },
machine: { coordinates: machine.coordinates, joint_count: machine.joint_count, kinematics: machine.id, rotary_units: "degrees" },
};
}