136 lines
3.4 KiB
Markdown
136 lines
3.4 KiB
Markdown
# 07 浏览器 RUN feedback 证据完成记录与下一步
|
||
|
||
生成时间:2026-06-22
|
||
|
||
## 1. 本轮执行范围
|
||
|
||
按 `06-run-implementation-traceability-matrix-and-next-steps.md` 的优先级,完成浏览器端 `07-run-preconditions-and-feedback` 证据采集。
|
||
|
||
本轮没有继续扩展 ABORT/STEP/xyzbc 对称测试。
|
||
|
||
## 2. 已完成改动
|
||
|
||
更新:
|
||
|
||
```text
|
||
qa/web-rtcp-5axis-site-test/capture-toolpath-preview-cases.mjs
|
||
```
|
||
|
||
新增:
|
||
|
||
```text
|
||
07-run-preconditions-and-feedback
|
||
```
|
||
|
||
浏览器流程:
|
||
|
||
```text
|
||
1. 等待 app、INI、kinematics runtime、machine files ready。
|
||
2. 选择 LinuxCNC vendored G-code:
|
||
configs/sim/axis/vismach/5axis/table-rotary-tilting/demos/xyzac_switchkins_test_1.ngc
|
||
3. 确认 taskHalSession.programPath 已 open 同一个 G-code。
|
||
4. POWER -> MANUAL -> HOME -> AUTO。
|
||
5. RUN。
|
||
6. 采集 baseline 和 0.2s / 0.5s / 1.0s / 2.0s / 5.0s state。
|
||
7. 截图并输出 JSON 证据。
|
||
```
|
||
|
||
输出:
|
||
|
||
```text
|
||
qa/web-rtcp-5axis-site-test/output/run-preconditions-feedback.json
|
||
qa/web-rtcp-5axis-site-test/screenshots/run-preconditions-feedback/
|
||
```
|
||
|
||
## 3. 断言结果
|
||
|
||
`run-preconditions-feedback.json` 当前状态:
|
||
|
||
```text
|
||
status=PASS
|
||
```
|
||
|
||
通过的关键断言:
|
||
|
||
```text
|
||
1. INI ready。
|
||
2. selected G-code 是 xyzac_switchkins_test_1.ngc。
|
||
3. task/HAL session opened selected G-code。
|
||
4. RUN 后 taskHalStatusLoop sequence 从 1 变为 2。
|
||
5. 本次 RUN tickCount=4。
|
||
6. 本次 RUN programRuntimeFeedbackHistory=5。
|
||
7. feedback sourceMode 全部是 linuxcnc-task-motion-hal-wasm。
|
||
8. 不含 fixture-line-playback feedback。
|
||
9. semanticBoundary 全部是 linuxcnc_task_motion_hal_wasm_simulation_runtime。
|
||
10. activeLine 等于 UI 高亮行。
|
||
11. DRO 等于 runtime feedback axisPose。
|
||
12. RTCP canvas 状态与 state.rtcpState 一致。
|
||
13. taskCycle/servoCycle 可见。
|
||
14. canvas 执行轨迹可见。
|
||
```
|
||
|
||
样本摘要:
|
||
|
||
```text
|
||
t=0.2s / 0.5s / 1.0s / 2.0s / 5.0s
|
||
runState=complete
|
||
taskHalStatusLoop.sequence=2
|
||
taskHalStatusLoop.tickCount=4
|
||
programRuntimeFeedbackHistory.length=5
|
||
activeLine=29
|
||
sourceMode=linuxcnc-task-motion-hal-wasm
|
||
```
|
||
|
||
说明:
|
||
|
||
```text
|
||
xyzac_switchkins_test_1.ngc 很短,浏览器首个 0.2s 样本时程序已 complete。
|
||
因此证据不要求 5 秒内持续 active=true,而是验证本次 RUN 的新 loop sequence、tick/history、task/HAL feedback 和 UI snapshot 一致性。
|
||
```
|
||
|
||
## 4. 已运行验证
|
||
|
||
执行:
|
||
|
||
```bash
|
||
node qa/web-rtcp-5axis-site-test/capture-toolpath-preview-cases.mjs
|
||
```
|
||
|
||
结果:
|
||
|
||
```text
|
||
01-home-toolpath: PASS
|
||
02-operator-demo-toolpath: PASS
|
||
03-arc-demo-toolpath: PASS
|
||
04-clear-preview-reference: PASS
|
||
05-vendored-impeller-toolpath: PASS
|
||
06-running-rtcp-toolpath: PASS
|
||
07-run-preconditions-and-feedback: PASS
|
||
```
|
||
|
||
## 5. 接续工作
|
||
|
||
下一步建议补控制类 node 测试:
|
||
|
||
```text
|
||
1. ABORT 后 taskHalStatusLoop.active=false,runState/stopped status 正确。
|
||
2. STEP 在 task/HAL loaded 时 sourceMode 仍是 linuxcnc-task-motion-hal-wasm。
|
||
3. RUN gate 对 machine ON / AUTO / homed / opened-file 增加更细粒度失败断言。
|
||
4. taskHalStatusLoop 的 taskPeriodNs/servoPeriodNs 从 INI CYCLE_TIME/SERVO_PERIOD 派生。
|
||
5. xyzbc-trt 增加 RUN status loop 对称测试。
|
||
```
|
||
|
||
## 6. 当前完成矩阵变化
|
||
|
||
`06` 中的阶段 13 状态从:
|
||
|
||
```text
|
||
未完成:无新 JSON/截图
|
||
```
|
||
|
||
更新为:
|
||
|
||
```text
|
||
完成:run-preconditions-feedback.json + run-preconditions-feedback/*.png,07 case PASS
|
||
```
|