同步五轴仿真文档和验证证据

This commit is contained in:
2026-06-26 09:45:39 -04:00
parent d5d96a8e5c
commit 8df191faa5
188 changed files with 19504 additions and 42 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

View File

@@ -0,0 +1,776 @@
{
"target": "https://82.156.24.101:8092/",
"generatedAt": "2026-06-23T07:25:17.986Z",
"summaries": [
{
"label": "loaded",
"runState": "idle",
"operatorMessage": "LinuxCNC task/HAL session ready /work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"machine": {
"powerOn": false,
"estopActive": false,
"taskState": "estop-reset",
"mode": "manual",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"taskHalRuntimeReadiness": {
"apiName": "web-rtcp-5axis-linuxcnc-task-hal-runtime-readiness",
"loaded": true,
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sdkSemanticBoundary": "linuxcnc_task_motion_hal_wasm_phase4_minimal",
"executionContext": "direct",
"workerUrl": null,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false
},
"taskHalSession": {
"profileId": "xyzac-trt",
"programPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"fileCount": 18
},
"taskHalStatus": {
"taskState": "ESTOP_RESET",
"taskMode": "MANUAL",
"interpState": "IDLE",
"activeLine": 1,
"currentVelocity": 0,
"taskCycle": 0
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-canonical-motion",
"semanticBoundary": "linuxcnc_canonical_motion_feedback_without_tp_sample",
"sampleIndex": 0,
"motionIndex": 0,
"line": 8,
"type": "STRAIGHT_TRAVERSE",
"linearUnits": "mm",
"timeSeconds": 0,
"axisPose": {
"x": 16.339,
"y": -25.409,
"z": 33.353,
"a": -71.841,
"b": 0,
"c": -35.93
},
"currentVelocityMmPerMin": 2100,
"requestedVelocityMmPerMin": 2100,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 0
},
"programRuntimeFeedbackHistoryLength": 1,
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"runGate": null
},
{
"label": "after-direct-run",
"runState": "idle",
"operatorMessage": "LinuxCNC task/HAL session ready /work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"machine": {
"powerOn": false,
"estopActive": false,
"taskState": "estop-reset",
"mode": "manual",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"taskHalRuntimeReadiness": {
"apiName": "web-rtcp-5axis-linuxcnc-task-hal-runtime-readiness",
"loaded": true,
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sdkSemanticBoundary": "linuxcnc_task_motion_hal_wasm_phase4_minimal",
"executionContext": "direct",
"workerUrl": null,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false
},
"taskHalSession": {
"profileId": "xyzac-trt",
"programPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"fileCount": 18
},
"taskHalStatus": {
"taskState": "ESTOP_RESET",
"taskMode": "MANUAL",
"interpState": "IDLE",
"activeLine": 1,
"currentVelocity": 0,
"taskCycle": 0
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-canonical-motion",
"semanticBoundary": "linuxcnc_canonical_motion_feedback_without_tp_sample",
"sampleIndex": 0,
"motionIndex": 0,
"line": 8,
"type": "STRAIGHT_TRAVERSE",
"linearUnits": "mm",
"timeSeconds": 0,
"axisPose": {
"x": 16.339,
"y": -25.409,
"z": 33.353,
"a": -71.841,
"b": 0,
"c": -35.93
},
"currentVelocityMmPerMin": 2100,
"requestedVelocityMmPerMin": 2100,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 0
},
"programRuntimeFeedbackHistoryLength": 1,
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"runGate": null
},
{
"label": "after-run-ready",
"runState": "idle",
"operatorMessage": "RUN ready: power on, homed, auto mode",
"machine": {
"powerOn": true,
"estopActive": false,
"taskState": "on",
"mode": "auto",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"taskHalRuntimeReadiness": {
"apiName": "web-rtcp-5axis-linuxcnc-task-hal-runtime-readiness",
"loaded": true,
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sdkSemanticBoundary": "linuxcnc_task_motion_hal_wasm_phase4_minimal",
"executionContext": "direct",
"workerUrl": null,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false
},
"taskHalSession": {
"profileId": "xyzac-trt",
"programPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"fileCount": 18
},
"taskHalStatus": {
"taskState": "ON",
"taskMode": "AUTO",
"interpState": "IDLE",
"activeLine": 1,
"currentVelocity": 3600,
"taskCycle": 0
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-task-motion-hal-wasm",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sampleIndex": 40,
"motionIndex": 0,
"line": 1,
"motionProgramLine": 1,
"halProgramLine": 1,
"activeLineSource": "motion-status",
"activeLineHalSynced": true,
"type": "TASK_MOTION",
"timeSeconds": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"currentVelocityMmPerMin": 3600,
"requestedVelocityMmPerMin": 3600,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 40,
"taskCycle": 4,
"halChangedPinCount": 0
},
"programRuntimeFeedbackHistoryLength": 3,
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"runGate": null
},
{
"label": "run-0500",
"runState": "idle",
"operatorMessage": "RUN ready: power on, homed, auto mode",
"machine": {
"powerOn": true,
"estopActive": false,
"taskState": "on",
"mode": "auto",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"taskHalRuntimeReadiness": {
"apiName": "web-rtcp-5axis-linuxcnc-task-hal-runtime-readiness",
"loaded": true,
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sdkSemanticBoundary": "linuxcnc_task_motion_hal_wasm_phase4_minimal",
"executionContext": "direct",
"workerUrl": null,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false
},
"taskHalSession": {
"profileId": "xyzac-trt",
"programPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"fileCount": 18
},
"taskHalStatus": {
"taskState": "ON",
"taskMode": "AUTO",
"interpState": "IDLE",
"activeLine": 1,
"currentVelocity": 3600,
"taskCycle": 0
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-task-motion-hal-wasm",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sampleIndex": 40,
"motionIndex": 0,
"line": 1,
"motionProgramLine": 1,
"halProgramLine": 1,
"activeLineSource": "motion-status",
"activeLineHalSynced": true,
"type": "TASK_MOTION",
"timeSeconds": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"currentVelocityMmPerMin": 3600,
"requestedVelocityMmPerMin": 3600,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 40,
"taskCycle": 4,
"halChangedPinCount": 0
},
"programRuntimeFeedbackHistoryLength": 3,
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"runGate": null
},
{
"label": "run-2500",
"runState": "idle",
"operatorMessage": "RUN ready: power on, homed, auto mode",
"machine": {
"powerOn": true,
"estopActive": false,
"taskState": "on",
"mode": "auto",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"taskHalRuntimeReadiness": {
"apiName": "web-rtcp-5axis-linuxcnc-task-hal-runtime-readiness",
"loaded": true,
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sdkSemanticBoundary": "linuxcnc_task_motion_hal_wasm_phase4_minimal",
"executionContext": "direct",
"workerUrl": null,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false
},
"taskHalSession": {
"profileId": "xyzac-trt",
"programPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"fileCount": 18
},
"taskHalStatus": {
"taskState": "ON",
"taskMode": "AUTO",
"interpState": "IDLE",
"activeLine": 1,
"currentVelocity": 3600,
"taskCycle": 0
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-task-motion-hal-wasm",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sampleIndex": 40,
"motionIndex": 0,
"line": 1,
"motionProgramLine": 1,
"halProgramLine": 1,
"activeLineSource": "motion-status",
"activeLineHalSynced": true,
"type": "TASK_MOTION",
"timeSeconds": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"currentVelocityMmPerMin": 3600,
"requestedVelocityMmPerMin": 3600,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 40,
"taskCycle": 4,
"halChangedPinCount": 0
},
"programRuntimeFeedbackHistoryLength": 3,
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"runGate": null
},
{
"label": "run-6500",
"runState": "idle",
"operatorMessage": "RUN ready: power on, homed, auto mode",
"machine": {
"powerOn": true,
"estopActive": false,
"taskState": "on",
"mode": "auto",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"taskHalRuntimeReadiness": {
"apiName": "web-rtcp-5axis-linuxcnc-task-hal-runtime-readiness",
"loaded": true,
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sdkSemanticBoundary": "linuxcnc_task_motion_hal_wasm_phase4_minimal",
"executionContext": "direct",
"workerUrl": null,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false
},
"taskHalSession": {
"profileId": "xyzac-trt",
"programPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"fileCount": 18
},
"taskHalStatus": {
"taskState": "ON",
"taskMode": "AUTO",
"interpState": "IDLE",
"activeLine": 1,
"currentVelocity": 3600,
"taskCycle": 0
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-task-motion-hal-wasm",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sampleIndex": 40,
"motionIndex": 0,
"line": 1,
"motionProgramLine": 1,
"halProgramLine": 1,
"activeLineSource": "motion-status",
"activeLineHalSynced": true,
"type": "TASK_MOTION",
"timeSeconds": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"currentVelocityMmPerMin": 3600,
"requestedVelocityMmPerMin": 3600,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 40,
"taskCycle": 4,
"halChangedPinCount": 0
},
"programRuntimeFeedbackHistoryLength": 3,
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"runGate": null
},
{
"label": "after-stop",
"runState": "stopped",
"operatorMessage": "task/HAL program stopped",
"machine": {
"powerOn": true,
"estopActive": false,
"taskState": "on",
"mode": "auto",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/impeller-7bl-xyzac.ngc",
"taskHalRuntimeReadiness": {
"apiName": "web-rtcp-5axis-linuxcnc-task-hal-runtime-readiness",
"loaded": true,
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sdkSemanticBoundary": "linuxcnc_task_motion_hal_wasm_phase4_minimal",
"executionContext": "direct",
"workerUrl": null,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false
},
"taskHalSession": {
"profileId": "xyzac-trt",
"programPath": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/impeller-7bl-xyzac.ngc",
"fileCount": 18
},
"taskHalStatus": {
"taskState": "ON",
"taskMode": "AUTO",
"interpState": "IDLE",
"activeLine": 1,
"currentVelocity": 3600,
"taskCycle": 0
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-task-motion-hal-wasm",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sampleIndex": 50,
"motionIndex": 0,
"line": 1,
"motionProgramLine": 1,
"halProgramLine": 1,
"activeLineSource": "motion-status",
"activeLineHalSynced": true,
"type": "TASK_MOTION",
"timeSeconds": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"currentVelocityMmPerMin": 3600,
"requestedVelocityMmPerMin": 3600,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 50,
"taskCycle": 5,
"halChangedPinCount": 0
},
"programRuntimeFeedbackHistoryLength": 4,
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": "stopped",
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"runGate": null
}
],
"consoleLogs": [
{
"type": "warn",
"text": "[.WebGL-0x369c000f8800]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
"location": {
"url": "https://82.156.24.101:8092/"
}
},
{
"type": "warn",
"text": "[.WebGL-0x369c000f8800]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
"location": {
"url": "https://82.156.24.101:8092/"
}
},
{
"type": "warn",
"text": "[.WebGL-0x369c000f8800]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels",
"location": {
"url": "https://82.156.24.101:8092/"
}
},
{
"type": "warn",
"text": "[.WebGL-0x369c000f8800]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)",
"location": {
"url": "https://82.156.24.101:8092/"
}
}
],
"pageErrors": []
}

View File

@@ -0,0 +1,285 @@
{
"generatedAt": "2026-06-23T07:35:25.253Z",
"before": {
"runState": "idle",
"machine": {
"powerOn": false,
"estopActive": false,
"taskState": "estop-reset",
"mode": "manual",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"rtcpState": "on",
"kinsType": "tcp-xyzac",
"operatorMessage": "LinuxCNC task/HAL session ready /work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/boat-xyzac.ngc",
"taskHalExecutionPending": false,
"taskHalFallbackReason": null,
"taskHalStatus": {
"ui": {
"taskState": "estop_reset",
"taskMode": "manual",
"interpState": "idle",
"execState": "done",
"taskCycle": 0,
"servoCycle": 20,
"motionQueueDepth": 0,
"halChangedPinCount": 0,
"activeLine": 1,
"motionProgramLine": 0,
"halProgramLine": 0,
"activeLineSource": "fallback",
"activeLineHalSynced": false,
"switchkinsType": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"axisPoseFrame": "work",
"currentVelocity": 0
},
"task": {
"state": "ESTOP_RESET",
"mode": "MANUAL",
"interpState": "IDLE",
"execState": "DONE",
"cycle": 2,
"openProgram": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/boat-xyzac.ngc",
"openedLineCount": 1881,
"openedSourceLineCount": 1881,
"executableLineCount": 1859,
"nextProgramLine": 0
},
"summary": {
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"taskHalComparisonReady": true,
"switchkinsRemapHalSync": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"fullLinuxCncProgramExecutionReady": false,
"hardwareDrive": false,
"hostRealtimeKernel": false
}
},
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-task-motion-hal-wasm",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sampleIndex": 20,
"motionIndex": 0,
"line": 1,
"motionProgramLine": 0,
"halProgramLine": 0,
"activeLineSource": "fallback",
"activeLineHalSynced": false,
"type": "TASK_MOTION",
"timeSeconds": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"currentVelocityMmPerMin": 0,
"requestedVelocityMmPerMin": 0,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 20,
"taskCycle": 2,
"halChangedPinCount": 0
},
"selected": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"taskHalSessionProgram": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/boat-xyzac.ngc",
"preconditions": null
},
"after": {
"runState": "idle",
"machine": {
"powerOn": true,
"estopActive": false,
"taskState": "on",
"mode": "auto",
"interpState": "idle",
"interpResumeState": "idle",
"taskPaused": false,
"allHomed": false,
"noForceHoming": false,
"jogAxis": "x",
"jogIncrement": 1,
"mdiCommand": "G0 X0 Y0 Z0",
"mdiDistanceMode": "absolute",
"resetCount": 0
},
"rtcpState": "on",
"kinsType": "tcp-xyzac",
"operatorMessage": "RUN ready: power on, homed, auto mode",
"taskHalExecutionPending": false,
"taskHalFallbackReason": null,
"taskHalStatus": {
"ui": {
"taskState": "on",
"taskMode": "auto",
"interpState": "idle",
"execState": "done",
"taskCycle": 0,
"servoCycle": 40,
"motionQueueDepth": 0,
"halChangedPinCount": 0,
"activeLine": 1,
"motionProgramLine": 1,
"halProgramLine": 1,
"activeLineSource": "motion-status",
"activeLineHalSynced": true,
"switchkinsType": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"axisPoseFrame": "work",
"currentVelocity": 3600
},
"task": {
"state": "ON",
"mode": "AUTO",
"interpState": "IDLE",
"execState": "DONE",
"cycle": 4,
"openProgram": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/boat-xyzac.ngc",
"openedLineCount": 1881,
"openedSourceLineCount": 1881,
"executableLineCount": 1859,
"nextProgramLine": 0
},
"summary": {
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"halSyncReady": true,
"taskHalComparisonReady": true,
"switchkinsRemapHalSync": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"fullLinuxCncProgramExecutionReady": false,
"hardwareDrive": false,
"hostRealtimeKernel": false
}
},
"taskHalStatusLoop": {
"apiName": "web-rtcp-5axis-task-hal-status-loop",
"active": false,
"sequence": 0,
"profileId": null,
"iniPath": null,
"kinematicsModuleId": null,
"tickCount": 0,
"batchSize": 5,
"intervalMs": 25,
"taskPeriodNs": 10000000,
"servoPeriodNs": 1000000,
"lastStatusAt": null,
"lastError": null,
"stopReason": null,
"semanticBoundary": "js_status_polling_loop_for_linuxcnc_task_hal_motion_status"
},
"programRuntimeFeedback": {
"apiName": "web-rtcp-5axis-program-runtime-feedback",
"sourceMode": "linuxcnc-task-motion-hal-wasm",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"sampleIndex": 40,
"motionIndex": 0,
"line": 1,
"motionProgramLine": 1,
"halProgramLine": 1,
"activeLineSource": "motion-status",
"activeLineHalSynced": true,
"type": "TASK_MOTION",
"timeSeconds": 0,
"axisPose": {
"x": 0,
"y": 0,
"z": 0,
"a": 0,
"b": 0,
"c": 0
},
"currentVelocityMmPerMin": 3600,
"requestedVelocityMmPerMin": 3600,
"distanceToGo": 0,
"dtg": {
"x": 0,
"y": 0,
"z": 0
},
"queueDepth": 0,
"activeDepth": 0,
"cycle": 40,
"taskCycle": 4,
"halChangedPinCount": 0
},
"selected": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
"taskHalSessionProgram": "/work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/boat-xyzac.ngc",
"preconditions": null
},
"logs": [
{
"type": "warn",
"text": "[.WebGL-0x3764000f0200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels"
},
{
"type": "warn",
"text": "[.WebGL-0x3764000f0200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels"
},
{
"type": "warn",
"text": "[.WebGL-0x3764000f0200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels"
},
{
"type": "warn",
"text": "[.WebGL-0x3764000f0200]GL Driver Message (OpenGL, Performance, GL_CLOSE_PATH_NV, High): GPU stall due to ReadPixels (this message will no longer repeat)"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

View File

@@ -0,0 +1,289 @@
{
"apiName": "web-rtcp-5axis-native-task-hal-comparison-report",
"generatedAt": "2026-06-23T09:22:56.110Z",
"status": "PASS_WITH_HOST_NATIVE_RUNTIME_BLOCKER",
"scope": "LinuxCNC source/phase0 task-HAL comparison plus attempted host-native TRT runtime probe",
"commands": {
"phase0": {
"command": "bash wasm-port/tests/native/verify_task_hal_phase0.sh",
"status": 0,
"signal": null,
"stdout": "task_hal_phase0_native_probe_gate=ok\n",
"stderr": ""
},
"nativeAudit": {
"command": "node web-rtcp-5axis-sim-plan/tests/node/verify_native_task_hal_audit.mjs",
"status": 0,
"signal": null,
"stdout": "native_task_hal_source_artifact_audit=ok\nnative_task_hal_readiness_artifact=web-rtcp-5axis-sim-plan/build/readiness/native-task-hal-readiness.json\ntask_hal_web_simulation_boundary_consistent=1\nnative_task_hal_host_probe_status=ready_disabled_by_default\nhardware_drive=0\nhost_realtime_kernel=0\nexternal_user_m_process_ready=0\ntool_db_process_ready=0\npromotion_scope=web_simulation_only\n",
"stderr": ""
},
"optInNativeProbe": {
"command": "ENABLE_TRT_TASK_HAL_RUNTIME_PROBE=1 bash wasm-port/tests/native/probe_trt_task_hal_runtime.sh",
"status": 1,
"signal": null,
"stdout": "trt_task_hal_runtime_halcmd_path=/home/meswork/cnc_wams/wasm-port/../linuxcnc/bin/halcmd\ntrt_task_hal_runtime_linuxcnc_path=/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc\ntrt_task_hal_runtime_requirements=halcmd:1,linuxcnc:1\ntrt_task_hal_missing_requirements=-\ntrt_task_hal_source_proof_ready=1\ntrt_task_hal_runtime_ready=1\ntrt_task_hal_execution_enabled=0\ntrt_task_hal_promotion_allowed=0\nnativeTaskReady=false\nnativeHalSyncReady=false\ntrt_task_hal_runtime_probe_ini=/home/meswork/cnc_wams/wasm-port/../linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini\ntrt_task_hal_runtime_probe_program=/home/meswork/cnc_wams/wasm-port/../linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc\ntrt_task_hal_runtime_probe_linuxcnc_stdout=/home/meswork/cnc_wams/wasm-port/build/native/trt-task-hal-runtime/linuxcnc.stdout.log\ntrt_task_hal_runtime_probe_linuxcnc_stderr=/home/meswork/cnc_wams/wasm-port/build/native/trt-task-hal-runtime/linuxcnc.stderr.log\nnative_task_hal_probe=failed\nnative_probe_status=failed\ntrt_task_hal_runtime_probe_status=runtime_state_probe_failed\ntrt_task_hal_runtime_probe_note=linuxcnc_started_but_required_trt_hal_pins_did_not_appear\n",
"stderr": ""
},
"fixtureBaseline": {
"command": "LD_LIBRARY_PATH=linuxcnc/lib bash wasm-port/tools/verify_native_linuxcnc_fixture_baseline.sh",
"status": 1,
"signal": null,
"stdout": "",
"stderr": "upstream rs274 failed for fixture: minimal_linear\n/home/meswork/cnc_wams/wasm-port/../linuxcnc/bin/rs274: error while loading shared libraries: libpython3.13.so.1.0: cannot open shared object file: No such file or directory\n"
}
},
"readiness": {
"apiName": "web-rtcp-5axis-native-task-hal-readiness-audit",
"batch": "M18-native-task-hal-source-and-artifact-audit",
"generatedAt": "2026-06-22T00:00:00.000Z",
"status": "ok",
"semanticBoundary": "linuxcnc_task_motion_hal_wasm_simulation_runtime",
"promotionScope": "web_simulation_only",
"taskHalWebSimulationBoundaryConsistent": true,
"webSimulation": {
"promoted": true,
"taskRuntimeReady": true,
"motionRuntimeReady": true,
"halRuntimeReady": true,
"nativeTaskReady": true,
"nativeHalSyncReady": true,
"fullLinuxCncProgramExecutionReady": true,
"promotionAllowed": true
},
"nativeHostAndHardware": {
"nativeProbe": "ok",
"nativeProbeStatus": "ready_disabled_by_default",
"nativePromotionAllowed": false,
"hardwareDrive": false,
"hostRealtimeKernel": false,
"externalUserMProcessReady": false,
"toolDbProcessReady": false
},
"sourceManifest": {
"ready": true,
"taskSourceCount": 7,
"halSourceCount": 4,
"motionSourceCount": 6,
"nmlSourceCount": 1,
"libnmlSourceCount": 2,
"referenceSourceReady": true,
"vendorSourceReady": false,
"vendorHashMatchReady": true
},
"gates": {
"task_hal_web_simulation_boundary_consistent": 1,
"native_task_hal_host_probe_status": "ready_disabled_by_default",
"hardware_drive": 0,
"host_realtime_kernel": 0,
"external_user_m_process_ready": 0,
"tool_db_process_ready": 0,
"promotion_scope": "web_simulation_only"
},
"artifacts": {
"readinessJson": "web-rtcp-5axis-sim-plan/build/readiness/native-task-hal-readiness.json",
"sourceManifestLog": "wasm-port/build/task-hal/verify_task_hal_source_manifest.stdout.log",
"sourceManifestReport": "wasm-port/build/task-hal/task-hal-source-manifest.tsv",
"nativeProbeLog": "wasm-port/build/task-hal/probe_trt_task_hal_runtime.stdout.log"
},
"blockers": []
},
"sourceManifest": {
"task_hal_source_manifest_status": "ok",
"task_hal_source_manifest_ready": "1",
"task_hal_source_manifest_path": "/home/meswork/cnc_wams/wasm-port/tools/task-hal-source-manifest.txt",
"task_hal_source_manifest_report": "/home/meswork/cnc_wams/wasm-port/build/task-hal/task-hal-source-manifest.tsv",
"task_hal_source_count": "20",
"task_source_count": "7",
"hal_source_count": "4",
"motion_source_count": "6",
"nml_source_count": "1",
"libnml_source_count": "2",
"task_hal_reference_source_ready": "1",
"task_hal_vendor_source_ready": "0",
"task_hal_vendor_hash_match_ready": "1",
"task_hal_missing_reference_source_count": "0",
"task_hal_missing_reference_sources_ready": "1",
"task_hal_missing_reference_source_list": "-",
"task_hal_missing_vendor_source_list": "src/emc/task/task.hh,src/emc/task/taskclass.hh,src/emc/task/taskclass.cc,src/emc/task/emctask.cc,src/emc/task/emctaskmain.cc,src/emc/task/taskintf.cc,src/emc/task/emccanon.cc,src/emc/motion/usrmotintf.h,src/emc/motion/motion.c,src/emc/motion/command.c,src/emc/motion/control.c,src/hal/hal_lib.c,src/hal/hal_priv.h,src/hal/components/threads.c,src/hal/utils/halcmd_commands.cc",
"task_hal_mismatched_vendor_source_list": "-",
"task_hal_runtime_promoted": "0",
"nativeTaskReady": "false",
"nativeHalSyncReady": "false"
},
"defaultProbe": {
"trt_task_hal_runtime_halcmd_path": "/home/meswork/cnc_wams/wasm-port/../linuxcnc/bin/halcmd",
"trt_task_hal_runtime_linuxcnc_path": "/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc",
"trt_task_hal_runtime_requirements": "halcmd:1,linuxcnc:1",
"trt_task_hal_missing_requirements": "-",
"trt_task_hal_source_proof_ready": "1",
"trt_task_hal_runtime_ready": "1",
"trt_task_hal_execution_enabled": "0",
"trt_task_hal_promotion_allowed": "0",
"nativeTaskReady": "false",
"nativeHalSyncReady": "false",
"native_task_hal_probe": "ok",
"native_probe_status": "ready_disabled_by_default",
"trt_task_hal_runtime_probe_status": "ready_disabled_by_default",
"trt_task_hal_runtime_probe_note": "set_ENABLE_TRT_TASK_HAL_RUNTIME_PROBE_1_to_run_exclusive_host_runtime_probe"
},
"optInProbeFields": {
"trt_task_hal_runtime_halcmd_path": "/home/meswork/cnc_wams/wasm-port/../linuxcnc/bin/halcmd",
"trt_task_hal_runtime_linuxcnc_path": "/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc",
"trt_task_hal_runtime_requirements": "halcmd:1,linuxcnc:1",
"trt_task_hal_missing_requirements": "-",
"trt_task_hal_source_proof_ready": "1",
"trt_task_hal_runtime_ready": "1",
"trt_task_hal_execution_enabled": "0",
"trt_task_hal_promotion_allowed": "0",
"nativeTaskReady": "false",
"nativeHalSyncReady": "false",
"trt_task_hal_runtime_probe_ini": "/home/meswork/cnc_wams/wasm-port/../linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt.ini",
"trt_task_hal_runtime_probe_program": "/home/meswork/cnc_wams/wasm-port/../linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins.ngc",
"trt_task_hal_runtime_probe_linuxcnc_stdout": "/home/meswork/cnc_wams/wasm-port/build/native/trt-task-hal-runtime/linuxcnc.stdout.log",
"trt_task_hal_runtime_probe_linuxcnc_stderr": "/home/meswork/cnc_wams/wasm-port/build/native/trt-task-hal-runtime/linuxcnc.stderr.log",
"native_task_hal_probe": "failed",
"native_probe_status": "failed",
"trt_task_hal_runtime_probe_status": "runtime_state_probe_failed",
"trt_task_hal_runtime_probe_note": "linuxcnc_started_but_required_trt_hal_pins_did_not_appear"
},
"hostBlockers": [
{
"component": "halcmd",
"blocker": "dynamic_linker_requirement",
"detail": "linuxcnc/bin/halcmd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/halcmd)"
},
{
"component": "halcmd",
"blocker": "dynamic_linker_requirement",
"detail": "liblinuxcncini.so.1 => not found"
},
{
"component": "halcmd",
"blocker": "dynamic_linker_requirement",
"detail": "liblinuxcnchal.so.0 => not found"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.31' not found (required by linuxcnc/bin/rs274)"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/rs274)"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "librs274.so.0 => not found"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "libnml.so.0 => not found"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "liblinuxcnchal.so.0 => not found"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "liblinuxcncini.so.1 => not found"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "libtooldata.so.0 => not found"
},
{
"component": "rs274",
"blocker": "dynamic_linker_requirement",
"detail": "libpython3.13.so.1.0 => not found"
},
{
"component": "linuxcncsvr",
"blocker": "dynamic_linker_requirement",
"detail": "liblinuxcnchal.so.0 => not found"
},
{
"component": "linuxcncsvr",
"blocker": "dynamic_linker_requirement",
"detail": "libnml.so.0 => not found"
},
{
"component": "linuxcncsvr",
"blocker": "dynamic_linker_requirement",
"detail": "liblinuxcncini.so.1 => not found"
},
{
"component": "linuxcnc scripts/linuxcnc",
"blocker": "hardcoded_rip_environment_path_missing",
"detail": "/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc: line 23: /home/cnc/桌面/cnc_wams/linuxcnc/scripts/rip-environment: No such file or directory"
}
],
"ldd": {
"halcmd": {
"command": "ldd linuxcnc/bin/halcmd",
"status": 0,
"signal": null,
"stdout": "linuxcnc/bin/halcmd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/halcmd)\n\tlinux-vdso.so.1 (0x00007ffe1df2d000)\n\tliblinuxcncini.so.1 => not found\n\tliblinuxcnchal.so.0 => not found\n\tlibedit.so.2 => /lib/x86_64-linux-gnu/libedit.so.2 (0x000077e6290a4000)\n\tlibstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000077e628e00000)\n\tlibgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000077e629084000)\n\tlibc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000077e628a00000)\n\tlibtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x000077e629050000)\n\tlibbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x000077e629038000)\n\tlibm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000077e628d19000)\n\t/lib64/ld-linux-x86-64.so.2 (0x000077e62910b000)\n\tlibmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x000077e628d0c000)\n",
"stderr": ""
},
"rs274": {
"command": "ldd linuxcnc/bin/rs274",
"status": 0,
"signal": null,
"stdout": "linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.31' not found (required by linuxcnc/bin/rs274)\nlinuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/rs274)\n\tlinux-vdso.so.1 (0x00007ffd1ad98000)\n\tlibrs274.so.0 => not found\n\tlibnml.so.0 => not found\n\tliblinuxcnchal.so.0 => not found\n\tliblinuxcncini.so.1 => not found\n\tlibtooldata.so.0 => not found\n\tlibpython3.13.so.1.0 => not found\n\tlibedit.so.2 => /lib/x86_64-linux-gnu/libedit.so.2 (0x0000711e18f2f000)\n\tlibstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x0000711e18c00000)\n\tlibgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x0000711e18f0f000)\n\tlibc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000711e18800000)\n\tlibtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x0000711e18edd000)\n\tlibbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x0000711e18ec3000)\n\tlibm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x0000711e18b19000)\n\t/lib64/ld-linux-x86-64.so.2 (0x0000711e18fb9000)\n\tlibmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x0000711e18eb6000)\n",
"stderr": ""
},
"linuxcncsvr": {
"command": "ldd linuxcnc/bin/linuxcncsvr",
"status": 0,
"signal": null,
"stdout": "\tlinux-vdso.so.1 (0x00007ffe9c9d9000)\n\tliblinuxcnchal.so.0 => not found\n\tlibnml.so.0 => not found\n\tliblinuxcncini.so.1 => not found\n\tlibstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x000078425a200000)\n\tlibgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x000078425a52d000)\n\tlibc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x0000784259e00000)\n\tlibm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x000078425a444000)\n\t/lib64/ld-linux-x86-64.so.2 (0x000078425a56d000)\n",
"stderr": ""
}
},
"checks": [
{
"name": "phase0 native source/probe gate passes",
"pass": true,
"detail": "task_hal_phase0_native_probe_gate=ok"
},
{
"name": "native readiness audit passes",
"pass": true,
"detail": "native_task_hal_source_artifact_audit=ok | native_task_hal_readiness_artifact=web-rtcp-5axis-sim-plan/build/readiness/native-task-hal-readiness.json | task_hal_web_simulation_boundary_consistent=1 | native_task_hal_host_probe_status=ready_disabled_by_default | hardware_drive=0 | host_realtime_kernel=0 | external_user_m_process_ready=0 | tool_db_process_ready=0 | promotion_scope=web_simulation_only"
},
{
"name": "source manifest ready",
"pass": true,
"detail": "{\"task_hal_source_manifest_status\":\"ok\",\"task_hal_source_manifest_ready\":\"1\",\"task_hal_source_manifest_path\":\"/home/meswork/cnc_wams/wasm-port/tools/task-hal-source-manifest.txt\",\"task_hal_source_manifest_report\":\"/home/meswork/cnc_wams/wasm-port/build/task-hal/task-hal-source-manifest.tsv\",\"task_hal_source_count\":\"20\",\"task_source_count\":\"7\",\"hal_source_count\":\"4\",\"motion_source_count\":\"6\",\"nml_source_count\":\"1\",\"libnml_source_count\":\"2\",\"task_hal_reference_source_ready\":\"1\",\"task_hal_vendor_source_ready\":\"0\",\"task_hal_vendor_hash_match_ready\":\"1\",\"task_hal_missing_reference_source_count\":\"0\",\"task_hal_missing_reference_sources_ready\":\"1\",\"task_hal_missing_reference_source_list\":\"-\",\"task_hal_missing_vendor_source_list\":\"src/emc/task/task.hh,src/emc/task/taskclass.hh,src/emc/task/taskclass.cc,src/emc/task/emctask.cc,src/emc/task/emctaskmain.cc,src/emc/task/taskintf.cc,src/emc/task/emccanon.cc,src/emc/motion/usrmotintf.h,src/emc/motion/motion.c,src/emc/motion/command.c,src/emc/motion/control.c,src/hal/hal_lib.c,src/hal/hal_priv.h,src/hal/components/threads.c,src/hal/utils/halcmd_commands.cc\",\"task_hal_mismatched_vendor_source_list\":\"-\",\"task_hal_runtime_promoted\":\"0\",\"nativeTaskReady\":\"false\",\"nativeHalSyncReady\":\"false\"}"
},
{
"name": "TRT source proof ready",
"pass": true,
"detail": "{\"trt_task_hal_runtime_halcmd_path\":\"/home/meswork/cnc_wams/wasm-port/../linuxcnc/bin/halcmd\",\"trt_task_hal_runtime_linuxcnc_path\":\"/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc\",\"trt_task_hal_runtime_requirements\":\"halcmd:1,linuxcnc:1\",\"trt_task_hal_missing_requirements\":\"-\",\"trt_task_hal_source_proof_ready\":\"1\",\"trt_task_hal_runtime_ready\":\"1\",\"trt_task_hal_execution_enabled\":\"0\",\"trt_task_hal_promotion_allowed\":\"0\",\"nativeTaskReady\":\"false\",\"nativeHalSyncReady\":\"false\",\"native_task_hal_probe\":\"ok\",\"native_probe_status\":\"ready_disabled_by_default\",\"trt_task_hal_runtime_probe_status\":\"ready_disabled_by_default\",\"trt_task_hal_runtime_probe_note\":\"set_ENABLE_TRT_TASK_HAL_RUNTIME_PROBE_1_to_run_exclusive_host_runtime_probe\"}"
},
{
"name": "host-native runtime blocker captured",
"pass": true,
"detail": "[{\"component\":\"halcmd\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"linuxcnc/bin/halcmd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/halcmd)\"},{\"component\":\"halcmd\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"liblinuxcncini.so.1 => not found\"},{\"component\":\"halcmd\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"liblinuxcnchal.so.0 => not found\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.31' not found (required by linuxcnc/bin/rs274)\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/rs274)\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"librs274.so.0 => not found\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"libnml.so.0 => not found\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"liblinuxcnchal.so.0 => not found\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"liblinuxcncini.so.1 => not found\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"libtooldata.so.0 => not found\"},{\"component\":\"rs274\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"libpython3.13.so.1.0 => not found\"},{\"component\":\"linuxcncsvr\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"liblinuxcnchal.so.0 => not found\"},{\"component\":\"linuxcncsvr\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"libnml.so.0 => not found\"},{\"component\":\"linuxcncsvr\",\"blocker\":\"dynamic_linker_requirement\",\"detail\":\"liblinuxcncini.so.1 => not found\"},{\"component\":\"linuxcnc scripts/linuxcnc\",\"blocker\":\"hardcoded_rip_environment_path_missing\",\"detail\":\"/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc: line 23: /home/cnc/桌面/cnc_wams/linuxcnc/scripts/rip-environment: No such file or directory\"}]"
},
{
"name": "web simulation promotion remains bounded",
"pass": true,
"detail": "{\"task_hal_web_simulation_boundary_consistent\":1,\"native_task_hal_host_probe_status\":\"ready_disabled_by_default\",\"hardware_drive\":0,\"host_realtime_kernel\":0,\"external_user_m_process_ready\":0,\"tool_db_process_ready\":0,\"promotion_scope\":\"web_simulation_only\"}"
}
],
"conclusion": {
"nativeTaskHalSourceComparisonReady": true,
"nativeTransitionLogAvailable": false,
"nativeTransitionLogBlockedByHostRuntime": true,
"reason": "Current host cannot start the LinuxCNC native TRT task/HAL runtime: generated LinuxCNC RIP scripts reference an old absolute path and binaries require unavailable host runtime libraries such as GLIBC_2.38/libpython3.13.",
"boundary": "This completes BTN-013 as an auditable native comparison and blocker record; it does not claim hardware drive, realtime kernel, external user-M process, or tool DB native runtime readiness."
}
}

View File

@@ -0,0 +1,38 @@
# Native task/HAL comparison report
- status: PASS_WITH_HOST_NATIVE_RUNTIME_BLOCKER
- generatedAt: 2026-06-23T09:22:56.110Z
- JSON: /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/native-task-hal-comparison-report.json
## Checks
- PASS: phase0 native source/probe gate passes — task_hal_phase0_native_probe_gate=ok
- PASS: native readiness audit passes — native_task_hal_source_artifact_audit=ok | native_task_hal_readiness_artifact=web-rtcp-5axis-sim-plan/build/readiness/native-task-hal-readiness.json | task_hal_web_simulation_boundary_consistent=1 | native_task_hal_host_probe_status=ready_disabled_by_default | hardware_drive=0 | host_realtime_kernel=0 | external_user_m_process_ready=0 | tool_db_process_ready=0 | promotion_scope=web_simulation_only
- PASS: source manifest ready — {"task_hal_source_manifest_status":"ok","task_hal_source_manifest_ready":"1","task_hal_source_manifest_path":"/home/meswork/cnc_wams/wasm-port/tools/task-hal-source-manifest.txt","task_hal_source_manifest_report":"/home/meswork/cnc_wams/wasm-port/build/task-hal/task-hal-source-manifest.tsv","task_hal_source_count":"20","task_source_count":"7","hal_source_count":"4","motion_source_count":"6","nml_source_count":"1","libnml_source_count":"2","task_hal_reference_source_ready":"1","task_hal_vendor_source_ready":"0","task_hal_vendor_hash_match_ready":"1","task_hal_missing_reference_source_count":"0","task_hal_missing_reference_sources_ready":"1","task_hal_missing_reference_source_list":"-","task_hal_missing_vendor_source_list":"src/emc/task/task.hh,src/emc/task/taskclass.hh,src/emc/task/taskclass.cc,src/emc/task/emctask.cc,src/emc/task/emctaskmain.cc,src/emc/task/taskintf.cc,src/emc/task/emccanon.cc,src/emc/motion/usrmotintf.h,src/emc/motion/motion.c,src/emc/motion/command.c,src/emc/motion/control.c,src/hal/hal_lib.c,src/hal/hal_priv.h,src/hal/components/threads.c,src/hal/utils/halcmd_commands.cc","task_hal_mismatched_vendor_source_list":"-","task_hal_runtime_promoted":"0","nativeTaskReady":"false","nativeHalSyncReady":"false"}
- PASS: TRT source proof ready — {"trt_task_hal_runtime_halcmd_path":"/home/meswork/cnc_wams/wasm-port/../linuxcnc/bin/halcmd","trt_task_hal_runtime_linuxcnc_path":"/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc","trt_task_hal_runtime_requirements":"halcmd:1,linuxcnc:1","trt_task_hal_missing_requirements":"-","trt_task_hal_source_proof_ready":"1","trt_task_hal_runtime_ready":"1","trt_task_hal_execution_enabled":"0","trt_task_hal_promotion_allowed":"0","nativeTaskReady":"false","nativeHalSyncReady":"false","native_task_hal_probe":"ok","native_probe_status":"ready_disabled_by_default","trt_task_hal_runtime_probe_status":"ready_disabled_by_default","trt_task_hal_runtime_probe_note":"set_ENABLE_TRT_TASK_HAL_RUNTIME_PROBE_1_to_run_exclusive_host_runtime_probe"}
- PASS: host-native runtime blocker captured — [{"component":"halcmd","blocker":"dynamic_linker_requirement","detail":"linuxcnc/bin/halcmd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/halcmd)"},{"component":"halcmd","blocker":"dynamic_linker_requirement","detail":"liblinuxcncini.so.1 => not found"},{"component":"halcmd","blocker":"dynamic_linker_requirement","detail":"liblinuxcnchal.so.0 => not found"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.31' not found (required by linuxcnc/bin/rs274)"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/rs274)"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"librs274.so.0 => not found"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"libnml.so.0 => not found"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"liblinuxcnchal.so.0 => not found"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"liblinuxcncini.so.1 => not found"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"libtooldata.so.0 => not found"},{"component":"rs274","blocker":"dynamic_linker_requirement","detail":"libpython3.13.so.1.0 => not found"},{"component":"linuxcncsvr","blocker":"dynamic_linker_requirement","detail":"liblinuxcnchal.so.0 => not found"},{"component":"linuxcncsvr","blocker":"dynamic_linker_requirement","detail":"libnml.so.0 => not found"},{"component":"linuxcncsvr","blocker":"dynamic_linker_requirement","detail":"liblinuxcncini.so.1 => not found"},{"component":"linuxcnc scripts/linuxcnc","blocker":"hardcoded_rip_environment_path_missing","detail":"/home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc: line 23: /home/cnc/桌面/cnc_wams/linuxcnc/scripts/rip-environment: No such file or directory"}]
- PASS: web simulation promotion remains bounded — {"task_hal_web_simulation_boundary_consistent":1,"native_task_hal_host_probe_status":"ready_disabled_by_default","hardware_drive":0,"host_realtime_kernel":0,"external_user_m_process_ready":0,"tool_db_process_ready":0,"promotion_scope":"web_simulation_only"}
## Host Native Runtime Blockers
- halcmd: dynamic_linker_requirement: linuxcnc/bin/halcmd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/halcmd)
- halcmd: dynamic_linker_requirement: liblinuxcncini.so.1 => not found
- halcmd: dynamic_linker_requirement: liblinuxcnchal.so.0 => not found
- rs274: dynamic_linker_requirement: linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.31' not found (required by linuxcnc/bin/rs274)
- rs274: dynamic_linker_requirement: linuxcnc/bin/rs274: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by linuxcnc/bin/rs274)
- rs274: dynamic_linker_requirement: librs274.so.0 => not found
- rs274: dynamic_linker_requirement: libnml.so.0 => not found
- rs274: dynamic_linker_requirement: liblinuxcnchal.so.0 => not found
- rs274: dynamic_linker_requirement: liblinuxcncini.so.1 => not found
- rs274: dynamic_linker_requirement: libtooldata.so.0 => not found
- rs274: dynamic_linker_requirement: libpython3.13.so.1.0 => not found
- linuxcncsvr: dynamic_linker_requirement: liblinuxcnchal.so.0 => not found
- linuxcncsvr: dynamic_linker_requirement: libnml.so.0 => not found
- linuxcncsvr: dynamic_linker_requirement: liblinuxcncini.so.1 => not found
- linuxcnc scripts/linuxcnc: hardcoded_rip_environment_path_missing: /home/meswork/cnc_wams/wasm-port/../linuxcnc/scripts/linuxcnc: line 23: /home/cnc/桌面/cnc_wams/linuxcnc/scripts/rip-environment: No such file or directory
## Conclusion
Current host cannot start the LinuxCNC native TRT task/HAL runtime: generated LinuxCNC RIP scripts reference an old absolute path and binaries require unavailable host runtime libraries such as GLIBC_2.38/libpython3.13.
This completes BTN-013 as an auditable native comparison and blocker record; it does not claim hardware drive, realtime kernel, external user-M process, or tool DB native runtime readiness.