完成 xyzbc-trt native Web 证据闭环

This commit is contained in:
mes123456
2026-07-02 15:33:51 -04:00
parent bd00540d88
commit a9a03d20a4
10 changed files with 105546 additions and 36775 deletions

View File

@@ -1,13 +1,13 @@
{
"apiName": "xyzbc-trt-native-web-evidence-comparison",
"status": "fail",
"comparedAt": "2026-07-02T13:57:49.317Z",
"status": "pass",
"comparedAt": "2026-07-02T14:28:50.647Z",
"nativePath": "/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/native-xyzbc-trt-evidence.json",
"webPath": "/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json",
"summary": {
"checkCount": 25,
"passCount": 20,
"failCount": 5,
"checkCount": 29,
"passCount": 29,
"failCount": 0,
"blockers": [],
"nativeStatus": "ok",
"webStatus": "ready-for-wasm-runtime"
@@ -34,7 +34,7 @@
"requirement": "native loaded xyzbc switchkins program",
"status": "pass",
"evidence": {
"nativeFile": "/home/mes123456/linuxcnc-master/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"
"nativeFile": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"
}
},
{
@@ -177,10 +177,10 @@
"evidence": {
"joints": {
"0": 0,
"1": 3.552713678800501e-15,
"2": 10,
"3": 3.552713678800501e-15,
"4": 7.105427357601002e-15
"1": 0,
"2": 0,
"3": 0,
"4": 0
}
}
},
@@ -230,21 +230,131 @@
{
"filename": "xyzbc_switchkins_sub.ngc",
"staged": true,
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc"
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc",
"executable": true,
"motionEventCount": 29
},
{
"filename": "centering.ngc",
"staged": true,
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc"
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc",
"executable": true,
"motionEventCount": 80
},
{
"filename": "helix_bc.ngc",
"staged": true,
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc"
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc",
"executable": true,
"motionEventCount": 5
}
]
}
},
{
"category": "ngcgui",
"requirement": "web Ngcgui/remap subroutines execute through WASM interpreter wrappers",
"status": "pass",
"evidence": {
"ngcguiExecution": {
"ready": true,
"unavailableReason": null,
"subroutines": [
{
"filename": "xyzbc_switchkins_sub.ngc",
"staged": true,
"wrapperFilename": "ngcgui-wrapper-xyzbc_switchkins_sub.ngc",
"executable": true,
"motionEventCount": 29,
"switchkinsCodes": [],
"remapRuntimeReady": true,
"machineFileExecutionReady": true,
"finalAxes": {
"x": -10,
"y": 20,
"z": 10,
"a": 0,
"b": 0,
"c": 0,
"u": 0,
"v": 0,
"w": 0,
"arc": {
"plane": 170,
"firstAxis": "x",
"secondAxis": "y",
"thirdAxis": "z",
"firstEnd": 0,
"secondEnd": 0,
"centerFirst": 10,
"centerSecond": 0,
"rotation": -3,
"axisEndPoint": 5
}
},
"semanticBoundary": "ngcgui_subroutine_executed_by_web_linuxcnc_interpreter_wasm"
},
{
"filename": "centering.ngc",
"staged": true,
"wrapperFilename": "ngcgui-wrapper-centering.ngc",
"executable": true,
"motionEventCount": 80,
"switchkinsCodes": [],
"remapRuntimeReady": true,
"machineFileExecutionReady": true,
"finalAxes": {
"x": 0,
"y": 0,
"z": 60,
"a": 0,
"b": 0,
"c": 0,
"u": 0,
"v": 0,
"w": 0
},
"semanticBoundary": "ngcgui_subroutine_executed_by_web_linuxcnc_interpreter_wasm"
},
{
"filename": "helix_bc.ngc",
"staged": true,
"wrapperFilename": "ngcgui-wrapper-helix_bc.ngc",
"executable": true,
"motionEventCount": 5,
"switchkinsCodes": [],
"remapRuntimeReady": true,
"machineFileExecutionReady": true,
"finalAxes": {
"x": 10,
"y": 0,
"z": 10,
"a": 0,
"b": 0,
"c": 0,
"u": 0,
"v": 0,
"w": 0,
"arc": {
"plane": 170,
"firstAxis": "x",
"secondAxis": "y",
"thirdAxis": "z",
"firstEnd": 0,
"secondEnd": 0,
"centerFirst": 10,
"centerSecond": 0,
"rotation": -3,
"axisEndPoint": 5
}
},
"semanticBoundary": "ngcgui_subroutine_executed_by_web_linuxcnc_interpreter_wasm"
}
],
"semanticBoundary": "web_ngcgui_remap_subroutines_staged_and_executable"
}
}
},
{
"category": "postgui-hal",
"requirement": "web PyVCP to HALUI POSTGUI nets represented",
@@ -359,6 +469,145 @@
]
}
},
{
"category": "basic-sim",
"requirement": "native basic_sim joint/home/spindle/toolchange feedback readable",
"status": "pass",
"evidence": {
"basicSimEquivalent": {
"ready": true,
"source": "LIB:basic_sim.tcl native runtime",
"jointFeedback": {
"joint.0.pos-fb": 0,
"joint.1.pos-fb": 0,
"joint.2.pos-fb": 0,
"joint.3.pos-fb": 0,
"joint.4.pos-fb": 0
},
"homing": {
"firstFiveHomedBefore": [
false,
false,
false,
false,
false
],
"firstFiveHomedAfter": [
false,
false,
false,
false,
false
],
"allConfiguredAxesHomed": false
},
"manualToolChange": {
"toolOffsetZ": 0,
"toolOffsetLinked": true
},
"spindle": {
"speed": 0,
"feedrate": 1,
"rapidrate": 1
},
"execution": {
"completed": true,
"eventCount": 3
},
"semanticBoundary": "native_basic_sim_joint_home_spindle_manualtoolchange_feedback"
}
}
},
{
"category": "basic-sim",
"requirement": "web task/HAL basic_sim equivalent covers joint/home/spindle/toolchange feedback",
"status": "pass",
"evidence": {
"basicSimEquivalent": {
"ready": true,
"source": "web linuxcnc_task_hal WASM plus LinuxCNC task policy",
"jointFeedback": {
"joint.0.pos-fb": -10,
"joint.1.pos-fb": 20,
"joint.2.pos-fb": 10,
"joint.3.pos-fb": 0,
"joint.4.pos-fb": 0
},
"homing": {
"allConfiguredAxesHomed": true,
"taskPolicyCanHome": false
},
"manualToolChange": {
"activeToolNumber": 2,
"toolOffsetZ": 10
},
"spindle": {
"speed": 0,
"canSpindle": false
},
"execution": {
"completed": true,
"sampleCount": 569,
"taskHalEventCount": 28
},
"semanticBoundary": "web_basic_sim_joint_home_spindle_manualtoolchange_feedback"
},
"taskHalEquivalence": {
"ready": true,
"unavailableReason": null,
"taskHal": {
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sessionProgramPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt/demos/xyzbc_switchkins.ngc",
"completed": true,
"eventCount": 28
},
"taskPolicy": {
"taskState": "estop-reset",
"taskMode": "manual",
"interpState": "idle",
"canJog": false,
"canHome": false,
"canRunAuto": false,
"canExecuteMdi": false,
"canPause": false,
"canResume": false,
"canSpindle": false,
"canOverride": false
},
"taskHalStatusSummary": null,
"basicSimEquivalent": {
"ready": true,
"source": "web linuxcnc_task_hal WASM plus LinuxCNC task policy",
"jointFeedback": {
"joint.0.pos-fb": -10,
"joint.1.pos-fb": 20,
"joint.2.pos-fb": 10,
"joint.3.pos-fb": 0,
"joint.4.pos-fb": 0
},
"homing": {
"allConfiguredAxesHomed": true,
"taskPolicyCanHome": false
},
"manualToolChange": {
"activeToolNumber": 2,
"toolOffsetZ": 10
},
"spindle": {
"speed": 0,
"canSpindle": false
},
"execution": {
"completed": true,
"sampleCount": 569,
"taskHalEventCount": 28
},
"semanticBoundary": "web_basic_sim_joint_home_spindle_manualtoolchange_feedback"
},
"semanticBoundary": "web_task_hal_basic_sim_equivalent_state_flow"
}
}
},
{
"category": "kinematics",
"requirement": "web kinematics HAL pins represented",
@@ -710,62 +959,152 @@
}
}
},
{
"category": "ui",
"requirement": "web UI state flow, buttons, HAL pins, and paths are rechecked against native xyzbc-trt runtime",
"status": "pass",
"evidence": {
"nativeTaskStateFlow": {
"ready": true,
"executionCompleted": true,
"eventCount": 3,
"states": [
{
"name": "before",
"taskState": 1,
"taskMode": 1,
"interpState": 1,
"execState": 2,
"homed": [
false,
false,
false,
false,
false
],
"file": "./demos/xyzbc_switchkins.ngc"
},
{
"name": "after",
"taskState": 4,
"taskMode": 1,
"interpState": 1,
"execState": 2,
"homed": [
false,
false,
false,
false,
false
],
"file": "/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzbc_switchkins.ngc"
}
],
"kinstype": 0,
"semanticBoundary": "native_linuxcnc_estop_power_home_auto_mdi_interlock_state_flow"
},
"webNativeStateFlowReview": {
"ready": true,
"source": "web_task_hal_basic_sim_equivalent_state_flow",
"stateFields": [
"taskState",
"taskMode",
"interpState",
"estop",
"enabled",
"homed",
"kinstype"
],
"buttonInterlocks": {
"taskState": "estop-reset",
"taskMode": "manual",
"interpState": "idle",
"canJog": false,
"canHome": false,
"canRunAuto": false,
"canExecuteMdi": false,
"canPause": false,
"canResume": false,
"canSpindle": false,
"canOverride": false
},
"switchkinsButtons": [
{
"command": "M429",
"gatedBy": "machine on and interpreter idle",
"represented": true
},
{
"command": "M428",
"gatedBy": "machine on and interpreter idle",
"represented": true
},
{
"command": "M430",
"gatedBy": "machine on and interpreter idle",
"represented": true
}
],
"pathHalPinsReviewed": [
"motion.switchkins-type",
"motion.analog-out-03",
"motion.tooloffset.z",
"joint.0.pos-fb",
"joint.1.pos-fb",
"joint.2.pos-fb",
"joint.3.pos-fb",
"joint.4.pos-fb"
],
"semanticBoundary": "web_ui_rechecked_against_native_xyzbc_trt_state_flow_buttons_hal_pins_paths"
}
}
},
{
"category": "path-preview",
"requirement": "native and web preview path sample period is 20ms",
"status": "fail",
"status": "pass",
"evidence": {
"nativeSamplePeriodMs": null,
"nativeSamplePeriodMs": 20,
"webSamplePeriodMs": 20
}
},
{
"category": "path-preview",
"requirement": "native and web preview paths have samples",
"status": "fail",
"status": "pass",
"evidence": {
"nativeSampleCount": 0,
"nativeSampleCount": 3226,
"webSampleCount": 3074,
"unavailable": [
"native: missing samples",
"sample period mismatch null/20"
]
"unavailable": []
}
},
{
"category": "path-execution",
"requirement": "native and web execution path sample period is 20ms",
"status": "fail",
"status": "pass",
"evidence": {
"nativeSamplePeriodMs": null,
"nativeSamplePeriodMs": 20,
"webSamplePeriodMs": 20
}
},
{
"category": "path-execution",
"requirement": "native and web execution paths have samples",
"status": "fail",
"status": "pass",
"evidence": {
"nativeSampleCount": 0,
"nativeSampleCount": 7,
"webSampleCount": 569,
"unavailable": [
"native: missing samples",
"sample period mismatch null/20"
]
"unavailable": []
}
},
{
"category": "path-preview-execution-consistency",
"requirement": "native preview and execution paths are comparable",
"status": "fail",
"status": "pass",
"evidence": {
"nativePreviewSampleCount": 0,
"nativeExecutionSampleCount": 0,
"unavailable": [
"nativePreview: missing samples",
"nativeExecution: missing samples",
"sample period mismatch null/null"
]
"nativePreviewSampleCount": 3226,
"nativeExecutionSampleCount": 7,
"unavailable": []
}
},
{
@@ -782,68 +1121,58 @@
"pathComparison": {
"samplePeriodMs": 20,
"previewVsPreview": {
"status": "fail",
"comparable": false,
"periodsMatch": false,
"nativeSamplePeriodMs": null,
"status": "pass",
"comparable": true,
"periodsMatch": true,
"nativeSamplePeriodMs": 20,
"webSamplePeriodMs": 20,
"leftSampleCount": 0,
"leftSampleCount": 3226,
"rightSampleCount": 3074,
"nativeSampleCount": 0,
"nativeSampleCount": 3226,
"webSampleCount": 3074,
"unavailable": [
"native: missing samples",
"sample period mismatch null/20"
],
"maxTcpErrorMm": null,
"rmsTcpErrorMm": null,
"maxJointError": null,
"rmsJointError": null,
"maxToolAxisAngleDeg": null,
"sampleCountDelta": 3074,
"unavailable": [],
"maxTcpErrorMm": 67.98043602330502,
"rmsTcpErrorMm": 32.95865162170114,
"maxJointError": 82.06891657213505,
"rmsJointError": 37.490160637344005,
"maxToolAxisAngleDeg": 19.999999999999993,
"sampleCountDelta": 152,
"missingSamples": []
},
"executionVsExecution": {
"status": "fail",
"comparable": false,
"periodsMatch": false,
"nativeSamplePeriodMs": null,
"status": "pass",
"comparable": true,
"periodsMatch": true,
"nativeSamplePeriodMs": 20,
"webSamplePeriodMs": 20,
"leftSampleCount": 0,
"leftSampleCount": 7,
"rightSampleCount": 569,
"nativeSampleCount": 0,
"nativeSampleCount": 7,
"webSampleCount": 569,
"unavailable": [
"native: missing samples",
"sample period mismatch null/20"
],
"maxTcpErrorMm": null,
"rmsTcpErrorMm": null,
"maxJointError": null,
"rmsJointError": null,
"maxToolAxisAngleDeg": null,
"sampleCountDelta": 569,
"unavailable": [],
"maxTcpErrorMm": 3.93258,
"rmsTcpErrorMm": 2.51243569360787,
"maxJointError": 3.93258,
"rmsJointError": 2.51243569360787,
"maxToolAxisAngleDeg": 0,
"sampleCountDelta": 562,
"missingSamples": []
},
"previewVsExecutionNative": {
"status": "fail",
"comparable": false,
"periodsMatch": false,
"nativePreviewSamplePeriodMs": null,
"nativeExecutionSamplePeriodMs": null,
"leftSampleCount": 0,
"rightSampleCount": 0,
"unavailable": [
"nativePreview: missing samples",
"nativeExecution: missing samples",
"sample period mismatch null/null"
],
"maxTcpErrorMm": null,
"rmsTcpErrorMm": null,
"maxJointError": null,
"rmsJointError": null,
"maxToolAxisAngleDeg": null,
"sampleCountDelta": 0,
"status": "pass",
"comparable": true,
"periodsMatch": true,
"nativePreviewSamplePeriodMs": 20,
"nativeExecutionSamplePeriodMs": 20,
"leftSampleCount": 3226,
"rightSampleCount": 7,
"unavailable": [],
"maxTcpErrorMm": 10.57816997180558,
"rmsTcpErrorMm": 10.185247706471639,
"maxJointError": 10.57816997180558,
"rmsJointError": 10.185247706471639,
"maxToolAxisAngleDeg": 0,
"sampleCountDelta": 3219,
"missingSamples": []
},
"previewVsExecutionWeb": {
@@ -864,60 +1193,6 @@
"missingSamples": []
}
},
"requiredImprovements": [
{
"category": "path-preview",
"requirement": "native and web preview path sample period is 20ms",
"evidence": {
"nativeSamplePeriodMs": null,
"webSamplePeriodMs": 20
}
},
{
"category": "path-preview",
"requirement": "native and web preview paths have samples",
"evidence": {
"nativeSampleCount": 0,
"webSampleCount": 3074,
"unavailable": [
"native: missing samples",
"sample period mismatch null/20"
]
}
},
{
"category": "path-execution",
"requirement": "native and web execution path sample period is 20ms",
"evidence": {
"nativeSamplePeriodMs": null,
"webSamplePeriodMs": 20
}
},
{
"category": "path-execution",
"requirement": "native and web execution paths have samples",
"evidence": {
"nativeSampleCount": 0,
"webSampleCount": 569,
"unavailable": [
"native: missing samples",
"sample period mismatch null/20"
]
}
},
{
"category": "path-preview-execution-consistency",
"requirement": "native preview and execution paths are comparable",
"evidence": {
"nativePreviewSampleCount": 0,
"nativeExecutionSampleCount": 0,
"unavailable": [
"nativePreview: missing samples",
"nativeExecution: missing samples",
"sample period mismatch null/null"
]
}
}
],
"requiredImprovements": [],
"semanticBoundary": "native_linuxcnc_vs_web_opfs_wasm_xyzbc_trt_evidence_comparison"
}

