Align AXIS control flow and fix pause and program rendering
Document source UI gates, explicit native live-plot clearing, and remaining parity boundaries. Fix pause/resume transport continuity, repeated stepping, coordinate previews, and spindle override state. Optimize large program snapshots and rendering, and cover the control flows with native Tcl, WASM, and browser checks. Validation: 22 native tests and source/browser checks pass. Worker/App regression: 113 of 123 pass; 10 pre-existing failures remain documented with no new failures.
This commit is contained in:
@@ -12,6 +12,9 @@ export type XyzacVisualState = {
|
||||
livePathEpoch: number;
|
||||
motionTrace: Array<{ tick: number; pose: XyzacKinematicsSnapshot["pose"]; joints: number[]; activeSegmentId: number; activeProgress: number }>;
|
||||
offsets: XyzacKinematicsSnapshot["offsets"];
|
||||
coordinateOffset?: number[];
|
||||
machineLimits?: number[][];
|
||||
velocityMmMin?: number;
|
||||
activeSegmentId: number | null;
|
||||
toolpath: Array<Record<string, unknown>>;
|
||||
source: "linuxcnc-wasm-worker";
|
||||
@@ -24,6 +27,7 @@ export type XyzacVisualSource = {
|
||||
simulation_tick?: number;
|
||||
state_hash?: string;
|
||||
kinematics?: XyzacKinematicsSnapshot;
|
||||
motion?: { velocity_mm_min?: number };
|
||||
visual?: { active_segment_id?: number | null; active_progress?: number; live_path_epoch?: number; motion_trace?: Array<{ tick: number; pose: Record<string, number>; joints: number[]; active_segment_id: number; active_progress: number }>; pose?: Record<string, number>; joints?: number[]; toolpath?: Array<Record<string, unknown>> };
|
||||
};
|
||||
|
||||
@@ -52,6 +56,9 @@ export function projectXyzacVisual(snapshot: XyzacVisualSource | null | undefine
|
||||
livePathEpoch: Number.isSafeInteger(snapshot?.visual?.live_path_epoch) ? Number(snapshot?.visual?.live_path_epoch) : 0,
|
||||
motionTrace,
|
||||
offsets: kinematics?.offsets ?? ZERO_OFFSETS,
|
||||
coordinateOffset: (snapshot?.visual as { coordinate_offset?: number[] })?.coordinate_offset,
|
||||
machineLimits: (snapshot?.visual as { machine_limits?: number[][] })?.machine_limits,
|
||||
velocityMmMin: (snapshot?.visual as { velocity_mm_min?: number })?.velocity_mm_min ?? snapshot?.motion?.velocity_mm_min,
|
||||
activeSegmentId: snapshot?.visual?.active_segment_id ?? null,
|
||||
toolpath: snapshot?.visual?.toolpath ?? [],
|
||||
source: "linuxcnc-wasm-worker",
|
||||
|
||||
Reference in New Issue
Block a user