完善五轴 RTCP 仿真与验证资料

This commit is contained in:
2026-07-01 21:49:58 -04:00
parent ac4e855b2b
commit d0d58998ac
159 changed files with 6771594 additions and 339 deletions

93
测试过程.md Normal file
View File

@@ -0,0 +1,93 @@
# 测试过程
日期2026-06-27
## 我本轮的测试目标
我参考了 `/home/meswork/cnc_wams/work/working1``/home/meswork/cnc_wams/work/working7` 的历史工作目录,并对 `/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan` 做了真实浏览器执行验证。我验证的范围包括所有主要按钮、右侧控制区按钮、程序加载与执行、刀具预览、刀具实时执行路径、G-code 当前行执行过程、机床轴值、MDI、JOG、主轴、冷却、倍率、HAL 输入、会话保存恢复和诊断边界。
## 我实际执行的命令
```bash
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run build
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke:node
npm --prefix /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app run smoke
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7:full
npm --prefix /home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test run evidence:working7
```
最终结果:
- buildPASS输出 `gmoccapy_static_build=ok`
- Node smokePASSLinuxCNC kinematics/interpreter/INI、Task/HAL、source、session、RTCP、gmoccapy 和单位换算均通过。
- 浏览器 smokePASS输出 `gmoccapy_shell_smoke=ok``gmoccapy_dist_smoke=ok`
- 站点回归测试PASS`site-test-report.json` 中 41 个 finding、0 个 FAIL、0 个 WARN。
- 全量功能实测PASS`job_id=w7full-20260628002838-518bf522``report_id=report-w7full-20260628002838-518bf522`
- 手册流程复核PASS`job_id=w7-20260628002915-30d1c6c8``report_id=report-w7-20260628002915-30d1c6c8`
## 我发现并修复的问题
1. 我发现首屏未上电时主轴、冷却和进给速度初始值不符合安全关闭语义。
我把初始主轴改为 `enabled=false/direction=stop`,冷却 flood 改为关闭,进给当前速度改为 0并同步更新浏览器 smoke 断言。
2. 我发现 Task/HAL 命令回读会覆盖 Web 侧 JOG 和 MDI 的可视轴值,导致实际点击后轴值验证不稳定。
我在 Task/HAL 状态应用链路中加入 `preserveAxisPose``preserveMachine`,让 JOG/MDI 执行后的 axisPose、DRO、mode、interpState 能稳定保留,同时仍记录 Task/HAL 命令执行状态。
3. 我发现 STOP/ABORT 后 Task/HAL 回读可能把 interpreter 留在非 idle 状态,影响后续 MDI、主轴、冷却按钮验证。
我在停止命令中显式保留 `interpState=idle``interpResumeState=idle``taskPaused=false`,确保停止后机床状态可继续操作。
4. 我发现 `gmoccapy-xyzab` 是 reference-only profile证据脚本等待 INI/RTCP proof 会误判。
我把该 profile 的验证改为确认 profile 切换成功、RTCP 关闭、TCP 按钮禁用并显示 reference-only 原因。
5. 我发现全量报告里曾出现 404 console 噪声。
我给页面添加内联 favicon调整 INI loader 的 source/dist 路径选择;构建时复制 gmoccapy 参考配置;让 machine-file staging 对 `linuxcnc/` 前缀走仓库根或 dist 根路径;对 reference-only profile 不再尝试加载 source-derived kinematics runtime。最终 full/manual 两份报告均为 `consoleErrors=0``networkErrors=0``pageErrors=0`
6. 我发现旧 working7 手动流程脚本仍按冷却 flood 初始开启来判断。
我同步脚本断言:安全初始状态为关闭,点击 Flood 后变为开启。
7. 我发现旧站点回归脚本默认测试远端页面,并且 Puppeteer 直接持有按钮节点点击,页面重渲染时会出现 `Node is detached from document`
我把 `run-site-test.mjs` 改为默认启动本地静态服务测试当前源码,只在设置 `TARGET_URL` 时测试外部地址;点击和 select 改为在页面上下文中即时查询元素,避免 detached 节点错误。
8. 我发现旧站点回归报告中的 STEP 和 Restore Session 失败来自测试口径和操作流程不完整。
我把 STEP 验收改为 Task/HAL 真实语义:`singleStepping=true` 且保持暂停态Restore Session 前先切回 MANUAL 并确认 JOG 改变坐标,再验证恢复到保存快照。
## 我生成的图文报告
全量功能图文报告:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.md
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.pdf
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence-report.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-full-functional-evidence
```
全量报告使用第一人称描述,包含 19 张截图和 73 个实际执行动作截图包括主界面、门禁、上电回零、右侧按钮、profile、刀具预览、程序来源、Open、Run Ready、实时路径、暂停继续单步、停止、JOG 轴值、MDI、倍率/HAL、主轴冷却、会话/Full 和诊断。
手册流程复核报告:
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.pdf
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence-report.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/output/working7-manual-flow-evidence
```
## 我修改的主要文件
```text
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/package.json
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-full-functional-evidence.mjs
/home/meswork/cnc_wams/qa/web-rtcp-5axis-site-test/capture-working7-manual-flow-evidence.mjs
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/index.html
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/scripts/build-static.mjs
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/main.js
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-ini-runtime.js
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/runtime/linuxcnc-machine-file-staging.js
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app/src/state/store.js
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/tests/browser/gmoccapy_shell_smoke.html
/home/meswork/cnc_wams/work/working7/*
```
## 我的最终结论
我已经对目标项目完成了真实浏览器执行验证和回归验证。全量功能报告和手册流程报告均为 PASS且最终报告没有 console、network 或 page error。当前验证结论仍限定在 Web 仿真和 WASM/Task/HAL simulation 边界内,不声明真实机床硬件控制能力。