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:
2026-09-08 10:46:27 +08:00
parent 845075f4a3
commit bade560372
55 changed files with 2495 additions and 286 deletions

View File

@@ -18,6 +18,7 @@ export type MessageEnvelope<TPayload = unknown> = {
};
export type MotionSnapshot = {
stepping?: boolean;
axes?: number[];
joints?: number[];
velocity?: number[];
@@ -78,6 +79,8 @@ export type SimSnapshotV1 = {
kinematics?: XyzacKinematicsSnapshot;
xyzac?: XyzacCapabilitySnapshot;
gates?: Record<string, { action: string; enabled: boolean; reason: string }>;
ui_gates?: Record<string, { action: string; enabled: boolean; reason: string }>;
ui_relief?: Record<string, boolean>;
motion_authority?: string;
task_authority?: string;
};
@@ -129,6 +132,8 @@ export type PanelSnapshotV1 = {
configuration: Record<string, unknown> | null;
axis_state: AxisStateView;
gates: Record<string, { action: string; enabled: boolean; reason: string }>;
ui_gates?: Record<string, { action: string; enabled: boolean; reason: string }>;
ui_relief?: Record<string, boolean>;
visual: {
schema: "axis-visual.v1";
pose: Record<string, number>;