{ "authority": { "authority_owner": "linuxcnc-wasm-worker", "existing_audit": { "open_boundaries": [ "T1_FULL_CANONICAL_CALLBACKS", "T2_FULL_WASM_PREVIEW", "T3_NON_SELECTED_MOTION_AUTHORITY", "T4_HAL_IO_TOOL_PROBE_CANONICAL_STATE", "T5_FULL_MATRIX" ], "path": "coverage/wasm-only-source-audit.report.json", "status": "blocked" }, "js_authority": 0 }, "axis_controls": { "keyboard_bindings": [ { "binding": "Alt-v", "control_id": "AXIS-KEY-ALT_V", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "2242-2243", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "Button-1", "control_id": "AXIS-KEY-BUTTON_1", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": null, "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "ButtonRelease-1", "control_id": "AXIS-KEY-BUTTONRELEASE_1", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": null, "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "Configure", "control_id": "AXIS-KEY-CONFIGURE", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "2234-2234", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "Control-Tab", "control_id": "AXIS-KEY-CONTROL_TAB", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "1989-1989", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "Key-Escape", "control_id": "AXIS-KEY-KEY_ESCAPE", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "1551-1607", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "Key-Return", "control_id": "AXIS-KEY-KEY_RETURN", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "1550-2245", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "greater", "control_id": "AXIS-KEY-GREATER", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "1406-1406", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "less", "control_id": "AXIS-KEY-LESS", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "1405-1405", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } }, { "binding": "semicolon", "control_id": "AXIS-KEY-SEMICOLON", "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "1430-1430", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "bind" } } ], "keyboard_count": 10, "menu_count": 80, "menus": [ { "control_id": "AXIS-MENU-FILE-_OPEN...", "label_source": "\"_Open...\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "58-58", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-RECENT__FILES", "label_source": "\"Recent _Files\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "62-62", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-_EDIT...", "label_source": "\"_Edit...\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "66-66", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-_RELOAD", "label_source": "\"_Reload\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "71-71", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-_SAVE_G-CODE_AS...", "label_source": "\"_Save G-code as...\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "76-76", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-_PROPERTIES...", "label_source": "\"_Properties...\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "80-80", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-EDIT__TOOL_DATA...", "label_source": "\"Edit _tool data...\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "86-86", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-RELOAD_TOOL__DATA", "label_source": "\"Reload tool _data\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "90-90", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-_LADDER_EDITOR...", "label_source": "\"_Ladder Editor...\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "96-96", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-_QUIT", "label_source": "\"_Quit\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "102-102", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-TOGGLE__EMERGENCY_STOP", "label_source": "\"Toggle _Emergency Stop\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "108-108", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-TOGGLE__MACHINE_POWER", "label_source": "\"Toggle _Machine Power\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "113-113", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-_RUN_PROGRAM", "label_source": "\"_Run program\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "120-120", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-RU_N_FROM_SELECTED_LINE", "label_source": "\"Ru_n from selected line\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "124-124", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-S_TEP", "label_source": "\"S_tep\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "129-129", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-_PAUSE", "label_source": "\"_Pause\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "134-134", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-RE_SUME", "label_source": "\"Re_sume\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "139-139", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-STOP", "label_source": "\"Stop\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "144-144", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-STOP_AT_M_1", "label_source": "\"Stop at M_1\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "149-149", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-SKIP_LINES_WITH__/", "label_source": "\"Skip lines with '_/'\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "154-154", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAR_MDI_H_ISTORY", "label_source": "\"Clear MDI h_istory\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "161-161", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-COPY_FROM_MDI_HIST_ORY", "label_source": "\"Copy from MDI hist_ory\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "165-165", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-PASTE_TO_MDI_HISTOR_Y", "label_source": "\"Paste to MDI histor_y\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "169-169", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-_CALIBRATION", "label_source": "\"_Calibration\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "175-175", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-SHOW__HAL_CONFIGURATION", "label_source": "\"Show _Hal Configuration\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "179-179", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-H_AL_METER", "label_source": "\"H_al Meter\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "183-183", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-HA_L_SCOPE", "label_source": "\"Ha_l Scope\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "187-187", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-SHO_W_LINUXCNC_STATUS", "label_source": "\"Sho_w LinuxCNC Status\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "191-191", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-SET__DEBUG_LEVEL", "label_source": "\"Set _Debug Level\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "195-195", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-HOMIN_G", "label_source": "\"Homin_g\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "201-201", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-_UNHOMING", "label_source": "\"_Unhoming\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "205-205", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-_ZERO_COORDINATE_SYSTEM", "label_source": "\"_Zero coordinate system\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "209-209", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P1__G5_4", "label_source": "\"P1 G5_4\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "213-213", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P2__G5_5", "label_source": "\"P2 G5_5\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "217-217", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P3__G5_6", "label_source": "\"P3 G5_6\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "221-221", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P4__G5_7", "label_source": "\"P4 G5_7\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "225-225", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P5__G5_8", "label_source": "\"P5 G5_8\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "229-229", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P6__G5_9", "label_source": "\"P6 G5_9\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "233-233", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P7__G59._1", "label_source": "\"P7 G59._1\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "237-237", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P8__G59._2", "label_source": "\"P8 G59._2\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "241-241", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-P9__G59._3", "label_source": "\"P9 G59._3\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "245-245", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-CLEAROFFSET-_G92", "label_source": "\"_G92\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "249-249", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-TOOL_TOUCH_OFF_TO_WOR_KPIECE", "label_source": "\"Tool touch off to wor_kpiece\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "257-257", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-MACHINE-TOOL_TOUCH_OFF_TO__FIXTURE", "label_source": "\"Tool touch off to _fixture\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "263-263", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-_TOP_VIEW", "label_source": "\"_Top view\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "271-271", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-_ROTATED_TOP_VIEW", "label_source": "\"_Rotated Top view\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "278-278", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-_SIDE_VIEW", "label_source": "\"_Side view\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "285-285", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-_FRONT_VIEW", "label_source": "\"_Front view\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "292-292", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-_PERSPECTIVE_VIEW", "label_source": "\"_Perspective view\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "299-299", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-DISPLAY__INCHES", "label_source": "\"Display _Inches\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "308-308", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-DISPLAY__MM", "label_source": "\"Display _MM\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "315-315", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-S_HOW_PROGRAM", "label_source": "\"S_how program\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "322-322", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_PROGRAM_R_APIDS", "label_source": "\"Show program r_apids\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "327-327", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-ALPHA-_BLEND_PROGRAM", "label_source": "\"Alpha-_blend program\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "332-332", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHO_W_LIVE_PLOT", "label_source": "\"Sho_w live plot\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "337-337", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_TOO_L", "label_source": "\"Show too_l\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "342-342", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_E_XTENTS", "label_source": "\"Show e_xtents\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "347-347", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-_GRID", "label_source": "\"_Grid\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "351-351", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_O_FFSETS", "label_source": "\"Show o_ffsets\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "356-356", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SH_OW_MACHINE_LIMITS", "label_source": "\"Sh_ow machine limits\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "361-361", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_V_ELOCITY", "label_source": "\"Show v_elocity\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "366-366", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW__DISTANCE_TO_GO", "label_source": "\"Show _distance to go\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "371-371", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-LARGE_COORDINATE_FO_NT", "label_source": "\"Large coordinate fo_nt\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "376-376", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-_CLEAR_LIVE_PLOT", "label_source": "\"_Clear live plot\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "381-381", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_PYVCP_PAN_EL", "label_source": "\"Show PyVCP pan_el\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "387-387", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_COMMANDED_POSITION", "label_source": "\"Show commanded position\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "396-396", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_ACTUAL_POSITION", "label_source": "\"Show actual position\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "403-403", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_MACHINE_POSITION", "label_source": "\"Show machine position\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "412-412", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-SHOW_RELATIVE_POSITION", "label_source": "\"Show relative position\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "419-419", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-JOINT_MODE", "label_source": "\"Joint mode\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "428-428", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-WORLD_MODE", "label_source": "\"World mode\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "435-435", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-GRID-_OFF", "label_source": "\"_Off\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "443-443", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-VIEW-GRID-_CUSTOM", "label_source": "\"_Custom\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "449-449", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-HELP-_ABOUT_AXIS", "label_source": "\"_About AXIS\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "460-460", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-HELP-QUICK__REFERENCE", "label_source": "\"Quick _Reference\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "464-464", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU--_FILE", "label_source": "_File]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "470-470", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU--_MACHINE", "label_source": "_Machine]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "474-474", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU--_VIEW", "label_source": "_View]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "478-478", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU--_HELP", "label_source": "_Help]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "482-482", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } }, { "control_id": "AXIS-MENU-FILE-RECENT-_CLEAR_RECENTS_LIST", "label_source": "\"_Clear Recents List\"]", "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "2230-2230", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": "setup_menu_accel" } } ], "source_sha256": "c9f0b4dc686717b37565f85fb0ab8cc8ded9cfa0028cc0aaaccdbcf808c4c524", "toolbar": [ { "control_id": "AXIS-TOOLBAR-MACHINE_ESTOP", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "490-1775", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.machine_estop" }, "widget": ".toolbar.machine_estop" }, { "control_id": "AXIS-TOOLBAR-MACHINE_POWER", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "498-1778", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.machine_power" }, "widget": ".toolbar.machine_power" }, { "control_id": "AXIS-TOOLBAR-FILE_OPEN", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "509-1787", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.file_open" }, "widget": ".toolbar.file_open" }, { "control_id": "AXIS-TOOLBAR-RELOAD", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "517-1781", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.reload" }, "widget": ".toolbar.reload" }, { "control_id": "AXIS-TOOLBAR-PROGRAM_RUN", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "527-1799", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.program_run" }, "widget": ".toolbar.program_run" }, { "control_id": "AXIS-TOOLBAR-PROGRAM_STEP", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "535-1801", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.program_step" }, "widget": ".toolbar.program_step" }, { "control_id": "AXIS-TOOLBAR-PROGRAM_PAUSE", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "543-1810", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.program_pause" }, "widget": ".toolbar.program_pause" }, { "control_id": "AXIS-TOOLBAR-PROGRAM_STOP", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "558-1818", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.program_stop" }, "widget": ".toolbar.program_stop" }, { "control_id": "AXIS-TOOLBAR-PROGRAM_BLOCKDELETE", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "568-1812", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.program_blockdelete" }, "widget": ".toolbar.program_blockdelete" }, { "control_id": "AXIS-TOOLBAR-PROGRAM_OPTPAUSE", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "575-1814", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.program_optpause" }, "widget": ".toolbar.program_optpause" }, { "control_id": "AXIS-TOOLBAR-VIEW_ZOOMIN", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "584-741", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_zoomin" }, "widget": ".toolbar.view_zoomin" }, { "control_id": "AXIS-TOOLBAR-VIEW_ZOOMOUT", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "592-745", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_zoomout" }, "widget": ".toolbar.view_zoomout" }, { "control_id": "AXIS-TOOLBAR-VIEW_Z", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "584-753", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_z" }, "widget": ".toolbar.view_z" }, { "control_id": "AXIS-TOOLBAR-VIEW_Z2", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "608-753", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_z2" }, "widget": ".toolbar.view_z2" }, { "control_id": "AXIS-TOOLBAR-VIEW_X", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "616-757", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_x" }, "widget": ".toolbar.view_x" }, { "control_id": "AXIS-TOOLBAR-VIEW_Y", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "624-765", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_y" }, "widget": ".toolbar.view_y" }, { "control_id": "AXIS-TOOLBAR-VIEW_Y2", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "632-765", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_y2" }, "widget": ".toolbar.view_y2" }, { "control_id": "AXIS-TOOLBAR-VIEW_P", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "640-769", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.view_p" }, "widget": ".toolbar.view_p" }, { "control_id": "AXIS-TOOLBAR-ROTATE", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "648-773", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.rotate" }, "widget": ".toolbar.rotate" }, { "control_id": "AXIS-TOOLBAR-CLEAR_PLOT", "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "663-784", "path": "linuxcnc/share/axis/tcl/axis.tcl", "symbol": ".toolbar.clear_plot" }, "widget": ".toolbar.clear_plot" } ], "toolbar_count": 20 }, "blockers": [], "case": { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", "sha256": "f985970db293b70c055e4c41fc316d0c16037b5dc7ce07490e18f554e851f811", "status": "indexed" }, "checks": { "all_controls_commands_states_have_slice_id": true, "all_direct_sources_have_sha256": true, "exact_resources_resolved_or_explicitly_blocked": true, "js_authority": 0, "unregistered_slice_count": 0 }, "command_contract": [ { "command": "PROGRAM_LOAD", "slice_id": "AXIS-XYZAC-PROGRAM-MDI" }, { "command": "PROGRAM_RUN", "slice_id": "AXIS-XYZAC-PROGRAM-MDI" }, { "command": "PROGRAM_PAUSE", "slice_id": "AXIS-XYZAC-PROGRAM-MDI" }, { "command": "PROGRAM_RESUME", "slice_id": "AXIS-XYZAC-PROGRAM-MDI" }, { "command": "PROGRAM_ABORT", "slice_id": "AXIS-XYZAC-PROGRAM-MDI" }, { "command": "MDI_EXECUTE", "slice_id": "AXIS-XYZAC-PROGRAM-MDI" }, { "command": "JOG_START", "slice_id": "AXIS-XYZAC-JOG-HOME" }, { "command": "JOG_STOP", "slice_id": "AXIS-XYZAC-JOG-HOME" }, { "command": "HOME", "slice_id": "AXIS-XYZAC-JOG-HOME" }, { "command": "M428", "slice_id": "AXIS-XYZAC-M428-M429-M430" }, { "command": "M429", "slice_id": "AXIS-XYZAC-M428-M429-M430" }, { "command": "M430", "slice_id": "AXIS-XYZAC-M428-M429-M430" }, { "command": "SIM_STEP", "slice_id": "AXIS-XYZAC-TASK-TP-MOTION" }, { "command": "CHECKPOINT", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" }, { "command": "RECOVER", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" } ], "context_id": "linuxcnc-2.10.0-pre0-wasm-m1-py-c1", "counts": { "axis_keyboard": 10, "axis_menus": 80, "axis_toolbar": 20, "blocked_resources": 0, "direct_sources": 35, "slices": 11, "unregistered_slices": 0 }, "direct_input_specs": [ { "kind": "file", "path": "doc-rtcp/xyzac-trt-web-wasm-source-parity-contract.md", "status": "indexed" }, { "kind": "file", "path": "doc-rtcp/xyzac-trt-web-wasm-implementation-plan.md", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.xml", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/switchkins_postgui.hal", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/share/axis/tcl/axis.tcl", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/lib/python/rs274/glcanon.py", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/lib/python/gremlin.py", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/hal/user_comps/vismach/xyzac-trt-gui.py", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/kinematics/xyzac-trt-kins.c", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/kinematics/trtfuncs.c", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/kinematics/switchkins.c", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/rs274ngc/interp_read.cc", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/rs274ngc/interp_execute.cc", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/tp/tp.c", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/motion/command.c", "status": "indexed" }, { "kind": "file", "path": "linuxcnc/src/emc/motion/control.c", "status": "indexed" }, { "kind": "file", "path": "context-lock.json", "status": "indexed" }, { "kind": "directory", "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos", "resolved_files": [ "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc" ], "status": "indexed" }, { "kind": "directory", "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs", "resolved_files": [ "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_ac.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzac_switchkins_sub.ngc", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc" ], "status": "indexed" } ], "direct_sources": [ { "bytes": 18207, "path": "doc-rtcp/xyzac-trt-web-wasm-source-parity-contract.md", "role": "direct-input", "sha256": "43417ceed9a7b6e3446d35de964b767f423b0074fdc64c6f4ec5087a399f0767", "status": "indexed" }, { "bytes": 25179, "path": "doc-rtcp/xyzac-trt-web-wasm-implementation-plan.md", "role": "direct-input", "sha256": "ac2c2a35b3a22109bf6da811333f47e74edf95c135a40a10ef49337e57f34187", "status": "indexed" }, { "bytes": 4864, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", "role": "direct-input", "sha256": "f985970db293b70c055e4c41fc316d0c16037b5dc7ce07490e18f554e851f811", "status": "indexed" }, { "bytes": 928, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.xml", "role": "direct-input", "sha256": "84efa01584693ab8f4a9c0730e341a9dbe87d9341472081ee80d59a0bfb90941", "status": "indexed" }, { "bytes": 538, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/switchkins_postgui.hal", "role": "direct-input", "sha256": "55e969c22ca9054a818dbedc8ec50bed768d9ab3d8c4bfdfcfc78e912e9271c4", "status": "indexed" }, { "bytes": 157381, "path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py", "role": "direct-input", "sha256": "328c038a1e8fefd952e53c8e398e3fa98b04602351c44318edd1b044e8f63ffa", "status": "indexed" }, { "bytes": 63423, "path": "linuxcnc/share/axis/tcl/axis.tcl", "role": "direct-input", "sha256": "c9f0b4dc686717b37565f85fb0ab8cc8ded9cfa0028cc0aaaccdbcf808c4c524", "status": "indexed" }, { "bytes": 76641, "path": "linuxcnc/lib/python/rs274/glcanon.py", "role": "direct-input", "sha256": "0dfb20f1fdc05289894f3aa638357d98e1063fbd53329c723c777399ec7b33b7", "status": "indexed" }, { "bytes": 23953, "path": "linuxcnc/lib/python/gremlin.py", "role": "direct-input", "sha256": "7559a52300de92ed156fe22267c8fbca975338321cf3afada141360a244756a3", "status": "indexed" }, { "bytes": 5882, "path": "linuxcnc/src/hal/user_comps/vismach/xyzac-trt-gui.py", "role": "direct-input", "sha256": "307145896092a980251d48dbcb90f39a6dcf1361bc65eb5cbe8cc4e39fd55d8a", "status": "indexed" }, { "bytes": 1896, "path": "linuxcnc/src/emc/kinematics/xyzac-trt-kins.c", "role": "direct-input", "sha256": "24c633613db9876c2ec246e1519a63d288fd27c68296d89f89f0368105634e69", "status": "indexed" }, { "bytes": 13363, "path": "linuxcnc/src/emc/kinematics/trtfuncs.c", "role": "direct-input", "sha256": "ced2f9d4732681e2e82153b2f6343eccdf6972222d558d1e277bf1ec0bdc87fd", "status": "indexed" }, { "bytes": 11718, "path": "linuxcnc/src/emc/kinematics/switchkins.c", "role": "direct-input", "sha256": "4de32a4a147e5ceee5346b9c6bf471dddf5c64ff58afe5044406c50bcd96b7f5", "status": "indexed" }, { "bytes": 123494, "path": "linuxcnc/src/emc/rs274ngc/interp_read.cc", "role": "direct-input", "sha256": "72473355a0a1cef08bf922ee4d8b89f46210397957f9b1336254223eae66e116", "status": "indexed" }, { "bytes": 13102, "path": "linuxcnc/src/emc/rs274ngc/interp_execute.cc", "role": "direct-input", "sha256": "a7787d0ae340184f1fe5055ec52dee054a0e67626db6ecfe55418e3e4c99b53c", "status": "indexed" }, { "bytes": 121641, "path": "linuxcnc/src/emc/tp/tp.c", "role": "direct-input", "sha256": "e0e4be6ef0b0a6c8b5eee32db9307986651938bc72c4e2c44750133b8da4dba8", "status": "indexed" }, { "bytes": 71866, "path": "linuxcnc/src/emc/motion/command.c", "role": "direct-input", "sha256": "9d138ed5780a11ed037aa238781f4bfb4960a73ee23c0b0abf0724db068b3e3f", "status": "indexed" }, { "bytes": 84689, "path": "linuxcnc/src/emc/motion/control.c", "role": "direct-input", "sha256": "fa1b14689e2e4493c02d0939f982278366d4c1888da62e172cec030904c82c50", "status": "indexed" }, { "bytes": 7647, "path": "context-lock.json", "role": "direct-input", "sha256": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e", "status": "indexed" }, { "bytes": 70847, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc", "role": "direct-input", "sha256": "4d4769cbbb47ad7bf82c12bb1545c3854addebebe4642a3f50c8ccf5c560bcda", "status": "indexed" }, { "bytes": 76616, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc", "role": "direct-input", "sha256": "f46a1f485ca85e4e9900b7a9b4f59fed7fc9d7cf27a403e15841b933ab98f0bf", "status": "indexed" }, { "bytes": 294411, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc", "role": "direct-input", "sha256": "e90f0b4b6c43809da94a8170ee1029b5afc3e1bbe9bf2ae66298a8baefad013c", "status": "indexed" }, { "bytes": 139, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc", "role": "direct-input", "sha256": "5afc03d5c1b692edd4154a6d37e5f94d74936a7bd5e82dc9c022f7bc21c7dc17", "status": "indexed" }, { "bytes": 419, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc", "role": "direct-input", "sha256": "3cdffc0481c1d6b0a0a67151a06448c686d4109249ed73438d5ff4e72b9e7267", "status": "indexed" }, { "bytes": 475, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc", "role": "direct-input", "sha256": "a0b05e672e7f8b5d9c8f42ac3fd16320f68a67926ae1413d361d60cc508d953f", "status": "indexed" }, { "bytes": 304, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc", "role": "direct-input", "sha256": "0e7e3c2fe554f888d3f5ef055390a7153ffa7f9eeedaac116f78832ff7a31cc1", "status": "indexed" }, { "bytes": 139, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc", "role": "direct-input", "sha256": "75db56e24242b68e32a9a7f1943fe240c5f518cc1866ee823ea158f9f87ce9fe", "status": "indexed" }, { "bytes": 688, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc", "role": "direct-input", "sha256": "a0aee1d6b481a979849a17c0a23aa7524f52cbd875c92cbde3b73bf36f91d17b", "status": "indexed" }, { "bytes": 644, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc", "role": "direct-input", "sha256": "160479860b84e55ace49ffceb9594285ee90c521ba5eef916ef47ac8a6b3349d", "status": "indexed" }, { "bytes": 635, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc", "role": "direct-input", "sha256": "41090461a936a63432252d42f277c925f9aa5a0faf0497933910c3b051fcfe4f", "status": "indexed" }, { "bytes": 1134, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc", "role": "direct-input", "sha256": "58cf585aa10480a80fe8ac8f2eab5e877adca51b4b3518b337eab476de01b11c", "status": "indexed" }, { "bytes": 735, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_ac.ngc", "role": "direct-input", "sha256": "06cb755e33dc35d9a179b3c48e4203c8469632ab248d94379b10f2538dd0b54a", "status": "indexed" }, { "bytes": 735, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc", "role": "direct-input", "sha256": "2b8b36bf78d9227bd061083f883c72c7b0b205a8fe6d0a9407203b5375fe89fa", "status": "indexed" }, { "bytes": 1547, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzac_switchkins_sub.ngc", "role": "direct-input", "sha256": "833bf21b8ed0ce600dcf5819234320d85348d906bbba390b62f3704836ea254d", "status": "indexed" }, { "bytes": 1547, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc", "role": "direct-input", "sha256": "7265e848d0e123f439208caa88afccdf2803f34770042c778a8797a25d44537a", "status": "indexed" } ], "error_contract": [ { "error": "axis_gate", "slice_id": "AXIS-XYZAC-SHELL-MENU" }, { "error": "M428_HAL_PIN_MISSING", "slice_id": "AXIS-XYZAC-M428-M429-M430" }, { "error": "kinematics_singular", "slice_id": "AXIS-XYZAC-KINEMATICS" }, { "error": "following_error", "slice_id": "AXIS-XYZAC-TASK-TP-MOTION" }, { "error": "ledger_reconcile_required", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" } ], "exact_resources": [ { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini", "role": "case-entrypoint", "sha256": "f985970db293b70c055e4c41fc316d0c16037b5dc7ce07490e18f554e851f811", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.xml", "role": "PYVCP", "sha256": "84efa01584693ab8f4a9c0730e341a9dbe87d9341472081ee80d59a0bfb90941", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/switchkins_postgui.hal", "role": "POSTGUI_HALFILE", "sha256": "55e969c22ca9054a818dbedc8ec50bed768d9ab3d8c4bfdfcfc78e912e9271c4", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.tbl", "role": "TOOL_TABLE", "sha256": "41cf3c92574be99ecd6ed45e1869158b184620419d5d95a41649d25f15e141ff", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac.var", "role": "PARAMETER_FILE", "sha256": "163bbf80485fe2fe12700c1acb4b05eff774df68176d17e4eef5de8a7024c1ae", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc", "role": "OPEN_FILE", "sha256": "5afc03d5c1b692edd4154a6d37e5f94d74936a7bd5e82dc9c022f7bc21c7dc17", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc", "role": "REMAP:M428", "sha256": "a0aee1d6b481a979849a17c0a23aa7524f52cbd875c92cbde3b73bf36f91d17b", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc", "role": "REMAP:M429", "sha256": "160479860b84e55ace49ffceb9594285ee90c521ba5eef916ef47ac8a6b3349d", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc", "role": "REMAP:M430", "sha256": "41090461a936a63432252d42f277c925f9aa5a0faf0497933910c3b051fcfe4f", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzac_switchkins_sub.ngc", "role": "NGCGUI_SUBFILE", "sha256": "833bf21b8ed0ce600dcf5819234320d85348d906bbba390b62f3704836ea254d", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc", "role": "NGCGUI_SUBFILE", "sha256": "58cf585aa10480a80fe8ac8f2eab5e877adca51b4b3518b337eab476de01b11c", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_ac.ngc", "role": "RTCP-SUBROUTINE", "sha256": "06cb755e33dc35d9a179b3c48e4203c8469632ab248d94379b10f2538dd0b54a", "status": "resolved" }, { "path": "linuxcnc/lib/hallib/basic_sim.tcl", "role": "HALFILE:LIB:basic_sim.tcl", "sha256": "d9851b0a8861e6d66de745a8ae230d4b38b65c34f8b05bdb6705792d2d4050be", "status": "resolved" }, { "path": "linuxcnc/linuxcnc.gif", "role": "INTRO_GRAPHIC", "sha256": "6c6da4afc3ecdc1b812dd6878318da0120996bd6889b4dd2ddb480b905d9f4b1", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc", "role": "DEMO_PROGRAM", "sha256": "4d4769cbbb47ad7bf82c12bb1545c3854addebebe4642a3f50c8ccf5c560bcda", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc", "role": "DEMO_PROGRAM", "sha256": "f46a1f485ca85e4e9900b7a9b4f59fed7fc9d7cf27a403e15841b933ab98f0bf", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc", "role": "DEMO_PROGRAM", "sha256": "e90f0b4b6c43809da94a8170ee1029b5afc3e1bbe9bf2ae66298a8baefad013c", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc", "role": "DEMO_PROGRAM", "sha256": "3cdffc0481c1d6b0a0a67151a06448c686d4109249ed73438d5ff4e72b9e7267", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc", "role": "DEMO_PROGRAM", "sha256": "a0b05e672e7f8b5d9c8f42ac3fd16320f68a67926ae1413d361d60cc508d953f", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc", "role": "DEMO_PROGRAM", "sha256": "0e7e3c2fe554f888d3f5ef055390a7153ffa7f9eeedaac116f78832ff7a31cc1", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc", "role": "DEMO_PROGRAM", "sha256": "75db56e24242b68e32a9a7f1943fe240c5f518cc1866ee823ea158f9f87ce9fe", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc", "role": "REMAP_SUBROUTINE", "sha256": "2b8b36bf78d9227bd061083f883c72c7b0b205a8fe6d0a9407203b5375fe89fa", "status": "resolved" }, { "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc", "role": "REMAP_SUBROUTINE", "sha256": "7265e848d0e123f439208caa88afccdf2803f34770042c778a8797a25d44537a", "status": "resolved" } ], "implementation_status": "source_frozen_and_worker_verified", "next_task": "WASM-00", "recovery_contract": [ { "recovery": "pause_resume", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" }, { "recovery": "abort", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" }, { "recovery": "checkpoint", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" }, { "recovery": "worker_restart_reconcile", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" }, { "recovery": "no_duplicate_mcode", "slice_id": "AXIS-XYZAC-ERROR-RECOVERY" } ], "release_status": "STOP_RELEASE", "report_sha256": "817531c109c341ccda78b085d2613f35379a716a98f54c9561a118f995b6cd5e", "runtime_evidence": { "native": { "command": [ "./build-native/sim_xyzac_trace_test" ], "output_sha256": "18d2ef9d77f9a7a5bf2fa8d9380c8b04383a58ee2b0258364cba31ec34a168f0", "returncode": 0, "trace_sha256": "ca13e8dcb6d2816787a98c7bddc04db552b88f8d8a994b49301973a1bd11245a" }, "trace": { "first_divergent_tick": null, "levels": [ "protocol", "control", "state", "canonical", "recovery" ], "native_wasm": { "first_divergent_tick": null, "levels": { "canonical": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "control": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "protocol": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "recovery": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "state": { "difference_path": null, "first_divergent_tick": null, "status": "verified" } }, "status": "verified" }, "native_worker": { "first_divergent_tick": null, "levels": { "canonical": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "control": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "protocol": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "recovery": { "difference_path": null, "first_divergent_tick": null, "status": "verified" }, "state": { "difference_path": null, "first_divergent_tick": null, "status": "verified" } }, "status": "verified" }, "positive_divergence_sample": { "detected": true, "difference_path": "$[1].active_type", "first_divergent_tick": 2, "mutation": "state[1].active_type=99" } }, "wasm": { "command": [ "node", "build-wasm/sim_xyzac_trace_wasm_test.js" ], "output_sha256": "18d2ef9d77f9a7a5bf2fa8d9380c8b04383a58ee2b0258364cba31ec34a168f0", "returncode": 0, "trace_sha256": "ca13e8dcb6d2816787a98c7bddc04db552b88f8d8a994b49301973a1bd11245a" }, "worker": { "command": [ "node", "web/worker/test_xyzac_trace_parity.mjs" ], "output_sha256": "773f77181d7fd891a25a9ec6e7c3109f5f6e9b7ddcc3f876e1e973657959558e", "returncode": 0, "trace_sha256": "ca13e8dcb6d2816787a98c7bddc04db552b88f8d8a994b49301973a1bd11245a" } }, "schema": "xyzac-trt-source-slice-inventory.v1", "slices": [ { "authoritative_outputs": [ "task/mode/error snapshot" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "axis-shell", "error_cases": [ "SOURCE_BLOCKED: no per-control WASM trace" ], "gates": [ "estop/off/mode gate" ], "inputs": [ "menu event" ], "native_commands": [ "AXIS Tcl command" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "operation ledger reconcile" ], "slice_id": "AXIS-XYZAC-SHELL-MENU", "source": { "lines": "58-2230", "path": "linuxcnc/share/axis/tcl/axis.tcl", "sha256": "c9f0b4dc686717b37565f85fb0ab8cc8ded9cfa0028cc0aaaccdbcf808c4c524", "symbol": "setup_menu_accel" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-MENU-*" ], "wasm_commands": [ "WORKER_COMMAND" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "axis_state", "state_hash", "command_result" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "axis-toolbar", "error_cases": [ "SOURCE_BLOCKED: native handler matrix not runtime compared" ], "gates": [ "task_ready", "mode", "fault" ], "inputs": [ "toolbar click" ], "native_commands": [ "estop_clicked/task_run/task_pause/task_stop" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "checkpoint/reconcile" ], "slice_id": "AXIS-XYZAC-TOOLBAR", "source": { "lines": "490-1775", "path": "linuxcnc/share/axis/tcl/axis.tcl", "sha256": "c9f0b4dc686717b37565f85fb0ab8cc8ded9cfa0028cc0aaaccdbcf808c4c524", "symbol": ".toolbar.machine_estop" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-TOOLBAR-*" ], "wasm_commands": [ "ESTOP", "PROGRAM_RUN", "PROGRAM_PAUSE", "PROGRAM_ABORT" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "authoritative snapshot", "gate reason" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "axis-keyboard", "error_cases": [ "SOURCE_BLOCKED: keyboard Worker evidence pending" ], "gates": [ "focus/input protection", "manual mode" ], "inputs": [ "keyboard binding" ], "native_commands": [ "jog/task/mode binding" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "pending operation reconcile" ], "slice_id": "AXIS-XYZAC-KEYBOARD", "source": { "lines": "20-2245", "path": "linuxcnc/share/axis/tcl/axis.tcl", "sha256": "c9f0b4dc686717b37565f85fb0ab8cc8ded9cfa0028cc0aaaccdbcf808c4c524", "symbol": "bind" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-KEY-*" ], "wasm_commands": [ "JOG_START", "JOG_STOP", "PROGRAM_RUN", "PROGRAM_ABORT" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "program", "canonical trajectory", "task.interp_state", "state_hash" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "program-mdi", "error_cases": [ "SOURCE_BLOCKED: exact case WASM execution not proven" ], "gates": [ "task_idle", "file_loaded", "mode_mdi/auto", "no_fault" ], "inputs": [ "program/MDI text" ], "native_commands": [ "commands.send_mdi_command", "commands.task_run" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "checkpoint/replay/no-duplicate-side-effect" ], "slice_id": "AXIS-XYZAC-PROGRAM-MDI", "source": { "lines": "2255-2454", "path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py", "sha256": "328c038a1e8fefd952e53c8e398e3fa98b04602351c44318edd1b044e8f63ffa", "symbol": "send_mdi_command" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-PROGRAM", "AXIS-MDI" ], "wasm_commands": [ "PROGRAM_LOAD", "PROGRAM_RUN", "MDI_EXECUTE", "PROGRAM_PAUSE", "PROGRAM_RESUME", "PROGRAM_ABORT" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "motion.axes", "motion.joints", "home_limit", "state_hash" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "manual-motion", "error_cases": [ "SOURCE_BLOCKED: exact XYZAC Worker comparison pending" ], "gates": [ "manual_ok", "axis_enabled", "homing_allowed", "limit/fault" ], "inputs": [ "axis/joint/direction/velocity" ], "native_commands": [ "jog_on", "jog_off", "home_joint", "home_all_joints" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "pause/resume/abort" ], "slice_id": "AXIS-XYZAC-JOG-HOME", "source": { "lines": "2670-3323", "path": "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py", "sha256": "328c038a1e8fefd952e53c8e398e3fa98b04602351c44318edd1b044e8f63ffa", "symbol": "jog_on" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-JOG", "AXIS-HOME" ], "wasm_commands": [ "JOG_START", "JOG_STOP", "HOME" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "wasm canonical trajectory", "visual.pose", "motion.joints" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "preview-vismach", "error_cases": [ "SOURCE_BLOCKED: JS preview forbidden; exact case evidence pending" ], "gates": [ "program_parse_ok", "canonical_source_present" ], "inputs": [ "parsed program", "canonical events" ], "native_commands": [ "canon/gremlin/vismach" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "clear visual only; no motion mutation" ], "slice_id": "AXIS-XYZAC-PREVIEW-VISUAL", "source": { "lines": "426-426", "path": "linuxcnc/lib/python/rs274/glcanon.py", "sha256": "0dfb20f1fdc05289894f3aa638357d98e1063fbd53329c723c777399ec7b33b7", "symbol": "GlCanon" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-PREVIEW", "AXIS-VISMACH" ], "wasm_commands": [ "PROGRAM_LOAD", "SNAPSHOT_REQUEST" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "motion.switchkins-type", "kinstype_is_0/1/2", "state_hash" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "pyvcp-hal", "error_cases": [ "BLOCKED_HAL: native HAL load not proven in WASM case" ], "gates": [ "interp_idle", "HAL_PIN_VARS", "switchkins_net_present" ], "inputs": [ "PyVCP button/HAL net" ], "native_commands": [ "halui.mdi-command-00/01/02" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "ledger reconcile/no duplicate M-code" ], "slice_id": "AXIS-XYZAC-PYVCP-SWITCHKINS", "source": { "lines": null, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/switchkins_postgui.hal", "sha256": "55e969c22ca9054a818dbedc8ec50bed768d9ab3d8c4bfdfcfc78e912e9271c4", "symbol": "type0-button/type1-button/type2-button" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-RTCP-TYPE-0", "AXIS-RTCP-TYPE-1", "AXIS-RTCP-TYPE-2" ], "wasm_commands": [ "MDI_EXECUTE:M429", "MDI_EXECUTE:M428", "MDI_EXECUTE:M430" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "kinematics.active_type", "motion.switchkins-type", "state_hash" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "switchkins-rtcp", "error_cases": [ "BLOCKED_STARTUP: native kins startup did not reach verified state" ], "gates": [ "interp_idle", "HAL_PIN_VARS", "switchkins_net", "finite_offsets" ], "inputs": [ "MDI/G-code M428/M429/M430", "motion.switchkins-type" ], "native_commands": [ "M68 E3 Q{0,1,2}", "M66 E0 L0" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "checkpoint/reconcile; no blind retry" ], "slice_id": "AXIS-XYZAC-M428-M429-M430", "source": { "lines": null, "path": "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc", "sha256": "a0aee1d6b481a979849a17c0a23aa7524f52cbd875c92cbde3b73bf36f91d17b", "symbol": "428remap/429remap/430remap" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-RTCP-M428", "AXIS-RTCP-M429", "AXIS-RTCP-M430" ], "wasm_commands": [ "MDI_EXECUTE", "KINEMATICS_SELECT" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "pose", "joints", "limits", "state_hash" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "kinematics", "error_cases": [ "SOURCE_BLOCKED: exact XYZAC native/WASM trace unavailable" ], "gates": [ "active_type", "five_joint_mapping", "finite_offsets", "limits" ], "inputs": [ "five joints", "A/C degrees", "tool/axis offsets" ], "native_commands": [ "kinematicsForward", "kinematicsInverse" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "checkpoint pose/joint/hash recovery" ], "slice_id": "AXIS-XYZAC-KINEMATICS", "source": { "lines": "151-195", "path": "linuxcnc/src/emc/kinematics/trtfuncs.c", "sha256": "ced2f9d4732681e2e82153b2f6343eccdf6972222d558d1e277bf1ec0bdc87fd", "symbol": "xyzacKinematicsForward" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-XYZAC-POSE" ], "wasm_commands": [ "KINEMATICS_FORWARD", "KINEMATICS_INVERSE" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "task", "program", "planner", "motion", "simulation_tick", "state_hash" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "task-tp-motion", "error_cases": [ "SOURCE_BLOCKED: no exact case Worker trace attached" ], "gates": [ "ESTOP/OFF/ON/HOME/IDLE/RUNNING/PAUSED/limit/fault" ], "inputs": [ "task/interpreter/TP input" ], "native_commands": [ "task cycle", "TP queue", "motion control" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "checkpoint/replay/reconcile" ], "slice_id": "AXIS-XYZAC-TASK-TP-MOTION", "source": { "lines": "2-2125", "path": "linuxcnc/src/emc/motion/control.c", "sha256": "fa1b14689e2e4493c02d0939f982278366d4c1888da62e172cec030904c82c50", "symbol": "control" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-STATE" ], "wasm_commands": [ "SIM_STEP", "PROGRAM_RUN", "PROGRAM_PAUSE", "PROGRAM_RESUME", "PROGRAM_ABORT" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] }, { "authoritative_outputs": [ "error", "ledger", "checkpoint", "recovery endpoint", "state_hash" ], "authority": "linuxcnc-wasm-worker", "boundary_cases": [ "fixed logical tick and finite values required" ], "domain": "error-recovery", "error_cases": [ "SOURCE_BLOCKED: exact case crash/restart evidence pending" ], "gates": [ "operation_id", "seq", "ack/result/commit" ], "inputs": [ "command result/error" ], "native_commands": [ "command dispatch/abort" ], "normal_cases": [ "not executed: SRC-00 inventory scope" ], "recovery_cases": [ "reconcile before retry" ], "slice_id": "AXIS-XYZAC-ERROR-RECOVERY", "source": { "lines": "2-1910", "path": "linuxcnc/src/emc/motion/command.c", "sha256": "9d138ed5780a11ed037aa238781f4bfb4960a73ee23c0b0abf0724db068b3e3f", "symbol": "command" }, "status": "SOURCE_MAPPED", "ui_controls": [ "AXIS-DIAGNOSTICS", "AXIS-RECOVERY" ], "wasm_commands": [ "COMMAND_RESULT", "ERROR", "CHECKPOINT", "RECOVER" ], "wasm_evidence": [ { "authority": "wasm", "path": "web/worker/test_panel_snapshot_projection.mjs", "status": "verified" }, { "authority": "wasm", "path": "web/worker/test_wasm_motion_authority.mjs", "status": "verified" } ] } ], "source_hashes": { "context-lock.json": "bf6651f8d1803f2219d40e61f5e86dcf0821862d087eec2e19f99f593561353e", "doc-rtcp/xyzac-trt-web-wasm-implementation-plan.md": "ac2c2a35b3a22109bf6da811333f47e74edf95c135a40a10ef49337e57f34187", "doc-rtcp/xyzac-trt-web-wasm-source-parity-contract.md": "43417ceed9a7b6e3446d35de964b767f423b0074fdc64c6f4ec5087a399f0767", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc": "4d4769cbbb47ad7bf82c12bb1545c3854addebebe4642a3f50c8ccf5c560bcda", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzbc.ngc": "f46a1f485ca85e4e9900b7a9b4f59fed7fc9d7cf27a403e15841b933ab98f0bf", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc": "e90f0b4b6c43809da94a8170ee1029b5afc3e1bbe9bf2ae66298a8baefad013c", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc": "5afc03d5c1b692edd4154a6d37e5f94d74936a7bd5e82dc9c022f7bc21c7dc17", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc": "3cdffc0481c1d6b0a0a67151a06448c686d4109249ed73438d5ff4e72b9e7267", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_2.ngc": "a0b05e672e7f8b5d9c8f42ac3fd16320f68a67926ae1413d361d60cc508d953f", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_3.ngc": "0e7e3c2fe554f888d3f5ef055390a7153ffa7f9eeedaac116f78832ff7a31cc1", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc": "75db56e24242b68e32a9a7f1943fe240c5f518cc1866ee823ea158f9f87ce9fe", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/428remap.ngc": "a0aee1d6b481a979849a17c0a23aa7524f52cbd875c92cbde3b73bf36f91d17b", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/429remap.ngc": "160479860b84e55ace49ffceb9594285ee90c521ba5eef916ef47ac8a6b3349d", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/430remap.ngc": "41090461a936a63432252d42f277c925f9aa5a0faf0497933910c3b051fcfe4f", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc": "58cf585aa10480a80fe8ac8f2eab5e877adca51b4b3518b337eab476de01b11c", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_ac.ngc": "06cb755e33dc35d9a179b3c48e4203c8469632ab248d94379b10f2538dd0b54a", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc": "2b8b36bf78d9227bd061083f883c72c7b0b205a8fe6d0a9407203b5375fe89fa", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzac_switchkins_sub.ngc": "833bf21b8ed0ce600dcf5819234320d85348d906bbba390b62f3704836ea254d", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc": "7265e848d0e123f439208caa88afccdf2803f34770042c778a8797a25d44537a", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/switchkins_postgui.hal": "55e969c22ca9054a818dbedc8ec50bed768d9ab3d8c4bfdfcfc78e912e9271c4", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini": "f985970db293b70c055e4c41fc316d0c16037b5dc7ce07490e18f554e851f811", "linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.xml": "84efa01584693ab8f4a9c0730e341a9dbe87d9341472081ee80d59a0bfb90941", "linuxcnc/lib/python/gremlin.py": "7559a52300de92ed156fe22267c8fbca975338321cf3afada141360a244756a3", "linuxcnc/lib/python/rs274/glcanon.py": "0dfb20f1fdc05289894f3aa638357d98e1063fbd53329c723c777399ec7b33b7", "linuxcnc/share/axis/tcl/axis.tcl": "c9f0b4dc686717b37565f85fb0ab8cc8ded9cfa0028cc0aaaccdbcf808c4c524", "linuxcnc/src/emc/kinematics/switchkins.c": "4de32a4a147e5ceee5346b9c6bf471dddf5c64ff58afe5044406c50bcd96b7f5", "linuxcnc/src/emc/kinematics/trtfuncs.c": "ced2f9d4732681e2e82153b2f6343eccdf6972222d558d1e277bf1ec0bdc87fd", "linuxcnc/src/emc/kinematics/xyzac-trt-kins.c": "24c633613db9876c2ec246e1519a63d288fd27c68296d89f89f0368105634e69", "linuxcnc/src/emc/motion/command.c": "9d138ed5780a11ed037aa238781f4bfb4960a73ee23c0b0abf0724db068b3e3f", "linuxcnc/src/emc/motion/control.c": "fa1b14689e2e4493c02d0939f982278366d4c1888da62e172cec030904c82c50", "linuxcnc/src/emc/rs274ngc/interp_execute.cc": "a7787d0ae340184f1fe5055ec52dee054a0e67626db6ecfe55418e3e4c99b53c", "linuxcnc/src/emc/rs274ngc/interp_read.cc": "72473355a0a1cef08bf922ee4d8b89f46210397957f9b1336254223eae66e116", "linuxcnc/src/emc/tp/tp.c": "e0e4be6ef0b0a6c8b5eee32db9307986651938bc72c4e2c44750133b8da4dba8", "linuxcnc/src/emc/usr_intf/axis/scripts/axis.py": "328c038a1e8fefd952e53c8e398e3fa98b04602351c44318edd1b044e8f63ffa", "linuxcnc/src/hal/user_comps/vismach/xyzac-trt-gui.py": "307145896092a980251d48dbcb90f39a6dcf1361bc65eb5cbe8cc4e39fd55d8a" }, "state_contract": [ { "slice_id": "AXIS-XYZAC-TASK-TP-MOTION", "state": "task.state" }, { "slice_id": "AXIS-XYZAC-TASK-TP-MOTION", "state": "task.mode" }, { "slice_id": "AXIS-XYZAC-PROGRAM-MDI", "state": "task.interp_state" }, { "slice_id": "AXIS-XYZAC-PROGRAM-MDI", "state": "program.current_line" }, { "slice_id": "AXIS-XYZAC-KINEMATICS", "state": "motion.joints" }, { "slice_id": "AXIS-XYZAC-M428-M429-M430", "state": "kinematics.active_type" }, { "slice_id": "AXIS-XYZAC-PYVCP-SWITCHKINS", "state": "motion.switchkins-type" }, { "slice_id": "AXIS-XYZAC-KINEMATICS", "state": "pose" }, { "slice_id": "AXIS-XYZAC-ERROR-RECOVERY", "state": "state_hash" } ], "status": "verified", "task_id": "SRC-00", "visual_contract": [ { "slice_id": "AXIS-XYZAC-PREVIEW-VISUAL", "visual": "canonical_toolpath" }, { "slice_id": "AXIS-XYZAC-PREVIEW-VISUAL", "visual": "wasm_pose" }, { "slice_id": "AXIS-XYZAC-PREVIEW-VISUAL", "visual": "wasm_joints" }, { "slice_id": "AXIS-XYZAC-PREVIEW-VISUAL", "visual": "vismach_clear" } ] }