572 lines
77 KiB
JSON
572 lines
77 KiB
JSON
{
|
|
"boundaries": [
|
|
"selected 3axis-tutorial case",
|
|
"real hardware excluded",
|
|
"browser run is Chromium evidence"
|
|
],
|
|
"browser": "Google Chrome headless",
|
|
"browser_diagnostics": [
|
|
{
|
|
"method": "Log.entryAdded",
|
|
"params": {
|
|
"entry": {
|
|
"level": "warning",
|
|
"source": "rendering",
|
|
"text": "[.WebGL-0x26b401184000]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
|
|
"timestamp": 1787548617504.175,
|
|
"url": "http://127.0.0.1:5175/"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"method": "Log.entryAdded",
|
|
"params": {
|
|
"entry": {
|
|
"level": "warning",
|
|
"source": "rendering",
|
|
"text": "[.WebGL-0x26b401184000]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
|
|
"timestamp": 1787548617513.153,
|
|
"url": "http://127.0.0.1:5175/"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"method": "Log.entryAdded",
|
|
"params": {
|
|
"entry": {
|
|
"level": "error",
|
|
"networkRequestId": "747212.33",
|
|
"source": "network",
|
|
"text": "Failed to load resource: the server responded with a status of 404 (Not Found)",
|
|
"timestamp": 1787548617521.543,
|
|
"url": "http://127.0.0.1:5175/favicon.ico"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"method": "Log.entryAdded",
|
|
"params": {
|
|
"entry": {
|
|
"level": "warning",
|
|
"source": "rendering",
|
|
"text": "[.WebGL-0x26b401184000]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
|
|
"timestamp": 1787548617524.14,
|
|
"url": "http://127.0.0.1:5175/"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"method": "Log.entryAdded",
|
|
"params": {
|
|
"entry": {
|
|
"level": "warning",
|
|
"source": "rendering",
|
|
"text": "[.WebGL-0x26b401184000]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)",
|
|
"timestamp": 1787548617533.936,
|
|
"url": "http://127.0.0.1:5175/"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"case": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini",
|
|
"cross_checks": {
|
|
"native_tool": "tool/linuxcnc-axis-manual-execution",
|
|
"parity_report": "coverage/axis3-tutorial-web-wasm-complete-parity.report.json"
|
|
},
|
|
"input_policy": "real browser DOM click events through CDP; real Vite/WASM/Dedicated Worker",
|
|
"preview_output_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
"report_sha256": "83171cfcb18f297a3628a4e666611c65af998f8c851cd92845ec703d743a01e1",
|
|
"schema": "axis3-tutorial-web-manual-verification.v1",
|
|
"screenshots": [
|
|
{
|
|
"bytes": 112654,
|
|
"label": "ready",
|
|
"path": "coverage/axis3-tutorial-web-ready.png",
|
|
"sha256": "8090814b1b5351952822f27d9b5927ae36fa3dd71355eda12127c9525984743f"
|
|
},
|
|
{
|
|
"bytes": 145174,
|
|
"label": "homed",
|
|
"path": "coverage/axis3-tutorial-web-homed.png",
|
|
"sha256": "127d0ce429d83bf410b7f5461b8223771a1a0374d04ed40a81e005fad8a04fca"
|
|
},
|
|
{
|
|
"bytes": 144461,
|
|
"label": "running",
|
|
"path": "coverage/axis3-tutorial-web-running.png",
|
|
"sha256": "0ed52562d7f5e07f64743ec85fc1db7cc323eb357a075a2dbd688de205a817fb"
|
|
},
|
|
{
|
|
"bytes": 144492,
|
|
"label": "complete",
|
|
"path": "coverage/axis3-tutorial-web-complete.png",
|
|
"sha256": "3713af13105514ab8478dcb548d9766361cafb2a3453765e9cc000b1de4ecc78"
|
|
}
|
|
],
|
|
"states": [
|
|
{
|
|
"axis_state": "OFF",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "ready to load",
|
|
"connection": "DISCONNECTED",
|
|
"error_text": "NOT_LOADEDTick 0Hash -Startup resourcesNo configuration snapshotDisabled operationsloadaxis_machine_offrunaxis_machine_offstepaxis_machine_offpauseaxis_pause_state_gateresumeaxis_resume_state_gateabortaxis_stop_state_gatemdiaxis_machine_offjogaxis_machine_offhomeaxis_machine_offSource diagnosticsNo startup diagnostics",
|
|
"footer": "Idle",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "ready_poll",
|
|
"machine_state": "Machine OFF",
|
|
"operation_state": "Operation IDLE",
|
|
"position": "X0.000 Y0.000 Z0.000",
|
|
"program_status": "idle",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"null\" data-axis-pro",
|
|
"task": "OFF",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "IDLE",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "ready to load",
|
|
"connection": "READY",
|
|
"error_text": "TASK_READYTick 0Hash fnv1a64:034bfe70d581f786Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsrunaxis_taskfile_missingstepaxis_taskfile_missingpauseaxis_pause_state_gateresumeaxis_resume_state_gateabortaxis_stop_state_gaterestartaxis_taskfile_missingSource diagnosticsNo startup diagnostics",
|
|
"footer": "Idle",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "ready",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation IDLE",
|
|
"position": "X0.000 Y0.000 Z0.000",
|
|
"program_status": "idle",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[false,false,false]",
|
|
"task": "IDLE",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "ESTOP",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "BLOCKED",
|
|
"error_text": "sim_io_estop{\"status\":\"blocked\",\"code\":\"sim_io_estop\",\"state_hash\":\"fnv1a64:a8a64faf9056dd4a\",\"state\":{\"ready\":false,\"estop\":true,\"fault\":false,\"fault_reason\":0,\"tick\":0,\"recovery_epoch\":0,\"spindle_count\":1,\"tool_capacity\":1001,\"spindles\":[{\"command_rpm\":0,\"speed_rpm\":0,\"at_speed\":true,\"enabled\":false,\"inhibit\":false,\"amp_fault\":false,\"brake\":true,\"orient\":false,\"locked\":false,\"is_oriented\":false,\"orient_angle\":0,\"orient_mode\":0,\"orient_fault\":0,\"index_enable\":false,\"revs\":0}],\"tool\":{\"state\":\"aborted\",\"current\":0,\"prepared\":null,\"pocket\":null,\"prepare\":false,\"prepared_ack\":false,\"changed\":false,\"fault\":false,\"reason\":0},\"probe\":{\"state\":\"idle\",\"type\":0,\"input\":false,\"tripped\":false,\"tick\":0,\"position\":null},\"limits\":{},\"last_error\":\"sim_io_estop\"},\"command\":\"ESTOP\",\"task\":{\"schema\":\"sim_task.v1\",\"context_id\":\"linuxcnc-2.10.0-pre0-wasm-m1-py-c1\",\"session_id\":\"react-1787548616528\",\"state\":\"ESTOP\",\"mode\":\"MANUAL\",\"program_status\":\"loaded\",\"seq\":5,\"simulation_tick\":0,\"current_line\":0,\"state_hash\":\"fnv1a64:1a57f1f5238d2f52\"},\"device_io\":{\"schema\":\"sim_device_io.v1\",\"tick\":0,\"cycle_time\":0.1,\"encoders\":[{\"registered\":true,\"speed_rps\":0,\"ppr\":1000,\"scale\":1,\"raw_count\":0,\"count\":0,\"position\":0,\"velocity\":0,\"phase_a\":1,\"phase_b\":0,\"phase_z\":1,\"index_enable\":false,\"index_pulse\":false,\"tick\":0,\"phase\":0}],\"coolant\":{\"mist_requested\":false,\"flood_requested\":false,\"lube_requested\":false,\"mist\":false,\"flood\":false,\"lube\":false,\"fault\":false},\"safety\":{\"door_open\":false,\"input_ok\":true,\"estop\":true,\"fault\":false,\"interlock_ok\":false,\"latched_fault\":true,\"recovery_epoch\":0},\"acks\":[],\"last_error\":\"device_interlock\",\"state_hash\":\"fnv1a64:ce4118c3bc1885ae\"},\"motion\":{\"schema\":\"sim_motion.v1\",\"tick\":0,\"axes\":{\"x\":0,\"y\":0,\"z\":0},\"joints\":[0,0,0],\"velocity\":0,\"feed_override\":1,\"spindle_override\":1,\"homed\":false,\"homed_axes\":[false,false,false],\"limits\":{\"x\":false,\"y\":false,\"z\":false},\"following_error\":0,\"jog\":null,\"estop\":true,\"fault\":\"estop\",\"state_hash\":\"fnv1a64:443e61c260f56116\"},\"operation_id\":\"axis-estop-000003\",\"simulation_tick\":0,\"panel_snapshot\":{\"schema\":\"axis-panel-snapshot.v1\",\"context_id\":\"linuxcnc-2.10.0-pre0-wasm-m1-py-c1\",\"session_id\":\"react-1787548616528\",\"simulation_tick\":0,\"task\":{\"schema\":\"sim_task.v1\",\"context_id\":\"linuxcnc-2.10.0-pre0-wasm-m1-py-c1\",\"session_id\":\"react-1787548616528\",\"state\":\"ESTOP\",\"mode\":\"MANUAL\",\"program_status\":\"loaded\",\"seq\":5,\"simulation_tick\":0,\"current_line\":0,\"state_hash\":\"fnv1a64:1a57f1f5238d2f52\"},\"program\":{\"status\":\"verified\",\"program_status\":\"loaded\",\"path\":\"linuxcnc/configs/nc_files/3dtest.ngc\",\"line\":0,\"line_count\":54,\"source_hash\":\"fnv1a64:8b2a1284793c8ba6\",\"state\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0,\"feed\":0,\"speed\":0,\"line\":0,\"units\":21,\"distance_mode\":90,\"plane\":17,\"motion_mode\":1,\"spindle_mode\":5,\"program_end\":0,\"status\":0},\"canonical\":\"{\\\"a\\\":0,\\\"b\\\":0,\\\"c\\\":0,\\\"distance_mode\\\":90,\\\"feed\\\":0,\\\"line\\\":0,\\\"modal_hash\\\":13626864533805933641,\\\"motion_mode\\\":1,\\\"plane\\\":17,\\\"program_end\\\":0,\\\"speed\\\":0,\\\"spindle_mode\\\":5,\\\"status\\\":0,\\\"units\\\":21,\\\"u\\\":0,\\\"v\\\":0,\\\"w\\\":0,\\\"x\\\":0,\\\"y\\\":0,\\\"z\\\":0}\",\"interpreter_state_hash\":\"fnv1a64:00000000dee1b045\",\"block_hash\":\"fnv1a64:0000000000000000\",\"modal_hash\":\"fnv1a64:0000000063df2449\",\"motion_control\":{\"mode\":\"continuous\",\"path_tolerance\":0,\"naive_cam_tolerance\":0},\"motion_control_hash\":\"fnv1a64:86c2707fd428abc3\",\"active_gcodes\":\"G21 G90 G17 G1 M5\",\"error_column\":0,\"error_code\":0,\"error\":null},\"motion\":{\"schema\":\"sim_motion.v1\",\"tick\":0,\"axes\":{\"x\":0,\"y\":0,\"z\":0},\"joints\":[0,0,0],\"velocity\":0,\"feed_override\":1,\"spindle_override\":1,\"homed\":false,\"homed_axes\":[false,false,false],\"limits\":{\"x\":false,\"y\":false,\"z\":false},\"following_error\":0,\"jog\":null,\"estop\":true,\"fault\":\"estop\",\"state_hash\":\"fnv1a64:443e61c260f56116\"},\"coordinates\":{\"machine\":[0,0,0],\"relative\":[0,0,0],\"commanded\":[0,0,0]},\"overrides\":{\"feed\":1,\"spindle\":[1]},\"wasm_motion\":{\"status\":\"verified\",\"state\":{\"position\":{\"x\":0,\"y\":0,\"z\":0},\"velocity\":0,\"progress\":0,\"tick\":0,\"queue_depth\":0,\"active_id\":0,\"active_tag\":0,\"motion_type\":0,\"status\":0,\"source\":\"wasm_motion_queue\"}},\"home_limit\":{\"status\":\"verified\",\"state\":{\"schema\":\"sim_home_limit_state.v1\",\"source\":\"wasm_home_limit\",\"pose\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"joints\":[0,0,0],\"joint_count\":3,\"homed\":false,\"home_sequence\":0,\"tick\":0,\"last_error\":0,\"limit_error\":0,\"kinematics_error\":0}},\"hal\":{\"configuration\":null,\"runtime\":{\"schema\":\"sim_hal_runtime.v1\",\"tick\":0,\"threads\":{},\"pins\":{},\"params\":{},\"components\":[],\"links\":[],\"last_error\":null,\"state_hash\":\"fnv1a64:97a922c8c30099fa\"}},\"devices\":{\"ready\":false,\"estop\":true,\"fault\":false,\"fault_reason\":0,\"tick\":0,\"recovery_epoch\":0,\"spindle_count\":1,\"tool_capacity\":1001,\"spindles\":[{\"command_rpm\":0,\"speed_rpm\":0,\"at_speed\":true,\"enabled\":false,\"inhibit\":false,\"amp_fault\":false,\"brake\":true,\"orient\":false,\"locked\":false,\"is_oriented\":false,\"orient_angle\":0,\"orient_mode\":0,\"orient_fault\":0,\"index_enable\":false,\"revs\":0}],\"tool\":{\"state\":\"aborted\",\"current\":0,\"prepared\":null,\"pocket\":null,\"prepare\":false,\"prepared_ack\":false,\"changed\":false,\"fault\":false,\"reason\":0},\"probe\":{\"state\":\"idle\",\"type\":0,\"input\":false,\"tripped\":false,\"tick\":0,\"position\":null},\"limits\":{},\"last_error\":\"sim_io_estop\"},\"device_io\":{\"schema\":\"sim_device_io.v1\",\"tick\":0,\"cycle_time\":0.1,\"encoders\":[{\"registered\":true,\"speed_rps\":0,\"ppr\":1000,\"scale\":1,\"raw_count\":0,\"count\":0,\"position\":0,\"velocity\":0,\"phase_a\":1,\"phase_b\":0,\"phase_z\":1,\"index_enable\":false,\"index_pulse\":false,\"tick\":0,\"phase\":0}],\"coolant\":{\"mist_requested\":false,\"flood_requested\":false,\"lube_requested\":false,\"mist\":false,\"flood\":false,\"lube\":false,\"fault\":false},\"safety\":{\"door_open\":false,\"input_ok\":true,\"estop\":true,\"fault\":false,\"interlock_ok\":false,\"latched_fault\":true,\"recovery_epoch\":0},\"acks\":[],\"last_error\":\"device_interlock\",\"state_hash\":\"fnv1a64:ce4118c3bc1885ae\"},\"configuration\":{\"schema\":\"configuration-startup-runtime.v1\",\"entrypoint\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini\",\"state\":\"TASK_READY\",\"transitions\":[{\"from\":null,\"to\":\"NEW\"},{\"from\":\"NEW\",\"to\":\"MOUNTED\"},{\"from\":\"MOUNTED\",\"to\":\"PARSED\"},{\"from\":\"PARSED\",\"to\":\"RESOLVED\"},{\"from\":\"RESOLVED\",\"to\":\"CORE_CREATED\"},{\"from\":\"CORE_CREATED\",\"to\":\"HAL_READY\"},{\"from\":\"HAL_READY\",\"to\":\"TASK_READY\"}],\"diagnostics\":[],\"ini\":{\"state_hash\":\"fnv1a64:9b3137b6f127a443\",\"graph\":[\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini\"],\"includes\":[]},\"resources\":{\"state_hash\":\"fnv1a64:a290bb863dfc0823\",\"resolved_count\":4,\"optional_count\":0,\"blocked_count\":0,\"generated_files\":{},\"resources\":[{\"status\":\"resolved\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"type\":\"hal\",\"path\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini\",\"line\":106,\"key\":\"HALFILE\",\"bytes\":2447,\"data_hash\":\"fnv1a64:db08170a12259698\",\"capability\":\"SIM-CORE\"},{\"status\":\"resolved\",\"resource_id\":\"image:linuxcnc/linuxcnc.gif\",\"type\":\"image\",\"path\":\"linuxcnc/linuxcnc.gif\",\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini\",\"line\":49,\"key\":\"INTRO_GRAPHIC\",\"bytes\":15534,\"data_hash\":\"fnv1a64:1cceab19ad1eaab6\",\"capability\":\"SIM-CORE\"},{\"status\":\"resolved\",\"resource_id\":\"parameter_file:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var\",\"type\":\"parameter_file\",\"path\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial_mm.var\",\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini\",\"line\":70,\"key\":\"PARAMETER_FILE\",\"bytes\":0,\"data_hash\":\"fnv1a64:14650fb0739d0383\",\"capability\":\"SIM-CORE\"},{\"status\":\"resolved\",\"resource_id\":\"tool_table:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl\",\"type\":\"tool_table\",\"path\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/tool.tbl\",\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini\",\"line\":155,\"key\":\"TOOL_TABLE\",\"bytes\":115,\"data_hash\":\"fnv1a64:70a77dcff5889cad\",\"capability\":\"SIM-CORE\"}]},\"hal\":{\"schema\":\"hal-configuration-preflight.v1\",\"status\":\"ready\",\"record_count\":37,\"blocked_count\":0,\"records\":[{\"schema\":\"hal-configuration-preflight.v1\",\"line\":5,\"command\":\"loadrt\",\"module\":\"trivkins\",\"instances\":[],\"status\":\"declared\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":8,\"command\":\"loadrt\",\"module\":\"motmod\",\"instances\":[],\"status\":\"declared\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":10,\"command\":\"loadrt\",\"module\":\"ddt\",\"instances\":[\"ddt_x\",\"ddt_xv\",\"ddt_y\",\"ddt_yv\",\"ddt_z\",\"ddt_zv\"],\"status\":\"declared\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":12,\"command\":\"loadrt\",\"module\":\"hypot\",\"instances\":[\"vel_xy\",\"vel_xyz\"],\"status\":\"declared\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":15,\"command\":\"addf\",\"function\":\"motion-command-handler\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":16,\"command\":\"addf\",\"function\":\"motion-controller\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":18,\"command\":\"addf\",\"function\":\"ddt_x\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":19,\"command\":\"addf\",\"function\":\"ddt_xv\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":20,\"command\":\"addf\",\"function\":\"ddt_y\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":21,\"command\":\"addf\",\"function\":\"ddt_yv\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":22,\"command\":\"addf\",\"function\":\"ddt_z\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":23,\"command\":\"addf\",\"function\":\"ddt_zv\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":24,\"command\":\"addf\",\"function\":\"vel_xy\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":25,\"command\":\"addf\",\"function\":\"vel_xyz\",\"thread\":\"servo-thread\",\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":29,\"command\":\"net\",\"tokens\":[\"Xpos\",\"joint.0.motor-pos-cmd\",\"=>\",\"joint.0.motor-pos-fb\",\"ddt_x.in\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":30,\"command\":\"net\",\"tokens\":[\"Ypos\",\"joint.1.motor-pos-cmd\",\"=>\",\"joint.1.motor-pos-fb\",\"ddt_y.in\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":31,\"command\":\"net\",\"tokens\":[\"Zpos\",\"joint.2.motor-pos-cmd\",\"=>\",\"joint.2.motor-pos-fb\",\"ddt_z.in\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":35,\"command\":\"net\",\"tokens\":[\"Xvel\",\"ddt_x.out\",\"=>\",\"ddt_xv.in\",\"vel_xy.in0\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":36,\"command\":\"net\",\"tokens\":[\"Xacc\",\"<=\",\"ddt_xv.out\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":37,\"command\":\"net\",\"tokens\":[\"Yvel\",\"ddt_y.out\",\"=>\",\"ddt_yv.in\",\"vel_xy.in1\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":38,\"command\":\"net\",\"tokens\":[\"Yacc\",\"<=\",\"ddt_yv.out\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":39,\"command\":\"net\",\"tokens\":[\"Zvel\",\"ddt_z.out\",\"=>\",\"ddt_zv.in\",\"vel_xyz.in0\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":40,\"command\":\"net\",\"tokens\":[\"Zacc\",\"<=\",\"ddt_zv.out\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":43,\"command\":\"net\",\"tokens\":[\"XYvel\",\"vel_xy.out\",\"=>\",\"vel_xyz.in1\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":44,\"command\":\"net\",\"tokens\":[\"XYZvel\",\"<=\",\"vel_xyz.out\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":47,\"command\":\"net\",\"tokens\":[\"estop-loop\",\"iocontrol.0.user-enable-out\",\"iocontrol.0.emc-enable-in\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":49,\"command\":\"loadusr\",\"status\":\"checked\",\"code\":null,\"program\":\"hal_manualtoolchange\",\"capability\":\"SIM-ADAPTER\",\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":50,\"command\":\"net\",\"tokens\":[\"tool-change\",\"iocontrol.0.tool-change\",\"=>\",\"hal_manualtoolchange.change\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":51,\"command\":\"net\",\"tokens\":[\"tool-changed\",\"iocontrol.0.tool-changed\",\"<=\",\"hal_manualtoolchange.changed\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":52,\"command\":\"net\",\"tokens\":[\"tool-number\",\"iocontrol.0.tool-prep-number\",\"=>\",\"hal_manualtoolchange.number\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":53,\"command\":\"net\",\"tokens\":[\"tool-prepare-loopback\",\"iocontrol.0.tool-prepare\",\"=>\",\"iocontrol.0.tool-prepared\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":56,\"command\":\"loadusr\",\"status\":\"checked\",\"code\":null,\"program\":\"./3axis-tutorial\",\"capability\":\"WEB-EQUIV\",\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":59,\"command\":\"net\",\"tokens\":[\"j0\",\"joint.0.pos-fb\",\"=>\",\"3axis-tutorial.jointX\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":60,\"command\":\"net\",\"tokens\":[\"j1\",\"joint.1.pos-fb\",\"=>\",\"3axis-tutorial.jointY\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":61,\"command\":\"net\",\"tokens\":[\"j2\",\"joint.2.pos-fb\",\"=>\",\"3axis-tutorial.jointZ\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":64,\"command\":\"net\",\"tokens\":[\"tool_len\",\"3axis-tutorial.toollength\",\"<=\",\"motion.tooloffset.z\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"},{\"schema\":\"hal-configuration-preflight.v1\",\"line\":65,\"command\":\"net\",\"tokens\":[\"tool_rad\",\"halui.tool.diameter\",\"3axis-tutorial.tooldiameter\"],\"status\":\"checked\",\"code\":null,\"source\":\"linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\",\"resource_id\":\"hal:linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.hal\"}]},\"core\":{\"result\":0},\"status\":\"ready\",\"state_hash\":\"fnv1a64:a7f7c05da5d79f9d\"},\"axis_state\":{\"state\":\"ESTOP\",\"machine_state\":\"ESTOP\",\"operation_state\":\"IDLE\",\"source_task_state\":\"STATE_ESTOP\",\"source_interp_state\":\"INTERP_IDLE\",\"source_mode\":\"MANUAL\",\"states\":[\"ESTOP\",\"ESTOP_RESET\",\"OFF\",\"ON\",\"HOME\",\"IDLE\",\"RUNNING\",\"PAUSED\"]},\"gates\":{\"load\":{\"action\":\"load\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"run\":{\"action\":\"run\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"step\":{\"action\":\"step\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"pause\":{\"action\":\"pause\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"resume\":{\"action\":\"resume\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"abort\":{\"action\":\"abort\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"restart\":{\"action\":\"restart\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"mdi\":{\"action\":\"mdi\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"jogStart\":{\"action\":\"jogStart\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"jogStop\":{\"action\":\"jogStop\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"home\":{\"action\":\"home\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"estop\":{\"action\":\"estop\",\"enabled\":true,\"reason\":\"axis_estop_reset_available\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"recover\":{\"action\":\"recover\",\"enabled\":true,\"reason\":\"axis_recover_available\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"override\":{\"action\":\"override\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"reset\":{\"action\":\"reset\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"spindle\":{\"action\":\"spindle\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"},\"coolant\":{\"action\":\"coolant\",\"enabled\":false,\"reason\":\"axis_fault_active\",\"taskState\":\"ESTOP\",\"interpState\":\"IDLE\"}},\"visual\":{\"schema\":\"axis-visual.v1\",\"pose\":{\"x\":0,\"y\":0,\"z\":0},\"joints\":[0,0,0],\"toolpath\":[{\"id\":1,\"source_line\":5,\"start\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":25.4,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":0,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":2,\"source_line\":6,\"start\":{\"x\":25.4,\"y\":25.4,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":25.4,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":38.099999999999994,\"y\":38.099999999999994,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":2,\"turn\":-1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":3,\"source_line\":7,\"start\":{\"x\":25.4,\"y\":25.4,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":25.4,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":25.4,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":4,\"source_line\":8,\"start\":{\"x\":25.4,\"y\":25.4,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":44.449999999999996,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":25.4,\"z\":2.54},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":5,\"source_line\":9,\"start\":{\"x\":25.4,\"y\":44.449999999999996,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":44.449999999999996,\"z\":2.54},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":6,\"source_line\":10,\"start\":{\"x\":25.4,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":35.559999999999995,\"y\":31.75,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":44.449999999999996,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":7,\"source_line\":11,\"start\":{\"x\":35.559999999999995,\"y\":31.75,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":30.479999999999997,\"y\":38.099999999999994,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":35.559999999999995,\"y\":31.75,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":8,\"source_line\":12,\"start\":{\"x\":30.479999999999997,\"y\":38.099999999999994,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":31.75,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":30.479999999999997,\"y\":38.099999999999994,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":9,\"source_line\":13,\"start\":{\"x\":25.4,\"y\":31.75,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":35.559999999999995,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":31.75,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":10,\"source_line\":14,\"start\":{\"x\":35.559999999999995,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":35.559999999999995,\"y\":44.449999999999996,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":35.559999999999995,\"y\":44.449999999999996,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":11,\"source_line\":15,\"start\":{\"x\":35.559999999999995,\"y\":44.449999999999996,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":40.64,\"y\":44.449999999999996,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":35.559999999999995,\"y\":44.449999999999996,\"z\":2.54},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":12,\"source_line\":16,\"start\":{\"x\":40.64,\"y\":44.449999999999996,\"z\":2.54,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":40.64,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":40.64,\"y\":44.449999999999996,\"z\":2.54},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":13,\"source_line\":17,\"start\":{\"x\":40.64,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":45.72,\"y\":38.099999999999994,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":40.64,\"y\":44.449999999999996,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":14,\"source_line\":18,\"start\":{\"x\":45.72,\"y\":38.099999999999994,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":50.8,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":45.72,\"y\":38.099999999999994,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":15,\"source_line\":19,\"start\":{\"x\":50.8,\"y\":44.449999999999996,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":45.72,\"y\":38.099999999999994,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":50.8,\"y\":44.449999999999996,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":16,\"source_line\":20,\"start\":{\"x\":45.72,\"y\":38.099999999999994,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":45.72,\"y\":31.75,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":45.72,\"y\":38.099999999999994,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":17,\"source_line\":21,\"start\":{\"x\":45.72,\"y\":31.75,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":45.72,\"y\":31.75,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":18,\"source_line\":22,\"start\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":0,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":0,\"z\":0},\"normal\":{\"x\":0,\"y\":0,\"z\":1},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":19,\"source_line\":23,\"start\":{\"x\":25.4,\"y\":0,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":0,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":38.099999999999994,\"y\":0,\"z\":38.099999999999994},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":2,\"turn\":-1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":20,\"source_line\":24,\"start\":{\"x\":25.4,\"y\":0,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":2.54,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":0,\"z\":25.4},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":21,\"source_line\":25,\"start\":{\"x\":25.4,\"y\":2.54,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":2.54,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":2.54,\"z\":25.4},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":22,\"source_line\":26,\"start\":{\"x\":25.4,\"y\":2.54,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":2.54,\"z\":44.449999999999996},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":23,\"source_line\":27,\"start\":{\"x\":25.4,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":35.559999999999995,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":0,\"z\":44.449999999999996},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":24,\"source_line\":28,\"start\":{\"x\":35.559999999999995,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":30.479999999999997,\"y\":0,\"z\":38.099999999999994,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":35.559999999999995,\"y\":0,\"z\":31.75},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":25,\"source_line\":29,\"start\":{\"x\":30.479999999999997,\"y\":0,\"z\":38.099999999999994,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":25.4,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":30.479999999999997,\"y\":0,\"z\":38.099999999999994},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":26,\"source_line\":30,\"start\":{\"x\":25.4,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":35.559999999999995,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":25.4,\"y\":0,\"z\":31.75},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":27,\"source_line\":31,\"start\":{\"x\":35.559999999999995,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":35.559999999999995,\"y\":2.54,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":35.559999999999995,\"y\":0,\"z\":44.449999999999996},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":28,\"source_line\":32,\"start\":{\"x\":35.559999999999995,\"y\":2.54,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":40.64,\"y\":2.54,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":35.559999999999995,\"y\":2.54,\"z\":44.449999999999996},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":29,\"source_line\":33,\"start\":{\"x\":40.64,\"y\":2.54,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":40.64,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":40.64,\"y\":2.54,\"z\":44.449999999999996},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":30,\"source_line\":34,\"start\":{\"x\":40.64,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":50.8,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":40.64,\"y\":0,\"z\":44.449999999999996},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":31,\"source_line\":35,\"start\":{\"x\":50.8,\"y\":0,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":40.64,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":50.8,\"y\":0,\"z\":44.449999999999996},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":32,\"source_line\":36,\"start\":{\"x\":40.64,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":50.8,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":40.64,\"y\":0,\"z\":31.75},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":33,\"source_line\":37,\"start\":{\"x\":50.8,\"y\":0,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":50.8,\"y\":0,\"z\":31.75},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":34,\"source_line\":38,\"start\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":25.4,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":0,\"z\":0},\"normal\":{\"x\":0,\"y\":1,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":35,\"source_line\":39,\"start\":{\"x\":0,\"y\":25.4,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":25.4,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":38.099999999999994,\"z\":38.099999999999994},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":2,\"turn\":-1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":36,\"source_line\":40,\"start\":{\"x\":0,\"y\":25.4,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":2.54,\"y\":25.4,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":25.4,\"z\":25.4},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":37,\"source_line\":41,\"start\":{\"x\":2.54,\"y\":25.4,\"z\":25.4,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":2.54,\"y\":25.4,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":2.54,\"y\":25.4,\"z\":25.4},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":38,\"source_line\":42,\"start\":{\"x\":2.54,\"y\":25.4,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":25.4,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":2.54,\"y\":25.4,\"z\":44.449999999999996},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":39,\"source_line\":43,\"start\":{\"x\":0,\"y\":25.4,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":30.479999999999997,\"z\":38.099999999999994,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":25.4,\"z\":44.449999999999996},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":40,\"source_line\":44,\"start\":{\"x\":0,\"y\":30.479999999999997,\"z\":38.099999999999994,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":35.559999999999995,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":30.479999999999997,\"z\":38.099999999999994},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":41,\"source_line\":45,\"start\":{\"x\":0,\"y\":35.559999999999995,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":30.479999999999997,\"z\":38.099999999999994,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":35.559999999999995,\"z\":44.449999999999996},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":42,\"source_line\":46,\"start\":{\"x\":0,\"y\":30.479999999999997,\"z\":38.099999999999994,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":30.479999999999997,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":30.479999999999997,\"z\":38.099999999999994},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":43,\"source_line\":47,\"start\":{\"x\":0,\"y\":30.479999999999997,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":2.54,\"y\":30.479999999999997,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":30.479999999999997,\"z\":31.75},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":44,\"source_line\":48,\"start\":{\"x\":2.54,\"y\":30.479999999999997,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":2.54,\"y\":40.64,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":2.54,\"y\":30.479999999999997,\"z\":31.75},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":45,\"source_line\":49,\"start\":{\"x\":2.54,\"y\":40.64,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":40.64,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":2.54,\"y\":40.64,\"z\":44.449999999999996},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":46,\"source_line\":50,\"start\":{\"x\":0,\"y\":40.64,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":50.8,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":40.64,\"z\":44.449999999999996},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":47,\"source_line\":51,\"start\":{\"x\":0,\"y\":50.8,\"z\":44.449999999999996,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":40.64,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":50.8,\"z\":44.449999999999996},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":48,\"source_line\":52,\"start\":{\"x\":0,\"y\":40.64,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":50.8,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":40.64,\"z\":31.75},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"},{\"id\":49,\"source_line\":53,\"start\":{\"x\":0,\"y\":50.8,\"z\":31.75,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"end\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"center\":{\"x\":0,\"y\":50.8,\"z\":31.75},\"normal\":{\"x\":1,\"y\":0,\"z\":0},\"velocity\":762,\"acceleration\":0,\"motion_type\":1,\"turn\":1,\"source\":\"wasm_interpreter_canonical_motion\"}],\"active_segment_id\":0,\"source\":\"wasm_canonical_motion\"},\"authoritative\":{\"schema\":\"sim_authoritative_runtime.v1\",\"tick\":0,\"status\":\"idle\",\"program_status\":\"idle\",\"kinematics\":{\"type\":\"trivkins\",\"joint_count\":3,\"pose\":{\"x\":0,\"y\":0,\"z\":0},\"joints\":[0,0,0],\"status\":0,\"blocked\":null},\"planner\":{\"next_id\":1,\"queue\":[],\"active\":null,\"active_id\":null,\"progress\":0,\"queue_depth\":0,\"last_error\":0},\"state_hash\":\"fnv1a64:4e24908a983412f4\"},\"motion_authority\":\"wasm\",\"task_authority\":\"wasm_task_canonical\",\"state_hash\":\"fnv1a64:0ef93407e9093297\"},\"motion_authority\":\"wasm\",\"task_authority\":\"wasm_task_canonical\",\"wasm_home_limit\":{\"status\":\"verified\",\"state\":{\"schema\":\"sim_home_limit_state.v1\",\"source\":\"wasm_home_limit\",\"pose\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0,\"u\":0,\"v\":0,\"w\":0},\"joints\":[0,0,0],\"joint_count\":3,\"homed\":false,\"home_sequence\":0,\"tick\":0,\"last_error\":0,\"limit_error\":0,\"kinematics_error\":0}},\"axis_state\":{\"state\":\"ESTOP\",\"machine_state\":\"ESTOP\",\"operation_state\":\"IDLE\",\"source_task_state\":\"STATE_ESTOP\",\"source_interp_state\":\"INTERP_IDLE\",\"source_mode\":\"MANUAL\",\"states\":[\"ESTOP\",\"ESTOP_RESET\",\"OFF\",\"ON\",\"HOME\",\"IDLE\",\"RUNNING\",\"PAUSED\"]}}",
|
|
"footer": "Error: sim_io_estop",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "estop",
|
|
"machine_state": "Machine ESTOP",
|
|
"operation_state": "Operation IDLE",
|
|
"position": "X0.000 Y0.000 Z0.000",
|
|
"program_status": "loaded",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[false,false,false]",
|
|
"task": "ESTOP",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "IDLE",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "READY",
|
|
"error_text": "TASK_READYTick 0Hash fnv1a64:2ef8fd3db1a2565cStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationspauseaxis_pause_state_gateresumeaxis_resume_state_gateabortaxis_stop_state_gateSource diagnosticsNo startup diagnostics",
|
|
"footer": "IO_RECOVER acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "power",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation IDLE",
|
|
"position": "X0.000 Y0.000 Z0.000",
|
|
"program_status": "loaded",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"true\" data-axis-homed=\"[false,false,false]\"",
|
|
"task": "IDLE",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "HOME",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "READY",
|
|
"error_text": "TASK_READYTick 0Hash fnv1a64:69eb35d2b981cf84Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationspauseaxis_pause_state_gateresumeaxis_resume_state_gateabortaxis_stop_state_gateSource diagnosticsNo startup diagnostics",
|
|
"footer": "HOME acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "homed",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation HOME",
|
|
"position": "X0.000 Y0.000 Z0.000",
|
|
"program_status": "loaded",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"true\" data-axis-homed=\"[true,true,true]\" da",
|
|
"task": "HOME",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 41Hash fnv1a64:8cf843955007c133Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "running",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X40.640 Y44.450 Z2.540",
|
|
"program_status": "running",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 42Hash fnv1a64:d4bd9783adaf8accStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X40.640 Y44.450 Z0.000",
|
|
"program_status": "running",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 52Hash fnv1a64:04c42bb38d3accadStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X26.943 Y18.711 Z0.000",
|
|
"program_status": "running",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 62Hash fnv1a64:3c1d6a6df53a30caStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X25.400 Y0.000 Z25.400",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 72Hash fnv1a64:ffa1df0b2716f698Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X32.524 Y0.000 Z55.173",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 82Hash fnv1a64:15669513a923a49eStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X25.400 Y0.000 Z44.450",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 92Hash fnv1a64:08b7fb777b92bcfaStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X35.560 Y0.000 Z44.450",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 102Hash fnv1a64:a6c7f88614851b47Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X50.800 Y0.000 Z31.750",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 112Hash fnv1a64:282c36718495f196Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X0.000 Y10.776 Z10.776",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 122Hash fnv1a64:f11ed7d3bb64441bStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X0.000 Y48.443 Z52.784",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 132Hash fnv1a64:6af678c121d1b82cStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X2.540 Y25.400 Z33.020",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 142Hash fnv1a64:a2e033324653af9eStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X0.000 Y30.480 Z31.750",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "RUNNING",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "RUNNING",
|
|
"error_text": "TASK_READYTick 152Hash fnv1a64:3d67d9aa3a68abddStartup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationsloadaxis_interp_runningrunaxis_interp_runningresumeaxis_resume_state_gaterestartaxis_restart_state_gatemdiaxis_interp_runningjogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredresetaxis_reset_state_gatespindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation RUNNING",
|
|
"position": "X0.000 Y40.640 Z31.750",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"false\" data-axis-homed=\"[true,true,true]\" d",
|
|
"task": "RUNNING",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "IDLE",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "READY",
|
|
"error_text": "TASK_READYTick 162Hash fnv1a64:cadb2644a5944975Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationspauseaxis_pause_state_gateresumeaxis_resume_state_gateabortaxis_stop_state_gatejogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredspindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete_poll",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation IDLE",
|
|
"position": "X0.000 Y0.000 Z0.000",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"true\" data-axis-homed=\"[true,true,true]\" da",
|
|
"task": "IDLE",
|
|
"title": "LinuxCNC Web/WASM"
|
|
},
|
|
{
|
|
"axis_state": "IDLE",
|
|
"canvases": [
|
|
{
|
|
"height": 471,
|
|
"width": 941
|
|
}
|
|
],
|
|
"case_status": "linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.ini + linuxcnc/configs/nc_files/3dtest.ngc loaded",
|
|
"connection": "READY",
|
|
"error_text": "TASK_READYTick 162Hash fnv1a64:cadb2644a5944975Startup resourcesEntrypoint: linuxcnc/configs/sim/axis/vismach/3axis-tutorial/3axis-tutorial.iniResources: 4 resolved / 0 blockedHAL: 37 records / 0 blockedDisabled operationspauseaxis_pause_state_gateresumeaxis_resume_state_gateabortaxis_stop_state_gatejogStartaxis_manual_mode_requiredjogStopaxis_manual_mode_requiredhomeaxis_manual_mode_requiredspindleaxis_manual_mode_requiredcoolantaxis_manual_mode_requiredjogaxis_manual_mode_requiredSource diagnosticsNo startup diagnostics",
|
|
"footer": "PROGRAM_RUN acknowledged",
|
|
"href": "http://127.0.0.1:5175/",
|
|
"label": "complete",
|
|
"machine_state": "Machine ON",
|
|
"operation_state": "Operation IDLE",
|
|
"position": "X0.000 Y0.000 Z0.000",
|
|
"program_status": "completed",
|
|
"ready_state": "complete",
|
|
"root_html": "<main class=\"axis-app\" data-axis-feature=\"AXIS-UI-01\" data-axis-run-enabled=\"true\" data-axis-homed=\"[true,true,true]\" da",
|
|
"task": "IDLE",
|
|
"title": "LinuxCNC Web/WASM"
|
|
}
|
|
],
|
|
"status": "verified",
|
|
"tool": "tool/linuxcnc-web-wasm-manual-execution",
|
|
"url": "http://127.0.0.1:5175/"
|
|
}
|