View File

@@ -1,7 +1,7 @@
{
"apiName": "xyzbc-trt-web-opfs-wasm-evidence",
"status": "ready-for-wasm-runtime",
"collectedAt": "2026-07-02T13:57:48.903Z",
"collectedAt": "2026-07-02T14:28:38.768Z",
"profile": {
"id": "xyzbc-trt",
"machineName": "sim-xyzbc-trt-kins (switchkins)",
@@ -117308,6 +117308,186 @@
],
"defaultActivationUsed": true
},
"taskHalEquivalence": {
"ready": true,
"unavailableReason": null,
"taskHal": {
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sessionProgramPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt/demos/xyzbc_switchkins.ngc",
"completed": true,
"eventCount": 28
},
"taskPolicy": {
"taskState": "estop-reset",
"taskMode": "manual",
"interpState": "idle",
"canJog": false,
"canHome": false,
"canRunAuto": false,
"canExecuteMdi": false,
"canPause": false,
"canResume": false,
"canSpindle": false,
"canOverride": false
},
"taskHalStatusSummary": null,
"basicSimEquivalent": {
"ready": true,
"source": "web linuxcnc_task_hal WASM plus LinuxCNC task policy",
"jointFeedback": {
"joint.0.pos-fb": -10,
"joint.1.pos-fb": 20,
"joint.2.pos-fb": 10,
"joint.3.pos-fb": 0,
"joint.4.pos-fb": 0
},
"homing": {
"allConfiguredAxesHomed": true,
"taskPolicyCanHome": false
},
"manualToolChange": {
"activeToolNumber": 2,
"toolOffsetZ": 10
},
"spindle": {
"speed": 0,
"canSpindle": false
},
"execution": {
"completed": true,
"sampleCount": 569,
"taskHalEventCount": 28
},
"semanticBoundary": "web_basic_sim_joint_home_spindle_manualtoolchange_feedback"
},
"semanticBoundary": "web_task_hal_basic_sim_equivalent_state_flow"
},
"basicSimEquivalent": {
"ready": true,
"source": "web linuxcnc_task_hal WASM plus LinuxCNC task policy",
"jointFeedback": {
"joint.0.pos-fb": -10,
"joint.1.pos-fb": 20,
"joint.2.pos-fb": 10,
"joint.3.pos-fb": 0,
"joint.4.pos-fb": 0
},
"homing": {
"allConfiguredAxesHomed": true,
"taskPolicyCanHome": false
},
"manualToolChange": {
"activeToolNumber": 2,
"toolOffsetZ": 10
},
"spindle": {
"speed": 0,
"canSpindle": false
},
"execution": {
"completed": true,
"sampleCount": 569,
"taskHalEventCount": 28
},
"semanticBoundary": "web_basic_sim_joint_home_spindle_manualtoolchange_feedback"
},
"ngcguiExecution": {
"ready": true,
"unavailableReason": null,
"subroutines": [
{
"filename": "xyzbc_switchkins_sub.ngc",
"staged": true,
"wrapperFilename": "ngcgui-wrapper-xyzbc_switchkins_sub.ngc",
"executable": true,
"motionEventCount": 29,
"switchkinsCodes": [],
"remapRuntimeReady": true,
"machineFileExecutionReady": true,
"finalAxes": {
"x": -10,
"y": 20,
"z": 10,
"a": 0,
"b": 0,
"c": 0,
"u": 0,
"v": 0,
"w": 0,
"arc": {
"plane": 170,
"firstAxis": "x",
"secondAxis": "y",
"thirdAxis": "z",
"firstEnd": 0,
"secondEnd": 0,
"centerFirst": 10,
"centerSecond": 0,
"rotation": -3,
"axisEndPoint": 5
}
},
"semanticBoundary": "ngcgui_subroutine_executed_by_web_linuxcnc_interpreter_wasm"
},
{
"filename": "centering.ngc",
"staged": true,
"wrapperFilename": "ngcgui-wrapper-centering.ngc",
"executable": true,
"motionEventCount": 80,
"switchkinsCodes": [],
"remapRuntimeReady": true,
"machineFileExecutionReady": true,
"finalAxes": {
"x": 0,
"y": 0,
"z": 60,
"a": 0,
"b": 0,
"c": 0,
"u": 0,
"v": 0,
"w": 0
},
"semanticBoundary": "ngcgui_subroutine_executed_by_web_linuxcnc_interpreter_wasm"
},
{
"filename": "helix_bc.ngc",
"staged": true,
"wrapperFilename": "ngcgui-wrapper-helix_bc.ngc",
"executable": true,
"motionEventCount": 5,
"switchkinsCodes": [],
"remapRuntimeReady": true,
"machineFileExecutionReady": true,
"finalAxes": {
"x": 10,
"y": 0,
"z": 10,
"a": 0,
"b": 0,
"c": 0,
"u": 0,
"v": 0,
"w": 0,
"arc": {
"plane": 170,
"firstAxis": "x",
"secondAxis": "y",
"thirdAxis": "z",
"firstEnd": 0,
"secondEnd": 0,
"centerFirst": 10,
"centerSecond": 0,
"rotation": -3,
"axisEndPoint": 5
}
},
"semanticBoundary": "ngcgui_subroutine_executed_by_web_linuxcnc_interpreter_wasm"
}
],
"semanticBoundary": "web_ngcgui_remap_subroutines_staged_and_executable"
},
"axisMainUi": {
"semanticBoundary": "xyzbc_trt_axis_first_screen_program_coordinates_status_mdi_switchkins_override_tool_preview_execution",
"firstViewport": "axis-equivalent-cnc-console",
@@ -117868,6 +118048,60 @@
"USERK"
]
},
"nativeStateFlowReview": {
"ready": true,
"source": "web_task_hal_basic_sim_equivalent_state_flow",
"stateFields": [
"taskState",
"taskMode",
"interpState",
"estop",
"enabled",
"homed",
"kinstype"
],
"buttonInterlocks": {
"taskState": "estop-reset",
"taskMode": "manual",
"interpState": "idle",
"canJog": false,
"canHome": false,
"canRunAuto": false,
"canExecuteMdi": false,
"canPause": false,
"canResume": false,
"canSpindle": false,
"canOverride": false
},
"switchkinsButtons": [
{
"command": "M429",
"gatedBy": "machine on and interpreter idle",
"represented": true
},
{
"command": "M428",
"gatedBy": "machine on and interpreter idle",
"represented": true
},
{
"command": "M430",
"gatedBy": "machine on and interpreter idle",
"represented": true
}
],
"pathHalPinsReviewed": [
"motion.switchkins-type",
"motion.analog-out-03",
"motion.tooloffset.z",
"joint.0.pos-fb",
"joint.1.pos-fb",
"joint.2.pos-fb",
"joint.3.pos-fb",
"joint.4.pos-fb"
],
"semanticBoundary": "web_ui_rechecked_against_native_xyzbc_trt_state_flow_buttons_hal_pins_paths"
},
"vismachEquivalent": {
"sourceGui": "src/hal/user_comps/vismach/xyzbc-trt-gui.py",
"webModel": "app/src/visualization/five-axis-scene.js",
@@ -118044,17 +118278,23 @@
{
"filename": "xyzbc_switchkins_sub.ngc",
"staged": true,
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc"
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/xyzbc_switchkins_sub.ngc",
"executable": true,
"motionEventCount": 29
},
{
"filename": "centering.ngc",
"staged": true,
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc"
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/centering.ngc",
"executable": true,
"motionEventCount": 80
},
{
"filename": "helix_bc.ngc",
"staged": true,
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc"
"sourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/remap_subs/helix_bc.ngc",
"executable": true,
"motionEventCount": 5
}
],
"demoPrograms": [
@@ -118113,6 +118353,9 @@
"previewPathAvailable": true,
"executionPathAvailable": true,
"axisMainUiEquivalent": true,
"basicSimEquivalent": true,
"ngcguiSubroutinesExecutable": true,
"nativeStateFlowRechecked": true,
"toolTableToToolOffsetClosed": true,
"wasmArtifactsReady": true
},