# 03 RTCP 刀具轨迹整改测试记录 生成时间:2026-06-22 ## 1. 修改摘要 ```text 问题: G-code RUN 后 RTCP 从 on 回退到 off。 根因: TASK_HAL_STATUS_APPLIED 直接采用 task/HAL status.ui.switchkinsType=0。 修复: task/HAL switchkinsType 为 0 时,按 activeLine 查询 programExecution.motion 的 switchkins 语义。 ``` ## 2. 修改文件 | 文件 | 修改内容 | | --- | --- | | `app/src/state/store.js` | 新增 `resolveTaskHalKinsType()`、`kinsTypeFromProgramActiveLine()`、`programMotionAtOrBeforeLine()` | | `tests/node/verify_rtcp_store.mjs` | 增加 task/HAL status 与 program motion switchkins 合并回归测试 | | `qa/web-rtcp-5axis-site-test/capture-toolpath-preview-cases.mjs` | 专项截图测试已保留运行态 RTCP 检查 | | `qa/web-rtcp-5axis-site-test/generate-toolpath-preview-docx-report.mjs` | 专项 Word 报告生成 | ## 3. 验证命令 ```bash npm --prefix web-rtcp-5axis-sim-plan/app run build node web-rtcp-5axis-sim-plan/tests/node/verify_rtcp_store.mjs node web-rtcp-5axis-sim-plan/tests/node/verify_linuxcnc_task_hal_runtime.mjs bash web-rtcp-5axis-sim-plan/tests/browser/verify_gmoccapy_shell_browser.sh node qa/web-rtcp-5axis-site-test/capture-toolpath-preview-cases.mjs node qa/web-rtcp-5axis-site-test/generate-toolpath-preview-docx-report.mjs ``` ## 4. 验证结果 ```text gmoccapy_static_build=ok rtcp_store_smoke=ok linuxcnc_task_hal_runtime_smoke=ok task_hal_machine_file_smoke=ok switchkins_remap_hal_sync_smoke=ok browser_task_hal_worker_smoke=ok gmoccapy_shell_smoke=ok ``` 专项测试: ```text total=6 PASS=6 FAIL=0 06-running-rtcp-toolpath threeRtcpState=on ``` Word 报告校验: ```text unzip -t qa/web-rtcp-5axis-site-test/output/web-rtcp-5axis-toolpath-preview-report-2026-06-22.docx No errors detected ``` ## 5. 证据文件 ```text qa/web-rtcp-5axis-site-test/output/toolpath-preview-cases.json qa/web-rtcp-5axis-site-test/output/web-rtcp-5axis-toolpath-preview-report-2026-06-22.docx qa/web-rtcp-5axis-site-test/screenshots/toolpath-preview-cases/06-running-rtcp-toolpath.png ``` ## 6. 回归结论 ```text 整改后,G-code RUN 状态下 task/HAL runtime feedback 不再把程序 switchkins TCP 区间错误回退到 identity/off。 刀具预览、TCP 球、刀轴线、长路径、执行轨迹、rapid/feed 分层和 RTCP 状态在专项测试中全部通过。 ```