1877 lines
65 KiB
JSON
1877 lines
65 KiB
JSON
{
|
|
"jobId": "w7-20260628002915-30d1c6c8",
|
|
"reportId": "report-w7-20260628002915-30d1c6c8",
|
|
"evidenceScope": "working7-manual-flow-evidence",
|
|
"generatedAt": "2026-06-28T00:29:15.240Z",
|
|
"targetUrl": "http://127.0.0.1:41931/web-rtcp-5axis-sim-plan/app/index.html",
|
|
"chromePath": "/usr/bin/google-chrome",
|
|
"screenshotsDir": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence",
|
|
"steps": [
|
|
{
|
|
"name": "01-loaded",
|
|
"title": "Main shell loaded",
|
|
"description": "The gmoccapy shell, canvas, diagnostics, and public store API are ready.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/01-loaded.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 130.29,
|
|
"nonBlackRatio": 0.7823
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
|
|
"runState": "idle",
|
|
"activeLine": 1,
|
|
"machine": {
|
|
"powerOn": false,
|
|
"taskState": "estop-reset",
|
|
"mode": "manual",
|
|
"allHomed": false,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G0 X0 Y0 Z0"
|
|
},
|
|
"axisPose": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 4500000,
|
|
"currentVelocity": 0
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": false,
|
|
"mist": false
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": false,
|
|
"optionalBlocks": false,
|
|
"optionalStop": false,
|
|
"lastHalPinEffect": null
|
|
},
|
|
"mdiHistory": [],
|
|
"sessionPersistence": {
|
|
"status": "not-saved",
|
|
"storageMode": null,
|
|
"path": null,
|
|
"savedAt": null,
|
|
"restoredAt": null
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "LinuxCNC task/HAL session ready /work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/boat-xyzac.ngc"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "2",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "on",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "linuxcnc-interpreter-wasm",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "linuxcnc_interpreter_canonical_motion",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0,\"y\":0,\"z\":0.002},\"size\":{\"x\":0,\"y\":0,\"z\":0.005},\"maxSpan\":0.005}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "2",
|
|
"threeFeedPathPoints": "0",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "2",
|
|
"threeCurrentSegmentType": "STRAIGHT_TRAVERSE"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "true",
|
|
"commandReady": "false",
|
|
"title": "mode blocked: machine must be on before MANUAL"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "mode blocked: machine must be on before AUTO"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "mode blocked: machine must be on before MDI"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "home blocked: machine must be on"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "jog blocked: machine must be on"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: machine must be on"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "none",
|
|
"session": "not-saved / - / storage pending / - / -",
|
|
"taskGates": "jog blocked / home blocked / auto blocked / mdi blocked / pause blocked / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "LinuxCNC task/HAL session ready /work/sim/axis/vismach/5axis/table-rotary-tilting/xyzac-trt/demos/boat-xyzac.ngc"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "02-powered-homed-manual",
|
|
"title": "POWER and HOME",
|
|
"description": "Machine is powered, homed, and in MANUAL mode.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/02-powered-homed-manual.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 130.32,
|
|
"nonBlackRatio": 0.7823
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
|
|
"runState": "idle",
|
|
"activeLine": 1,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "manual",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G0 X0 Y0 Z0"
|
|
},
|
|
"axisPose": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 4500000,
|
|
"currentVelocity": 3600
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": false,
|
|
"mist": false
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": false,
|
|
"optionalBlocks": false,
|
|
"optionalStop": false,
|
|
"lastHalPinEffect": null
|
|
},
|
|
"mdiHistory": [],
|
|
"sessionPersistence": {
|
|
"status": "not-saved",
|
|
"storageMode": null,
|
|
"path": null,
|
|
"savedAt": null,
|
|
"restoredAt": null
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "task/HAL machine homed"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "2",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "on",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "linuxcnc-interpreter-wasm",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "linuxcnc_interpreter_canonical_motion",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0,\"y\":0,\"z\":0.002},\"size\":{\"x\":0,\"y\":0,\"z\":0.005},\"maxSpan\":0.005}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "2",
|
|
"threeFeedPathPoints": "0",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "2",
|
|
"threeCurrentSegmentType": "STRAIGHT_TRAVERSE"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Home"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "X+"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: switch to MDI mode first"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "none",
|
|
"session": "not-saved / - / storage pending / - / -",
|
|
"taskGates": "jog / home / auto blocked / mdi blocked / pause blocked / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "task/HAL machine homed"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "03-auto-active",
|
|
"title": "AUTO mode active",
|
|
"description": "AUTO mode becomes active while power and home state are preserved.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/03-auto-active.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 130.34,
|
|
"nonBlackRatio": 0.7823
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
|
|
"runState": "idle",
|
|
"activeLine": 1,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "auto",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G0 X0 Y0 Z0"
|
|
},
|
|
"axisPose": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 4500000,
|
|
"currentVelocity": 3600
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": false,
|
|
"mist": false
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": false,
|
|
"optionalBlocks": false,
|
|
"optionalStop": false,
|
|
"lastHalPinEffect": null
|
|
},
|
|
"mdiHistory": [],
|
|
"sessionPersistence": {
|
|
"status": "not-saved",
|
|
"storageMode": null,
|
|
"path": null,
|
|
"savedAt": null,
|
|
"restoredAt": null
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "task/HAL mode auto"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "2",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "on",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "linuxcnc-interpreter-wasm",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "linuxcnc_interpreter_canonical_motion",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0,\"y\":0,\"z\":0.002},\"size\":{\"x\":0,\"y\":0,\"z\":0.005},\"maxSpan\":0.005}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "2",
|
|
"threeFeedPathPoints": "0",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "2",
|
|
"threeCurrentSegmentType": "STRAIGHT_TRAVERSE"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "false",
|
|
"title": "home blocked: switch to manual mode first"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "jog blocked: switch to manual mode first"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: switch to MDI mode first"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "none",
|
|
"session": "not-saved / - / storage pending / - / -",
|
|
"taskGates": "jog blocked / home blocked / auto / mdi blocked / pause / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "task/HAL mode auto"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "04-manual-jog-x",
|
|
"title": "Manual X+ jog",
|
|
"description": "X+ jog changes the X axis position in MANUAL mode.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/04-manual-jog-x.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 130.33,
|
|
"nonBlackRatio": 0.7823
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc",
|
|
"runState": "jogging",
|
|
"activeLine": 1,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "manual",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G0 X0 Y0 Z0"
|
|
},
|
|
"axisPose": {
|
|
"x": 1,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 1,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 4500000,
|
|
"currentVelocity": 3600
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": false,
|
|
"mist": false
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": false,
|
|
"optionalBlocks": false,
|
|
"optionalStop": false,
|
|
"lastHalPinEffect": null
|
|
},
|
|
"mdiHistory": [],
|
|
"sessionPersistence": {
|
|
"status": "not-saved",
|
|
"storageMode": null,
|
|
"path": null,
|
|
"savedAt": null,
|
|
"restoredAt": null
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "task/HAL jog X +1"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "2",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0.001,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":1,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "on",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "linuxcnc-interpreter-wasm",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "linuxcnc_interpreter_canonical_motion",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0,\"y\":0,\"z\":0.002},\"size\":{\"x\":0,\"y\":0,\"z\":0.005},\"maxSpan\":0.005}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "2",
|
|
"threeFeedPathPoints": "0",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "2",
|
|
"threeCurrentSegmentType": "STRAIGHT_TRAVERSE"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Home"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "X+"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: switch to MDI mode first"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "none",
|
|
"session": "not-saved / - / storage pending / - / -",
|
|
"taskGates": "jog / home / auto blocked / mdi blocked / pause blocked / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "task/HAL jog X +1"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "05-mdi-command",
|
|
"title": "MDI command",
|
|
"description": "MDI accepts a coordinate command and records the staged/executed command state.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/05-mdi-command.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 132.23,
|
|
"nonBlackRatio": 0.7842
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "MDI",
|
|
"runState": "mdi",
|
|
"activeLine": 2,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "mdi",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G90 X12.5 Y-4 Z1.25 F900"
|
|
},
|
|
"axisPose": {
|
|
"x": 12.5,
|
|
"y": -4,
|
|
"z": 1.25,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 12.5,
|
|
"y": -4,
|
|
"z": 1.25,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 900,
|
|
"currentVelocity": 100.0002
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": false,
|
|
"mist": false
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": false,
|
|
"optionalBlocks": false,
|
|
"optionalStop": false,
|
|
"lastHalPinEffect": null
|
|
},
|
|
"mdiHistory": [
|
|
"G90 X12.5 Y-4 Z1.25 F900"
|
|
],
|
|
"sessionPersistence": {
|
|
"status": "not-saved",
|
|
"storageMode": null,
|
|
"path": null,
|
|
"savedAt": null,
|
|
"restoredAt": null
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "task/HAL MDI G90 X12.5 Y-4 Z1.25 F900"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "1",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0.013,\"y\":-0.004,\"z\":0.001}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":12.5,\"y\":-4,\"z\":1.25,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "off",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "operator-mdi",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "fixture_line_playback_not_promoted",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0.013,\"y\":-0.004,\"z\":0.001},\"size\":{\"x\":0,\"y\":0,\"z\":0},\"maxSpan\":0}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "0",
|
|
"threeFeedPathPoints": "1",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "1",
|
|
"threeCurrentSegmentType": "STRAIGHT_FEED"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "false",
|
|
"title": "home blocked: switch to manual mode first"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "jog blocked: switch to manual mode first"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "MDI"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "none",
|
|
"session": "not-saved / - / storage pending / - / -",
|
|
"taskGates": "jog blocked / home blocked / auto blocked / mdi / pause / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "task/HAL MDI G90 X12.5 Y-4 Z1.25 F900"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "06-overrides-hal",
|
|
"title": "Overrides and HAL inputs",
|
|
"description": "Rapid/feed overrides reset to 100 and HAL input toggles are active.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/06-overrides-hal.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 131.95,
|
|
"nonBlackRatio": 0.7841
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "MDI",
|
|
"runState": "idle",
|
|
"activeLine": 2,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "manual",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G90 X12.5 Y-4 Z1.25 F900"
|
|
},
|
|
"axisPose": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 900,
|
|
"currentVelocity": 100.0002
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": false,
|
|
"mist": false
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": true,
|
|
"optionalBlocks": true,
|
|
"optionalStop": true,
|
|
"lastHalPinEffect": "optional stop set from Web control"
|
|
},
|
|
"mdiHistory": [
|
|
"G90 X12.5 Y-4 Z1.25 F900"
|
|
],
|
|
"sessionPersistence": {
|
|
"status": "not-saved",
|
|
"storageMode": null,
|
|
"path": null,
|
|
"savedAt": null,
|
|
"restoredAt": null
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "optional stop on"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "1",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "off",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "operator-mdi",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "fixture_line_playback_not_promoted",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0.013,\"y\":-0.004,\"z\":0.001},\"size\":{\"x\":0,\"y\":0,\"z\":0},\"maxSpan\":0}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "0",
|
|
"threeFeedPathPoints": "1",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "1",
|
|
"threeCurrentSegmentType": "STRAIGHT_FEED"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Home"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "X+"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: switch to MDI mode first"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "web-control optional stop set from Web control",
|
|
"session": "not-saved / - / storage pending / - / -",
|
|
"taskGates": "jog / home / auto blocked / mdi blocked / pause blocked / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "optional stop on"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "07-spindle-coolant",
|
|
"title": "Spindle and coolant",
|
|
"description": "Spindle, spindle override, flood, and mist controls obey the powered machine gate.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/07-spindle-coolant.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 131.69,
|
|
"nonBlackRatio": 0.7841
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "MDI",
|
|
"runState": "idle",
|
|
"activeLine": 2,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "manual",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G90 X12.5 Y-4 Z1.25 F900"
|
|
},
|
|
"axisPose": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 900,
|
|
"currentVelocity": 100.0002
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": true,
|
|
"mist": true
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": true,
|
|
"optionalBlocks": true,
|
|
"optionalStop": true,
|
|
"lastHalPinEffect": "spindle override reset to 100"
|
|
},
|
|
"mdiHistory": [
|
|
"G90 X12.5 Y-4 Z1.25 F900"
|
|
],
|
|
"sessionPersistence": {
|
|
"status": "not-saved",
|
|
"storageMode": null,
|
|
"path": null,
|
|
"savedAt": null,
|
|
"restoredAt": null
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "spindle stopped"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "1",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "off",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "operator-mdi",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "fixture_line_playback_not_promoted",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0.013,\"y\":-0.004,\"z\":0.001},\"size\":{\"x\":0,\"y\":0,\"z\":0},\"maxSpan\":0}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "0",
|
|
"threeFeedPathPoints": "1",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "1",
|
|
"threeCurrentSegmentType": "STRAIGHT_FEED"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Home"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "X+"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: switch to MDI mode first"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "web-control spindle override reset to 100",
|
|
"session": "not-saved / - / storage pending / - / -",
|
|
"taskGates": "jog / home / auto blocked / mdi blocked / pause blocked / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "spindle stopped"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "08-session-restored",
|
|
"title": "Save and restore session",
|
|
"description": "Saved profile and control state are restored after switching to another profile.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/08-session-restored.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 131.69,
|
|
"nonBlackRatio": 0.7841
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "MDI",
|
|
"runState": "idle",
|
|
"activeLine": 2,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "manual",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G90 X12.5 Y-4 Z1.25 F900"
|
|
},
|
|
"axisPose": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 900,
|
|
"currentVelocity": 100.0002
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": true,
|
|
"mist": true
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": true,
|
|
"optionalBlocks": true,
|
|
"optionalStop": true,
|
|
"lastHalPinEffect": "spindle override reset to 100"
|
|
},
|
|
"mdiHistory": [
|
|
"G90 X12.5 Y-4 Z1.25 F900"
|
|
],
|
|
"sessionPersistence": {
|
|
"status": "restored",
|
|
"storageMode": "opfs",
|
|
"path": "web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json",
|
|
"savedAt": "2026-06-28T00:29:22.494Z",
|
|
"restoredAt": "2026-06-28T00:29:22.717Z"
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staging",
|
|
"fileCount": 18,
|
|
"selectedGcodeSourceRel": "configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/boat-xyzac.ngc"
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "LinuxCNC kinematics xyzac-trt profile frame refreshed"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "1",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "off",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "operator-mdi",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "fixture_line_playback_not_promoted",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0.013,\"y\":-0.004,\"z\":0.001},\"size\":{\"x\":0,\"y\":0,\"z\":0},\"maxSpan\":0}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "0",
|
|
"threeFeedPathPoints": "1",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "1",
|
|
"threeCurrentSegmentType": "STRAIGHT_FEED"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Home"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "X+"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: switch to MDI mode first"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "web-control spindle override reset to 100",
|
|
"session": "restored / opfs / opfs available / opfs_available / web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json",
|
|
"taskGates": "jog / home / auto blocked / mdi blocked / pause blocked / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "LinuxCNC kinematics xyzac-trt profile frame refreshed"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "09-diagnostics",
|
|
"title": "Diagnostics",
|
|
"description": "Task policy, INI, Task/HAL, full boundary, gmoccapy communication, and HAL diagnostics are visible.",
|
|
"screenshotPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence/09-diagnostics.png",
|
|
"pixelStats": {
|
|
"width": 1500,
|
|
"height": 1050,
|
|
"averageLuminance": 131.69,
|
|
"nonBlackRatio": 0.7841
|
|
},
|
|
"state": {
|
|
"machineProfile": "xyzac-trt",
|
|
"activeProgram": "MDI",
|
|
"runState": "idle",
|
|
"activeLine": 2,
|
|
"machine": {
|
|
"powerOn": true,
|
|
"taskState": "on",
|
|
"mode": "manual",
|
|
"allHomed": true,
|
|
"interpState": "idle",
|
|
"taskPaused": false,
|
|
"mdiCommand": "G90 X12.5 Y-4 Z1.25 F900"
|
|
},
|
|
"axisPose": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"dro": {
|
|
"x": 0,
|
|
"y": 0,
|
|
"z": 0,
|
|
"a": 0,
|
|
"b": 0,
|
|
"c": 0
|
|
},
|
|
"feed": {
|
|
"rapidOverride": 100,
|
|
"feedOverride": 100,
|
|
"feedRate": 900,
|
|
"currentVelocity": 100.0002
|
|
},
|
|
"spindle": {
|
|
"enabled": false,
|
|
"direction": "stop",
|
|
"override": 100,
|
|
"rpm": 1600
|
|
},
|
|
"coolant": {
|
|
"flood": true,
|
|
"mist": true
|
|
},
|
|
"gmoccapyGui": {
|
|
"ignoreLimits": true,
|
|
"optionalBlocks": true,
|
|
"optionalStop": true,
|
|
"lastHalPinEffect": "spindle override reset to 100"
|
|
},
|
|
"mdiHistory": [
|
|
"G90 X12.5 Y-4 Z1.25 F900"
|
|
],
|
|
"sessionPersistence": {
|
|
"status": "restored",
|
|
"storageMode": "opfs",
|
|
"path": "web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json",
|
|
"savedAt": "2026-06-28T00:29:22.494Z",
|
|
"restoredAt": "2026-06-28T00:29:22.717Z"
|
|
},
|
|
"machineFileStaging": {
|
|
"status": "staged",
|
|
"fileCount": 9,
|
|
"selectedGcodeSourceRel": null
|
|
},
|
|
"taskHalRuntimeReadiness": {
|
|
"loaded": true,
|
|
"halSyncReady": true
|
|
},
|
|
"operatorMessage": "LinuxCNC machine files staged 9"
|
|
},
|
|
"dom": {
|
|
"regions": {
|
|
"titlebar": true,
|
|
"preview": true,
|
|
"dro": true,
|
|
"gcode": true,
|
|
"status-sidebar": true,
|
|
"info-tabs": true,
|
|
"override": true,
|
|
"spindle-coolant": true,
|
|
"bottom-controls": true
|
|
},
|
|
"canvas": {
|
|
"fiveAxisCanvas": "true",
|
|
"engine": "three.js r183",
|
|
"threeReady": "true",
|
|
"threeRevision": "183",
|
|
"threePathPoints": "1",
|
|
"threeExecutedPathPoints": "1",
|
|
"threeSceneObjects": "20",
|
|
"threeToolhead": "{\"x\":0,\"y\":0,\"z\":0}",
|
|
"threeSceneUnits": "m",
|
|
"threeLinearUnits": "mm",
|
|
"threeLinearUnitScaleToMeters": "0.001",
|
|
"threeToolAxis": "{\"x\":0,\"y\":0,\"z\":1}",
|
|
"threeTcpPose": "{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"c\":0}",
|
|
"threeRtcpState": "off",
|
|
"threeSelectedView": "iso",
|
|
"threeFrameApi": "web-rtcp-5axis-motion-frame",
|
|
"threeRenderer": "webgl",
|
|
"threeSceneMode": "program-preview-and-tool-execution",
|
|
"threePreviewScope": "machine-reference-and-toolpath",
|
|
"threeMachineReferenceModel": "webgl-five-axis-reference",
|
|
"threeCameraControls": "orbit-pan-zoom",
|
|
"threeProgramPreviewSource": "operator-mdi",
|
|
"threeToolExecutionMarker": "true",
|
|
"threeTcpMarker": "sphere",
|
|
"threeToolAxisMarker": "line",
|
|
"threeToolpathPreviewSource": "fixture_line_playback_not_promoted",
|
|
"threeToolExecutionTraceSource": "linuxcnc_tp_samples_or_task_motion_hal_feedback",
|
|
"threePathFitBounds": "ok",
|
|
"threePathBoundsMeters": "{\"center\":{\"x\":0.013,\"y\":-0.004,\"z\":0.001},\"size\":{\"x\":0,\"y\":0,\"z\":0},\"maxSpan\":0}",
|
|
"threeCurrentSegmentHighlight": "ok",
|
|
"threeRapidFeedVisualDistinction": "ok",
|
|
"threeNoGcodeSemanticsGeneration": "ok",
|
|
"threeRapidPathPoints": "0",
|
|
"threeFeedPathPoints": "1",
|
|
"threeArcPathPoints": "0",
|
|
"threeCurrentSegmentPoints": "1",
|
|
"threeCurrentSegmentType": "STRAIGHT_FEED"
|
|
},
|
|
"sidebar": {
|
|
"power": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": null,
|
|
"title": "Turn the machine on/off / F2"
|
|
},
|
|
"manual": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Enter manual mode"
|
|
},
|
|
"auto": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter auto mode"
|
|
},
|
|
"mdi": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "Enter MDI mode"
|
|
}
|
|
},
|
|
"bottom": {
|
|
"home": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "true",
|
|
"commandReady": "true",
|
|
"title": "Home"
|
|
},
|
|
"jogXPlus": {
|
|
"exists": true,
|
|
"disabled": false,
|
|
"active": "false",
|
|
"commandReady": "true",
|
|
"title": "X+"
|
|
},
|
|
"mdiRun": {
|
|
"exists": true,
|
|
"disabled": true,
|
|
"active": "false",
|
|
"commandReady": "false",
|
|
"title": "MDI blocked: switch to MDI mode first"
|
|
}
|
|
},
|
|
"values": {
|
|
"rapidOverride": "100 %",
|
|
"feedOverride": "100 %",
|
|
"spindleOverride": "100 %",
|
|
"halLast": "web-control spindle override reset to 100",
|
|
"session": "restored / opfs / opfs available / opfs_available / web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json",
|
|
"taskGates": "jog / home / auto blocked / mdi blocked / pause blocked / resume blocked",
|
|
"taskHal": "task / motion / hal / sync",
|
|
"gmoccapyHal": "gmoccapy_hal_pin_postgui_reference_web_diagnostic_only",
|
|
"operatorMessage": "LinuxCNC machine files staged 9"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"checks": [
|
|
{
|
|
"name": "Main shell regions and canvas are ready",
|
|
"pass": true,
|
|
"detail": "{\"regions\":{\"titlebar\":true,\"preview\":true,\"dro\":true,\"gcode\":true,\"status-sidebar\":true,\"info-tabs\":true,\"override\":true,\"spindle-coolant\":true,\"bottom-controls\":true},\"canvas\":{\"fiveAxisCanvas\":\"true\",\"engine\":\"three.js r183\",\"threeReady\":\"true\",\"threeRevision\":\"183\",\"threePathPoints\":\"2\",\"threeExecutedPathPoints\":\"1\",\"threeSceneObjects\":\"20\",\"threeToolhead\":\"{\\\"x\\\":0,\\\"y\\\":0,\\\"z\\\":0}\",\"threeSceneUnits\":\"m\",\"threeLinearUnits\":\"mm\",\"threeLinearUnitScaleToMeters\":\"0.001\",\"threeToolAxis\":\"{\\\"x\\\":0,\\\"y\\\":0,\\\"z\\\":1}\",\"threeTcpPose\":\"{\\\"x\\\":0,\\\"y\\\":0,\\\"z\\\":0,\\\"a\\\":0,\\\"c\\\":0}\",\"threeRtcpState\":\"on\",\"threeSelectedView\":\"iso\",\"threeFrameApi\":\"web-rtcp-5axis-motion-frame\",\"threeRenderer\":\"webgl\",\"threeSceneMode\":\"program-preview-and-tool-execution\",\"threePreviewScope\":\"machine-reference-and-toolpath\",\"threeMachineReferenceModel\":\"webgl-five-axis-reference\",\"threeCameraControls\":\"orbit-pan-zoom\",\"threeProgramPreviewSource\":\"linuxcnc-interpreter-wasm\",\"threeToolExecutionMarker\":\"true\",\"threeTcpMarker\":\"sphere\",\"threeToolAxisMarker\":\"line\",\"threeToolpathPreviewSource\":\"linuxcnc_interpreter_canonical_motion\",\"threeToolExecutionTraceSource\":\"linuxcnc_tp_samples_or_task_motion_hal_feedback\",\"threePathFitBounds\":\"ok\",\"threePathBoundsMeters\":\"{\\\"center\\\":{\\\"x\\\":0,\\\"y\\\":0,\\\"z\\\":0.002},\\\"size\\\":{\\\"x\\\":0,\\\"y\\\":0,\\\"z\\\":0.005},\\\"maxSpan\\\":0.005}\",\"threeCurrentSegmentHighlight\":\"ok\",\"threeRapidFeedVisualDistinction\":\"ok\",\"threeNoGcodeSemanticsGeneration\":\"ok\",\"threeRapidPathPoints\":\"2\",\"threeFeedPathPoints\":\"0\",\"threeArcPathPoints\":\"0\",\"threeCurrentSegmentPoints\":\"2\",\"threeCurrentSegmentType\":\"STRAIGHT_TRAVERSE\"}}"
|
|
},
|
|
{
|
|
"name": "POWER and HOME leave MANUAL ready",
|
|
"pass": true,
|
|
"detail": "{\"powerOn\":true,\"taskState\":\"on\",\"mode\":\"manual\",\"allHomed\":true,\"interpState\":\"idle\",\"taskPaused\":false,\"mdiCommand\":\"G0 X0 Y0 Z0\"}"
|
|
},
|
|
{
|
|
"name": "AUTO activates without losing power/home",
|
|
"pass": true,
|
|
"detail": "{\"powerOn\":true,\"taskState\":\"on\",\"mode\":\"auto\",\"allHomed\":true,\"interpState\":\"idle\",\"taskPaused\":false,\"mdiCommand\":\"G0 X0 Y0 Z0\"}"
|
|
},
|
|
{
|
|
"name": "Manual jog changes X",
|
|
"pass": true,
|
|
"detail": "{\"before\":{\"x\":0,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0},\"after\":{\"x\":1,\"y\":0,\"z\":0,\"a\":0,\"b\":0,\"c\":0}}"
|
|
},
|
|
{
|
|
"name": "MDI command is accepted in MDI mode",
|
|
"pass": true,
|
|
"detail": "{\"machine\":{\"powerOn\":true,\"taskState\":\"on\",\"mode\":\"mdi\",\"allHomed\":true,\"interpState\":\"idle\",\"taskPaused\":false,\"mdiCommand\":\"G90 X12.5 Y-4 Z1.25 F900\"},\"operatorMessage\":\"task/HAL MDI G90 X12.5 Y-4 Z1.25 F900\"}"
|
|
},
|
|
{
|
|
"name": "Overrides reset and HAL toggles are active",
|
|
"pass": true,
|
|
"detail": "{\"feed\":{\"rapidOverride\":100,\"feedOverride\":100,\"feedRate\":900,\"currentVelocity\":100.0002},\"gmoccapyGui\":{\"ignoreLimits\":true,\"optionalBlocks\":true,\"optionalStop\":true,\"lastHalPinEffect\":\"optional stop set from Web control\"}}"
|
|
},
|
|
{
|
|
"name": "Spindle and coolant controls update state",
|
|
"pass": true,
|
|
"detail": "{\"spindle\":{\"enabled\":false,\"direction\":\"stop\",\"override\":100,\"rpm\":1600},\"coolant\":{\"flood\":true,\"mist\":true}}"
|
|
},
|
|
{
|
|
"name": "Session restore returns to saved profile",
|
|
"pass": true,
|
|
"detail": "{\"machineProfile\":\"xyzac-trt\",\"sessionPersistence\":{\"status\":\"restored\",\"storageMode\":\"opfs\",\"path\":\"web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json\",\"savedAt\":\"2026-06-28T00:29:22.494Z\",\"restoredAt\":\"2026-06-28T00:29:22.717Z\"},\"evidence\":{\"savedPath\":\"web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json\",\"savedStorageMode\":\"opfs\",\"restoredPath\":\"web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json\",\"restoredStorageMode\":\"opfs\"}}"
|
|
},
|
|
{
|
|
"name": "Diagnostics expose Task/HAL and gmoccapy HAL",
|
|
"pass": true,
|
|
"detail": "{\"rapidOverride\":\"100 %\",\"feedOverride\":\"100 %\",\"spindleOverride\":\"100 %\",\"halLast\":\"web-control spindle override reset to 100\",\"session\":\"restored / opfs / opfs available / opfs_available / web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json\",\"taskGates\":\"jog / home / auto blocked / mdi blocked / pause blocked / resume blocked\",\"taskHal\":\"task / motion / hal / sync\",\"gmoccapyHal\":\"gmoccapy_hal_pin_postgui_reference_web_diagnostic_only\",\"operatorMessage\":\"LinuxCNC machine files staged 9\"}"
|
|
},
|
|
{
|
|
"name": "Screenshots are nonblank",
|
|
"pass": true,
|
|
"detail": "01-loaded:0.7823, 02-powered-homed-manual:0.7823, 03-auto-active:0.7823, 04-manual-jog-x:0.7823, 05-mdi-command:0.7842, 06-overrides-hal:0.7841, 07-spindle-coolant:0.7841, 08-session-restored:0.7841, 09-diagnostics:0.7841"
|
|
}
|
|
],
|
|
"consoleErrors": [],
|
|
"pageErrors": [],
|
|
"networkErrors": [],
|
|
"sessionEvidence": {
|
|
"savedPath": "web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json",
|
|
"savedStorageMode": "opfs",
|
|
"restoredPath": "web-rtcp-5axis-sim-plan/sessions/working7-manual-flow/working7-session.json",
|
|
"restoredStorageMode": "opfs"
|
|
},
|
|
"status": "PASS",
|
|
"jsonPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json",
|
|
"pdfPath": "/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf"
|
|
}
|