# 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 ```