Complete XYZAC LinuxCNC WASM parity and smooth 3D preview

This commit is contained in:
2026-08-28 06:24:50 +08:00
parent e8fe323aab
commit 1a7995fa9b
181 changed files with 36854 additions and 215 deletions

View File

@@ -56,6 +56,37 @@ export type SimSnapshotV1 = {
panel_snapshot?: PanelSnapshotV1;
configuration?: Record<string, unknown> | null;
visual?: PanelSnapshotV1["visual"];
kinematics?: XyzacKinematicsSnapshot;
xyzac?: XyzacCapabilitySnapshot;
gates?: Record<string, { action: string; enabled: boolean; reason: string }>;
};
export type XyzacKinematicsSnapshot = {
schema: "wasm-xyzac-kinematics.v1";
status: "verified" | "error" | "blocked";
active_type: 0 | 1 | 2;
native_type: string;
coordinates: "XYZAC";
joint_count: 5;
linear_units: "mm";
angular_units: "deg";
pose: Record<"x" | "y" | "z" | "a" | "b" | "c" | "u" | "v" | "w", number>;
joints: [number, number, number, number, number];
offsets: { x_rot_point: number; y_offset: number; z_offset: number; tool_offset: number };
generation: number;
switch_count: number;
state_hash: string;
wasm_state_hash: string;
};
export type XyzacCapabilitySnapshot = {
coordinates: "XYZAC";
joint_count: 5;
active_type: 0 | 1 | 2;
hal_pin_vars: boolean;
switchkins_net: boolean;
finite_offsets: boolean;
userk_capability: boolean;
};
export type PanelSnapshotV1 = {
@@ -81,13 +112,18 @@ export type PanelSnapshotV1 = {
schema: "axis-visual.v1";
pose: Record<string, number>;
joints: number[];
toolpath: Array<Record<string, unknown>>;
toolpath?: Array<Record<string, unknown>>;
active_segment_id?: number | null;
active_progress?: number;
motion_trace?: Array<{ tick: number; pose: Record<string, number>; joints: number[]; active_segment_id: number; active_progress: number }>;
source: "wasm_canonical_motion";
};
authoritative: Record<string, unknown>;
motion_authority: string;
task_authority: string;
kinematics?: XyzacKinematicsSnapshot;
xyzac?: XyzacCapabilitySnapshot;
io?: Record<string, unknown>;
};
export type Capabilities = {