Complete 3axis tutorial native and Web/WASM parity tools
This commit is contained in:
@@ -124,18 +124,16 @@ export class AuthoritativeRuntime {
|
||||
this.state.planner.queue_depth = 0;
|
||||
return { status: "verified", command: "AUTHORITATIVE_ABORT" };
|
||||
}
|
||||
if (this.state.program_status === "completed") {
|
||||
this.state.status = "completed";
|
||||
return { status: "verified", command: "AUTHORITATIVE_COMPLETE", queue_depth: this.state.planner.queue_depth };
|
||||
}
|
||||
const planner = this.state.planner;
|
||||
const last = planner.queue.at(-1)?.end ?? (planner.active_id === null ? this.state.kinematics.pose : null);
|
||||
const last = planner.queue.at(-1)?.end ?? planner.active?.end ?? (planner.active_id === null ? this.state.kinematics.pose : null);
|
||||
if (!samePose(target, last)) {
|
||||
const id = planner.next_id++;
|
||||
planner.queue.push({ id, source_line: program.line ?? null, start: clone(this.state.kinematics.pose), end: target });
|
||||
}
|
||||
planner.queue_depth = planner.queue.length + (planner.active_id === null ? 0 : 1);
|
||||
this.state.status = this.state.program_status === "completed" ? "completed" : "running";
|
||||
// M2 marks the interpreter complete, but AXIS remains visibly active until
|
||||
// the final queued motion reaches its endpoint.
|
||||
this.state.status = this.state.program_status === "completed" && planner.queue_depth === 0 ? "completed" : "running";
|
||||
return { status: "verified", command: "AUTHORITATIVE_SYNC", queue_depth: planner.queue_depth };
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user