{ "apiName": "xyzbc-trt-button-dom-parity-audit", "status": "pass", "collectedAt": "2026-07-04T00:09:59.443Z", "url": "http://127.0.0.1:43457/app/dist/index.html", "summary": { "inventoryCount": 84, "buttonCount": 72, "functionalControlCount": 75, "buttonParityCount": 63, "missingSourceCount": 0, "missingRequiredActionCount": 0, "missingParityActionCount": 0, "pageErrorCount": 0, "resourceErrorCount": 22, "state": { "machineProfile": "xyzbc-trt", "mode": "manual", "powerOn": false, "runState": "idle", "programSourceMode": "linuxcnc-interpreter-wasm", "machineFileStaged": "staged", "previewSampleCount": 1300 }, "threeReady": "true", "threePathPoints": 1300 }, "inventory": [ { "i": 0, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "", "text": "File", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 1, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "open", "text": "Open...", "sourceRef": "commands.open_file", "expectedEffect": "file picker opens without changing runtime state", "visible": false }, { "i": 2, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "reload", "text": "Reload", "sourceRef": "commands.reload_file", "expectedEffect": "program reload resets active playback state", "visible": false }, { "i": 3, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "stage", "text": "Stage LinuxCNC files", "sourceRef": "web OPFS staging for DISPLAY PROGRAM_PREFIX", "expectedEffect": "LinuxCNC profile files are staged", "visible": false }, { "i": 4, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "save-session", "text": "Save session", "sourceRef": "web session persistence", "expectedEffect": "session snapshot is requested", "visible": false }, { "i": 5, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "restore-session", "text": "Restore session", "sourceRef": "web session persistence", "expectedEffect": "session restore is requested", "visible": false }, { "i": 6, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "", "text": "Machine", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 7, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "estop", "text": "Toggle Emergency Stop", "sourceRef": "commands.estop_clicked", "expectedEffect": "toggle ESTOP/ESTOP_RESET", "visible": false }, { "i": 8, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "power", "text": "Toggle Machine Power", "sourceRef": "commands.onoff_clicked", "expectedEffect": "toggle machine ON/OFF after estop reset", "visible": false }, { "i": 9, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "home-all", "text": "Home All", "sourceRef": "commands.home_all_joints", "expectedEffect": "home all joints in manual mode", "visible": false }, { "i": 10, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "run-ready", "text": "Run Ready", "sourceRef": "AXIS run preconditions", "expectedEffect": "power on, home, auto mode and TCP kins ready", "visible": false }, { "i": 11, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "run", "text": "Run", "sourceRef": "commands.task_run", "expectedEffect": "AUTO_RUN from current start line", "visible": false }, { "i": 12, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "pause", "text": "Pause", "sourceRef": "commands.task_pause", "expectedEffect": "AUTO_PAUSE when running", "visible": false }, { "i": 13, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "step", "text": "Step", "sourceRef": "commands.task_step", "expectedEffect": "AUTO_STEP one cycle/segment", "visible": false }, { "i": 14, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "stop", "text": "Stop", "sourceRef": "commands.task_stop", "expectedEffect": "abort current task", "visible": false }, { "i": 15, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "", "text": "View", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 16, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "view-z", "text": "Top Z", "sourceRef": "commands.set_view_z", "expectedEffect": "select top Z camera", "visible": false }, { "i": 17, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "view-y", "text": "Front Y", "sourceRef": "commands.set_view_y", "expectedEffect": "select front Y camera", "visible": false }, { "i": 18, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "view-x", "text": "Side X", "sourceRef": "commands.set_view_x", "expectedEffect": "select side X camera", "visible": false }, { "i": 19, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "view-p", "text": "Perspective", "sourceRef": "commands.set_view_p", "expectedEffect": "select perspective/fit camera", "visible": false }, { "i": 20, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "clear-preview", "text": "Clear Live Plot", "sourceRef": "commands.clear_live_plot", "expectedEffect": "clear live plot buffer", "visible": false }, { "i": 21, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "", "text": "Help", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 22, "tag": "button", "type": "button", "region": "menubar", "action": "", "menuCommand": "audit", "text": "Run parity audit", "sourceRef": "web parity audit", "expectedEffect": "request native/Web parity audit", "visible": false }, { "i": 23, "tag": "input", "type": "file", "region": "toolbar", "action": "OPEN_FILE", "menuCommand": "", "text": "", "sourceRef": "", "expectedEffect": "", "visible": false }, { "i": 24, "tag": "button", "type": "button", "region": "toolbar", "action": "estop", "menuCommand": "", "text": "Emergency stop", "sourceRef": "commands.estop_clicked", "expectedEffect": "toggle ESTOP/ESTOP_RESET", "visible": true }, { "i": 25, "tag": "button", "type": "button", "region": "toolbar", "action": "power", "menuCommand": "", "text": "Machine power", "sourceRef": "commands.onoff_clicked", "expectedEffect": "toggle machine ON/OFF after estop reset", "visible": true }, { "i": 26, "tag": "button", "type": "button", "region": "toolbar", "action": "toggle-auto-manual", "menuCommand": "", "text": "AUTO", "sourceRef": "commands.ensure_manual / commands.task_mode_auto", "expectedEffect": "toggle task mode between AUTO and MANUAL", "visible": true }, { "i": 27, "tag": "button", "type": "button", "region": "toolbar", "action": "open", "menuCommand": "", "text": "Open program", "sourceRef": "commands.open_file", "expectedEffect": "file picker opens without changing runtime state", "visible": true }, { "i": 28, "tag": "button", "type": "button", "region": "toolbar", "action": "reload", "menuCommand": "", "text": "Reload program", "sourceRef": "commands.reload_file", "expectedEffect": "program reload resets active playback state", "visible": true }, { "i": 29, "tag": "button", "type": "button", "region": "toolbar", "action": "run", "menuCommand": "", "text": "Run program", "sourceRef": "commands.task_run", "expectedEffect": "AUTO_RUN from current start line", "visible": true }, { "i": 30, "tag": "button", "type": "button", "region": "toolbar", "action": "pause", "menuCommand": "", "text": "Pause", "sourceRef": "commands.task_pause", "expectedEffect": "AUTO_PAUSE when running", "visible": true }, { "i": 31, "tag": "button", "type": "button", "region": "toolbar", "action": "step", "menuCommand": "", "text": "Step", "sourceRef": "commands.task_step", "expectedEffect": "AUTO_STEP one cycle/segment", "visible": true }, { "i": 32, "tag": "button", "type": "button", "region": "toolbar", "action": "stop", "menuCommand": "", "text": "Stop", "sourceRef": "commands.task_stop", "expectedEffect": "abort current task", "visible": true }, { "i": 33, "tag": "button", "type": "button", "region": "toolbar", "action": "view-z", "menuCommand": "", "text": "Z", "sourceRef": "commands.set_view_z", "expectedEffect": "select top Z camera", "visible": true }, { "i": 34, "tag": "button", "type": "button", "region": "toolbar", "action": "view-y", "menuCommand": "", "text": "Y", "sourceRef": "commands.set_view_y", "expectedEffect": "select front Y camera", "visible": true }, { "i": 35, "tag": "button", "type": "button", "region": "toolbar", "action": "view-x", "menuCommand": "", "text": "X", "sourceRef": "commands.set_view_x", "expectedEffect": "select side X camera", "visible": true }, { "i": 36, "tag": "button", "type": "button", "region": "toolbar", "action": "view-p", "menuCommand": "", "text": "P", "sourceRef": "commands.set_view_p", "expectedEffect": "select perspective/fit camera", "visible": true }, { "i": 37, "tag": "button", "type": "button", "region": "toolbar", "action": "clear-preview", "menuCommand": "", "text": "Clear plot", "sourceRef": "commands.clear_live_plot", "expectedEffect": "clear live plot buffer", "visible": true }, { "i": 38, "tag": "button", "type": "button", "region": "manual", "action": "tab-manual", "menuCommand": "", "text": "Manual Control [F3]", "sourceRef": "commands.ensure_manual", "expectedEffect": "manual mode tab selected", "visible": true }, { "i": 39, "tag": "button", "type": "button", "region": "manual", "action": "tab-mdi", "menuCommand": "", "text": "MDI [F5]", "sourceRef": "commands.ensure_mdi", "expectedEffect": "MDI mode tab selected", "visible": true }, { "i": 40, "tag": "input", "type": "radio", "region": "manual", "action": "select-joint", "menuCommand": "", "text": "0", "sourceRef": "axis radiobuttons ja_rbutton", "expectedEffect": "active joint/axis selected", "visible": true }, { "i": 41, "tag": "input", "type": "radio", "region": "manual", "action": "select-joint", "menuCommand": "", "text": "1", "sourceRef": "axis radiobuttons ja_rbutton", "expectedEffect": "active joint/axis selected", "visible": true }, { "i": 42, "tag": "input", "type": "radio", "region": "manual", "action": "select-joint", "menuCommand": "", "text": "2", "sourceRef": "axis radiobuttons ja_rbutton", "expectedEffect": "active joint/axis selected", "visible": true }, { "i": 43, "tag": "input", "type": "radio", "region": "manual", "action": "select-joint", "menuCommand": "", "text": "3", "sourceRef": "axis radiobuttons ja_rbutton", "expectedEffect": "active joint/axis selected", "visible": true }, { "i": 44, "tag": "input", "type": "radio", "region": "manual", "action": "select-joint", "menuCommand": "", "text": "4", "sourceRef": "axis radiobuttons ja_rbutton", "expectedEffect": "active joint/axis selected", "visible": true }, { "i": 45, "tag": "button", "type": "button", "region": "manual", "action": "jog-minus", "menuCommand": "", "text": "-", "sourceRef": "commands.jog_minus", "expectedEffect": "negative jog of active axis/joint", "visible": true }, { "i": 46, "tag": "button", "type": "button", "region": "manual", "action": "jog-plus", "menuCommand": "", "text": "+", "sourceRef": "commands.jog_plus", "expectedEffect": "positive jog of active axis/joint", "visible": true }, { "i": 47, "tag": "select", "type": "", "region": "manual", "action": "jog-increment", "menuCommand": "", "text": "Continuous\n0.0010\n0.0100\n0.1000\n1.0000\n10.0000", "sourceRef": "set_hal_jogincrement", "expectedEffect": "jog increment updates HAL-equivalent state", "visible": true }, { "i": 48, "tag": "button", "type": "button", "region": "manual", "action": "home-all", "menuCommand": "", "text": "Home All", "sourceRef": "commands.home_all_joints", "expectedEffect": "home all joints in manual mode", "visible": true }, { "i": 49, "tag": "button", "type": "button", "region": "manual", "action": "touch-off", "menuCommand": "", "text": "Touch Off", "sourceRef": "commands.touch_off_system", "expectedEffect": "G10 touch off MDI equivalent", "visible": true }, { "i": 50, "tag": "button", "type": "button", "region": "manual", "action": "tool-touch-off", "menuCommand": "", "text": "Tool Touch Off", "sourceRef": "commands.touch_off_tool", "expectedEffect": "tool length offset equivalent", "visible": true }, { "i": 51, "tag": "button", "type": "button", "region": "manual", "action": "spindle-reverse", "menuCommand": "", "text": "Rev", "sourceRef": "spindle CCW control", "expectedEffect": "spindle reverse", "visible": true }, { "i": 52, "tag": "button", "type": "button", "region": "manual", "action": "spindle-stop", "menuCommand": "", "text": "Stop", "sourceRef": "spindle stop control", "expectedEffect": "spindle stop", "visible": true }, { "i": 53, "tag": "button", "type": "button", "region": "manual", "action": "spindle-forward", "menuCommand": "", "text": "Fwd", "sourceRef": "spindle CW control", "expectedEffect": "spindle forward", "visible": true }, { "i": 54, "tag": "button", "type": "button", "region": "manual", "action": "spindle-override-down", "menuCommand": "", "text": "-", "sourceRef": "commands.set_spindlerate", "expectedEffect": "spindle override down", "visible": true }, { "i": 55, "tag": "button", "type": "button", "region": "manual", "action": "spindle-override-up", "menuCommand": "", "text": "+", "sourceRef": "commands.set_spindlerate", "expectedEffect": "spindle override up", "visible": true }, { "i": 56, "tag": "form", "type": "", "region": "manual", "action": "mdi-form", "menuCommand": "", "text": "MDI Command:\n \n Go", "sourceRef": "commands.send_mdi", "expectedEffect": "submit MDI command", "visible": false }, { "i": 57, "tag": "input", "type": "text", "region": "manual", "action": "mdi-input", "menuCommand": "", "text": "G0 X0 Y0 Z0", "sourceRef": "commands.mdi_command.entry", "expectedEffect": "edit pending MDI command text before submit/history execution", "visible": false }, { "i": 58, "tag": "button", "type": "submit", "region": "manual", "action": "", "menuCommand": "", "text": "Go", "sourceRef": "", "expectedEffect": "", "visible": false }, { "i": 59, "tag": "button", "type": "button", "region": "manual", "action": "mdi-history", "menuCommand": "", "text": "G0 X0 Y0 Z0", "sourceRef": "commands.mdi_history_butt_1", "expectedEffect": "run/restore MDI history command", "visible": false }, { "i": 60, "tag": "button", "type": "button", "region": "manual", "action": "mdi-history", "menuCommand": "", "text": "G91 X1", "sourceRef": "commands.mdi_history_butt_1", "expectedEffect": "run/restore MDI history command", "visible": false }, { "i": 61, "tag": "button", "type": "button", "region": "manual", "action": "mdi-history", "menuCommand": "", "text": "G90", "sourceRef": "commands.mdi_history_butt_1", "expectedEffect": "run/restore MDI history command", "visible": false }, { "i": 62, "tag": "button", "type": "button", "region": "manual", "action": "mdi-history", "menuCommand": "", "text": "M429", "sourceRef": "commands.mdi_history_butt_1", "expectedEffect": "run/restore MDI history command", "visible": false }, { "i": 63, "tag": "button", "type": "button", "region": "manual", "action": "mdi-history", "menuCommand": "", "text": "M428", "sourceRef": "commands.mdi_history_butt_1", "expectedEffect": "run/restore MDI history command", "visible": false }, { "i": 64, "tag": "button", "type": "button", "region": "manual", "action": "mdi-history", "menuCommand": "", "text": "M430", "sourceRef": "commands.mdi_history_butt_1", "expectedEffect": "run/restore MDI history command", "visible": false }, { "i": 65, "tag": "button", "type": "button", "region": "manual", "action": "feed-override-down", "menuCommand": "", "text": "-", "sourceRef": "commands.set_feedrate", "expectedEffect": "feed override down", "visible": true }, { "i": 66, "tag": "button", "type": "button", "region": "manual", "action": "feed-override-up", "menuCommand": "", "text": "+", "sourceRef": "commands.set_feedrate", "expectedEffect": "feed override up", "visible": true }, { "i": 67, "tag": "button", "type": "button", "region": "manual", "action": "rapid-override-down", "menuCommand": "", "text": "-", "sourceRef": "commands.set_rapidrate", "expectedEffect": "rapid override down", "visible": true }, { "i": 68, "tag": "button", "type": "button", "region": "manual", "action": "rapid-override-up", "menuCommand": "", "text": "+", "sourceRef": "commands.set_rapidrate", "expectedEffect": "rapid override up", "visible": true }, { "i": 69, "tag": "button", "type": "button", "region": "manual", "action": "spindle-override-down", "menuCommand": "", "text": "-", "sourceRef": "commands.set_spindlerate", "expectedEffect": "spindle override down", "visible": true }, { "i": 70, "tag": "button", "type": "button", "region": "manual", "action": "spindle-override-up", "menuCommand": "", "text": "+", "sourceRef": "commands.set_spindlerate", "expectedEffect": "spindle override up", "visible": true }, { "i": 71, "tag": "input", "type": "checkbox", "region": "manual", "action": "ignore-limits", "menuCommand": "", "text": "on", "sourceRef": "commands.toggle_override_limits", "expectedEffect": "limit override checkbox state", "visible": true }, { "i": 72, "tag": "input", "type": "checkbox", "region": "manual", "action": "block-delete", "menuCommand": "", "text": "on", "sourceRef": "commands.toggle_block_delete", "expectedEffect": "block delete state", "visible": true }, { "i": 73, "tag": "input", "type": "checkbox", "region": "manual", "action": "optional-stop", "menuCommand": "", "text": "on", "sourceRef": "commands.toggle_optional_stop", "expectedEffect": "optional stop state", "visible": true }, { "i": 74, "tag": "button", "type": "button", "region": "manual", "action": "toggle-flood", "menuCommand": "", "text": "Flood", "sourceRef": "commands.flood_toggle", "expectedEffect": "flood coolant toggle", "visible": true }, { "i": 75, "tag": "button", "type": "button", "region": "manual", "action": "toggle-mist", "menuCommand": "", "text": "Mist", "sourceRef": "commands.mist_toggle", "expectedEffect": "mist coolant toggle", "visible": true }, { "i": 76, "tag": "button", "type": "button", "region": "main-tabs", "action": "", "menuCommand": "", "text": "Preview", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 77, "tag": "button", "type": "button", "region": "main-tabs", "action": "", "menuCommand": "", "text": "DRO", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 78, "tag": "button", "type": "button", "region": "main-tabs", "action": "", "menuCommand": "", "text": "xyzbc_switchkins_sub", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 79, "tag": "button", "type": "button", "region": "main-tabs", "action": "", "menuCommand": "", "text": "centering", "sourceRef": "", "expectedEffect": "", "visible": true }, { "i": 80, "tag": "button", "type": "button", "region": "pyvcp", "action": "kins-identity", "menuCommand": "", "text": "IDENTITY", "sourceRef": "pyvcp.type0-button -> halui.mdi-command-00", "expectedEffect": "M429 sets identity kins", "visible": true }, { "i": 81, "tag": "button", "type": "button", "region": "pyvcp", "action": "kins-tcp", "menuCommand": "", "text": "TCP:XYZBC", "sourceRef": "pyvcp.type1-button -> halui.mdi-command-01", "expectedEffect": "M428 sets tcp-xyzbc kins", "visible": true }, { "i": 82, "tag": "button", "type": "button", "region": "pyvcp", "action": "kins-userk", "menuCommand": "", "text": "userk", "sourceRef": "pyvcp.type2-button -> halui.mdi-command-02", "expectedEffect": "M430 sets userk kins", "visible": true }, { "i": 83, "tag": "button", "type": "button", "region": "pyvcp", "action": "clear-preview", "menuCommand": "", "text": "vismach-clear", "sourceRef": "pyvcp.vismach-clear -> vismach.plotclear", "expectedEffect": "clear Vismach plot", "visible": true } ], "missingSource": [], "requiredActions": [ "estop", "power", "toggle-auto-manual", "run", "pause", "step", "stop", "home-all", "jog-plus", "jog-minus", "touch-off", "tool-touch-off", "feed-override-up", "rapid-override-up", "spindle-forward", "spindle-stop", "toggle-flood", "toggle-mist", "kins-tcp", "kins-identity", "kins-userk", "clear-preview", "reload", "view-x", "view-y", "view-z", "view-p", "mdi-input" ], "missingRequiredActions": [], "missingParityActions": [], "buttonParity": [ { "id": "menu-open", "action": "open", "sourceSymbol": "commands.open_file", "sourceLines": "axis.py:2243-2262", "expected": "file picker opens without changing runtime state" }, { "id": "menu-reload", "action": "reload", "sourceSymbol": "commands.reload_file", "sourceLines": "axis.py:2296-2297", "expected": "program reload resets active playback state" }, { "id": "menu-stage", "action": "stage", "sourceSymbol": "web OPFS staging for DISPLAY PROGRAM_PREFIX", "sourceLines": "xyzbc-trt.ini:[DISPLAY] PROGRAM_PREFIX", "expected": "LinuxCNC profile files are staged" }, { "id": "menu-save-session", "action": "save-session", "sourceSymbol": "web session persistence", "sourceLines": "five-axis-session.js", "expected": "session snapshot is requested" }, { "id": "menu-restore-session", "action": "restore-session", "sourceSymbol": "web session persistence", "sourceLines": "five-axis-session.js", "expected": "session restore is requested" }, { "id": "menu-estop", "action": "estop", "sourceSymbol": "commands.estop_clicked", "sourceLines": "axis.py:2223-2229", "expected": "toggle ESTOP/ESTOP_RESET" }, { "id": "menu-power", "action": "power", "sourceSymbol": "commands.onoff_clicked", "sourceLines": "axis.py:2231-2241", "expected": "toggle machine ON/OFF after estop reset" }, { "id": "menu-home-all", "action": "home-all", "sourceSymbol": "commands.home_all_joints", "sourceLines": "axis.py:2586-2596", "expected": "home all joints in manual mode" }, { "id": "menu-run-ready", "action": "run-ready", "sourceSymbol": "AXIS run preconditions", "sourceLines": "axis.py:2308-2320", "expected": "power on, home, auto mode and TCP kins ready" }, { "id": "menu-run", "action": "run", "sourceSymbol": "commands.task_run", "sourceLines": "axis.py:2308-2320", "expected": "AUTO_RUN from current start line" }, { "id": "menu-pause", "action": "pause", "sourceSymbol": "commands.task_pause", "sourceLines": "axis.py:2329-2333", "expected": "AUTO_PAUSE when running" }, { "id": "menu-resume", "action": "resume", "sourceSymbol": "commands.task_resume", "sourceLines": "axis.py:2344-2351", "expected": "AUTO_RESUME when paused" }, { "id": "menu-step", "action": "step", "sourceSymbol": "commands.task_step", "sourceLines": "axis.py:2321-2327", "expected": "AUTO_STEP one cycle/segment" }, { "id": "menu-stop", "action": "stop", "sourceSymbol": "commands.task_stop", "sourceLines": "axis.py:2365-2372", "expected": "abort current task" }, { "id": "menu-view-z", "action": "view-z", "sourceSymbol": "commands.set_view_z", "sourceLines": "axis.py:2208-2215", "expected": "select top Z camera" }, { "id": "menu-view-y", "action": "view-y", "sourceSymbol": "commands.set_view_y", "sourceLines": "axis.py:2192-2200", "expected": "select front Y camera" }, { "id": "menu-view-x", "action": "view-x", "sourceSymbol": "commands.set_view_x", "sourceLines": "axis.py:2182-2190", "expected": "select side X camera" }, { "id": "menu-view-p", "action": "view-p", "sourceSymbol": "commands.set_view_p", "sourceLines": "axis.py:2220-2221", "expected": "select perspective/fit camera" }, { "id": "menu-clear-preview", "action": "clear-preview", "sourceSymbol": "commands.clear_live_plot", "sourceLines": "axis.py:2557-2558", "expected": "clear live plot buffer" }, { "id": "menu-audit", "action": "audit", "sourceSymbol": "web parity audit", "sourceLines": "collect-web-xyzbc-trt-evidence.mjs", "expected": "request native/Web parity audit" }, { "id": "toolbar-estop", "action": "estop", "sourceSymbol": "commands.estop_clicked", "sourceLines": "axis.py:2223-2229", "expected": "toggle ESTOP/ESTOP_RESET" }, { "id": "toolbar-power", "action": "power", "sourceSymbol": "commands.onoff_clicked", "sourceLines": "axis.py:2231-2241", "expected": "toggle machine power" }, { "id": "toolbar-auto-manual", "action": "toggle-auto-manual", "sourceSymbol": "commands.ensure_manual / commands.task_mode_auto", "sourceLines": "axis.py:2308-2320,2520-2531", "expected": "toggle task mode between AUTO and MANUAL" }, { "id": "toolbar-load", "action": "open", "sourceSymbol": "commands.open_file", "sourceLines": "axis.py:2243-2262", "expected": "open local G-code" }, { "id": "toolbar-reload", "action": "reload", "sourceSymbol": "commands.reload_file", "sourceLines": "axis.py:2296-2297", "expected": "reload active program" }, { "id": "toolbar-run", "action": "run", "sourceSymbol": "commands.task_run", "sourceLines": "axis.py:2308-2320", "expected": "start AUTO run" }, { "id": "toolbar-pause-resume", "action": "pause", "sourceSymbol": "commands.task_pauseresume", "sourceLines": "axis.py:2353-2363", "expected": "pause or resume based on paused state" }, { "id": "toolbar-step", "action": "step", "sourceSymbol": "commands.task_step", "sourceLines": "axis.py:2321-2327", "expected": "single step" }, { "id": "toolbar-stop", "action": "stop", "sourceSymbol": "commands.task_stop", "sourceLines": "axis.py:2365-2372", "expected": "abort current task" }, { "id": "toolbar-view-z", "action": "view-z", "sourceSymbol": "commands.set_view_z", "sourceLines": "axis.py:2208-2215", "expected": "Z view" }, { "id": "toolbar-view-y", "action": "view-y", "sourceSymbol": "commands.set_view_y", "sourceLines": "axis.py:2192-2200", "expected": "Y view" }, { "id": "toolbar-view-x", "action": "view-x", "sourceSymbol": "commands.set_view_x", "sourceLines": "axis.py:2182-2190", "expected": "X view" }, { "id": "toolbar-view-p", "action": "view-p", "sourceSymbol": "commands.set_view_p", "sourceLines": "axis.py:2220-2221", "expected": "perspective view" }, { "id": "toolbar-clear-preview", "action": "clear-preview", "sourceSymbol": "commands.clear_live_plot", "sourceLines": "axis.py:2557-2558", "expected": "clear path count" }, { "id": "manual-tab", "action": "tab-manual", "sourceSymbol": "commands.ensure_manual", "sourceLines": "axis.py:2520-2531", "expected": "manual mode tab selected" }, { "id": "mdi-tab", "action": "tab-mdi", "sourceSymbol": "commands.ensure_mdi", "sourceLines": "axis.py:2533-2540", "expected": "MDI mode tab selected" }, { "id": "manual-select-joint", "action": "select-joint", "sourceSymbol": "axis radiobuttons ja_rbutton", "sourceLines": "axis.py:1369-1380", "expected": "active joint/axis selected" }, { "id": "manual-jog-increment", "action": "jog-increment", "sourceSymbol": "set_hal_jogincrement", "sourceLines": "axis.py:1507-1515", "expected": "jog increment updates HAL-equivalent state" }, { "id": "manual-jog-minus", "action": "jog-minus", "sourceSymbol": "commands.jog_minus", "sourceLines": "axis.py:2573-2577", "expected": "negative jog of active axis/joint" }, { "id": "manual-jog-plus", "action": "jog-plus", "sourceSymbol": "commands.jog_plus", "sourceLines": "axis.py:2567-2571", "expected": "positive jog of active axis/joint" }, { "id": "manual-touch-off", "action": "touch-off", "sourceSymbol": "commands.touch_off_system", "sourceLines": "axis.py:2631-2650", "expected": "G10 touch off MDI equivalent" }, { "id": "manual-tool-touch-off", "action": "tool-touch-off", "sourceSymbol": "commands.touch_off_tool", "sourceLines": "axis.py:2651-2685", "expected": "tool length offset equivalent" }, { "id": "manual-spindle-reverse", "action": "spindle-reverse", "sourceSymbol": "spindle CCW control", "sourceLines": "axis.py:1389-1398", "expected": "spindle reverse" }, { "id": "manual-spindle-stop", "action": "spindle-stop", "sourceSymbol": "spindle stop control", "sourceLines": "axis.py:1389-1398", "expected": "spindle stop" }, { "id": "manual-spindle-forward", "action": "spindle-forward", "sourceSymbol": "spindle CW control", "sourceLines": "axis.py:1389-1398", "expected": "spindle forward" }, { "id": "override-feed-down", "action": "feed-override-down", "sourceSymbol": "commands.set_feedrate", "sourceLines": "axis.py:2131-2137", "expected": "feed override down" }, { "id": "override-feed-up", "action": "feed-override-up", "sourceSymbol": "commands.set_feedrate", "sourceLines": "axis.py:2131-2137", "expected": "feed override up" }, { "id": "override-rapid-down", "action": "rapid-override-down", "sourceSymbol": "commands.set_rapidrate", "sourceLines": "axis.py:2139-2145", "expected": "rapid override down" }, { "id": "override-rapid-up", "action": "rapid-override-up", "sourceSymbol": "commands.set_rapidrate", "sourceLines": "axis.py:2139-2145", "expected": "rapid override up" }, { "id": "override-spindle-down", "action": "spindle-override-down", "sourceSymbol": "commands.set_spindlerate", "sourceLines": "axis.py:2122-2129", "expected": "spindle override down" }, { "id": "override-spindle-up", "action": "spindle-override-up", "sourceSymbol": "commands.set_spindlerate", "sourceLines": "axis.py:2122-2129", "expected": "spindle override up" }, { "id": "manual-ignore-limits", "action": "ignore-limits", "sourceSymbol": "commands.toggle_override_limits", "sourceLines": "axis.py:3161", "expected": "limit override checkbox state" }, { "id": "manual-block-delete", "action": "block-delete", "sourceSymbol": "commands.toggle_block_delete", "sourceLines": "axis.py:2051-2059", "expected": "block delete state" }, { "id": "manual-optional-stop", "action": "optional-stop", "sourceSymbol": "commands.toggle_optional_stop", "sourceLines": "axis.py:2047-2049", "expected": "optional stop state" }, { "id": "manual-flood", "action": "toggle-flood", "sourceSymbol": "commands.flood_toggle", "sourceLines": "axis.py:3176", "expected": "flood coolant toggle" }, { "id": "manual-mist", "action": "toggle-mist", "sourceSymbol": "commands.mist_toggle", "sourceLines": "axis.py:3175", "expected": "mist coolant toggle" }, { "id": "mdi-input", "action": "mdi-input", "sourceSymbol": "commands.mdi_command.entry", "sourceLines": "axis.py:2413-2417,2499-2516", "expected": "edit pending MDI command text before submit/history execution" }, { "id": "mdi-submit", "action": "mdi-form", "sourceSymbol": "commands.send_mdi", "sourceLines": "axis.py:2413-2417", "expected": "submit MDI command" }, { "id": "mdi-history", "action": "mdi-history", "sourceSymbol": "commands.mdi_history_butt_1", "sourceLines": "axis.py:2499-2516", "expected": "run/restore MDI history command" }, { "id": "pyvcp-identity", "action": "kins-identity", "sourceSymbol": "pyvcp.type0-button -> halui.mdi-command-00", "sourceLines": "switchkins_postgui.hal", "expected": "M429 sets identity kins" }, { "id": "pyvcp-tcp", "action": "kins-tcp", "sourceSymbol": "pyvcp.type1-button -> halui.mdi-command-01", "sourceLines": "switchkins_postgui.hal", "expected": "M428 sets tcp-xyzbc kins" }, { "id": "pyvcp-userk", "action": "kins-userk", "sourceSymbol": "pyvcp.type2-button -> halui.mdi-command-02", "sourceLines": "switchkins_postgui.hal", "expected": "M430 sets userk kins" }, { "id": "pyvcp-clear", "action": "clear-preview", "sourceSymbol": "pyvcp.vismach-clear -> vismach.plotclear", "sourceLines": "switchkins_postgui.hal", "expected": "clear Vismach plot" } ], "pageErrors": [], "resourceErrors": [ "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)", "Failed to load resource: the server responded with a status of 404 (Not Found)" ], "canvasDataset": { "fiveAxisCanvas": "true", "engine": "three.js r183", "threeReady": "true", "threeRevision": "183", "threePathPoints": "1300", "threeExecutedPathPoints": "0", "threeSceneObjects": "49", "threeToolhead": "{\"x\":0,\"y\":0,\"z\":0.01}", "threeSceneUnits": "m", "threeLinearUnits": "mm", "threeLinearUnitScaleToMeters": "0.001", "threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}", "threeToolGlyphAxis": "{\"x\":0,\"y\":0,\"z\":1}", "threeTcpPose": "{\"x\":0,\"y\":0,\"z\":10,\"a\":0,\"b\":0,\"c\":0}", "threeRtcpState": "off", "threeSelectedView": "iso", "threeFrameApi": "web-rtcp-5axis-motion-frame", "threeRenderer": "webgl", "threeSceneMode": "linuxcnc-axis-source-preview", "threePreviewScope": "machine-reference-and-toolpath", "threeMachineReferenceModel": "linuxcnc-axis-preview-reference", "threeCameraControls": "orbit-pan-zoom", "threeProgramPreviewSource": "linuxcnc-interpreter-wasm", "threeToolExecutionMarker": "false", "threeTcpMarker": "hidden", "threeToolAxisMarker": "hidden", "threeToolpathPreviewSource": "axis_preview_expanded_ngcgui_subroutines", "threeToolExecutionTraceSource": "fixture_line_playback_not_promoted", "threePathFitBounds": "ok", "threePathBoundsMeters": "{\"center\":{\"x\":0,\"y\":0,\"z\":0.008},\"size\":{\"x\":0.06,\"y\":0.06,\"z\":0.005},\"maxSpan\":0.06}", "threeCurrentSegmentHighlight": "pending", "threeRapidFeedVisualDistinction": "ok", "threeNoGcodeSemanticsGeneration": "ok", "threeRapidPathPoints": "774", "threeFeedPathPoints": "0", "threeArcPathPoints": "1808", "threeCurrentSegmentPoints": "0", "threeCurrentSegmentType": "-", "threeVismachPins": "{}", "threeVismachTransforms": "{}", "threeVismachPinDrivenModel": "none" } }