chore: finalize remaining project artifacts
This commit is contained in:
@@ -415,3 +415,114 @@ working/screenshots/run-full-50ms-canvas-exact-expanded-plan-20260703T205917Z/
|
||||
### 结论
|
||||
|
||||
`上电 -> Home All -> Run` 已重新验证为真实 task/HAL 执行。刀具路径不再只按少量关键点跳动,而是由 task/HAL 加载 1299 个展开小段后沿 1300 个采样点完整推进。50ms 画布级全过程截图平均间隔约 50.021ms,覆盖 `sampleIndex 0 -> 1299`,无采样回退,最终到达程序行 44 并进入 `complete`。
|
||||
|
||||
## 按钮/控件来源映射回归复验
|
||||
|
||||
执行时间:2026-07-03 20:10 EDT。
|
||||
|
||||
### 本轮处理
|
||||
|
||||
继续验证按钮功能时,先复跑正式回归,再补充 DOM/来源映射审计。审计发现隐藏的 `mdi-input` 文本输入框缺少 `axisSourceRef/axisExpectedEffect` 元数据;该控件不是按钮,但属于 MDI 业务输入控件,因此补入 AXIS 来源矩阵,保证按钮与输入触发控件均有可追踪来源。
|
||||
|
||||
涉及文件:
|
||||
|
||||
| 文件 | 修改 |
|
||||
| --- | --- |
|
||||
| `app/src/ui/axis-shell.js` | `AXIS_BUTTON_PARITY` 新增 `mdi-input` 来源条目 |
|
||||
| `app/dist/src/ui/axis-shell.js` | 构建产物随 `npm --prefix app run build` 更新 |
|
||||
|
||||
### 复验命令
|
||||
|
||||
```bash
|
||||
npm --prefix app run build
|
||||
npm --prefix app run smoke:node
|
||||
npm --prefix app run smoke:browser
|
||||
npm --prefix app run evidence:web
|
||||
npm --prefix app run evidence:compare
|
||||
```
|
||||
|
||||
### 复验结果
|
||||
|
||||
| 命令/验证 | 结果 |
|
||||
| --- | --- |
|
||||
| `npm --prefix app run build` | 通过,输出 `gmoccapy_static_build=ok` |
|
||||
| `npm --prefix app run smoke:node` | 通过,输出 `xyzbc_trt_web_app_smoke=ok` |
|
||||
| `npm --prefix app run smoke:browser` | 通过,输出 `xyzbc_trt_browser_smoke=ok` |
|
||||
| `npm --prefix app run evidence:web` | 通过,更新 `working/evidence/web-xyzbc-trt-evidence.json` |
|
||||
| `npm --prefix app run evidence:compare` | 通过,输出 `compare_xyzbc_trt_status=pass` |
|
||||
| DOM/来源映射审计 | 通过,见 `working/evidence/button-dom-parity-20260704T000959Z.json` |
|
||||
|
||||
### DOM/来源映射审计摘要
|
||||
|
||||
| 指标 | 结果 |
|
||||
| --- | ---: |
|
||||
| DOM 控件总数 | 84 |
|
||||
| `button` 数量 | 72 |
|
||||
| 业务控件数量 | 75 |
|
||||
| 来源矩阵条目 | 63 |
|
||||
| 缺失来源数 | 0 |
|
||||
| 必需动作缺失数 | 0 |
|
||||
| 来源矩阵动作缺失数 | 0 |
|
||||
| 页面运行时异常 | 0 |
|
||||
| 资源加载 404 console 记录 | 22 |
|
||||
| Three.js 状态 | `threeReady=true`、`threePathPoints=1300` |
|
||||
|
||||
资源加载 404 仍作为 console 资源噪声记录,不触发 `pageerror`,不计为按钮执行失败。
|
||||
|
||||
### 本轮结论
|
||||
|
||||
按钮功能回归继续通过。`ESTOP/RESET`、`Power`、`Home All`、`Auto/Manual`、`Run`、`Stop`、MDI/PyVCP、Jog、Touch Off、Tool Touch Off、Override、主轴、冷却、视图和 Reload 等业务链路由正式 Node/browser smoke 覆盖并通过;DOM/来源映射审计也确认所有业务按钮和输入触发控件均有 AXIS/PyVCP 来源追踪。
|
||||
|
||||
## Pause 按钮现场问题修复记录
|
||||
|
||||
执行时间:2026-07-03 21:38 EDT。
|
||||
|
||||
### 问题
|
||||
|
||||
现场反馈“暂停按钮”不好用。复查后确认,`PAUSE` 状态机本身可以让 task/HAL 进入 `paused`,但 AXIS 工具栏在程序运行时会跟随 task/HAL 状态循环高频重渲染,并且每次都用 `innerHTML` 重建整条工具栏。用户点击 `Pause` 时,如果按钮节点在鼠标按下到 click 触发之间被替换,点击会不稳定;Playwright 原生 `page.click()` 也能复现同类“元素被 detach/不稳定”的现象。
|
||||
|
||||
### 修复
|
||||
|
||||
| 文件 | 修改 |
|
||||
| --- | --- |
|
||||
| `app/src/ui/axis-shell.js` | 工具栏改为首次创建 DOM,后续只更新按钮 `data-action/title/icon/text`,不再每个状态 tick 重建按钮节点 |
|
||||
| `app/src/ui/axis-shell.js` | 工具栏点击改为容器级事件委托,并通过 `element.__axisLatestState` 使用最新状态派发命令 |
|
||||
| `tests/browser/xyzbc_trt_browser_smoke.html` | 增加 `Run -> Pause -> Resume -> Stop` 真实按钮点击回归 |
|
||||
| `app/dist/src/ui/axis-shell.js` | 构建产物随 `npm --prefix app run build` 更新 |
|
||||
|
||||
### 复验结果
|
||||
|
||||
| 命令/验证 | 结果 |
|
||||
| --- | --- |
|
||||
| `npm --prefix app run build` | 通过,输出 `gmoccapy_static_build=ok` |
|
||||
| `npm --prefix app run smoke:node` | 通过,输出 `xyzbc_trt_web_app_smoke=ok` |
|
||||
| `npm --prefix app run smoke:browser` | 通过,输出 `xyzbc_trt_browser_smoke=ok`,包含新增 Pause/Resume 断言 |
|
||||
| Playwright 原生 `page.click()` 现场路径 | 通过,`Power -> Home All -> Run -> Pause -> Resume` 可稳定执行 |
|
||||
| `npm --prefix app run evidence:web` | 通过,更新 `working/evidence/web-xyzbc-trt-evidence.json` |
|
||||
| `npm --prefix app run evidence:compare` | 通过,输出 `compare_xyzbc_trt_status=pass` |
|
||||
|
||||
Playwright 现场路径最终状态:
|
||||
|
||||
```json
|
||||
{
|
||||
"status": "pass",
|
||||
"state": {
|
||||
"runState": "running",
|
||||
"interpState": "reading",
|
||||
"taskPaused": false,
|
||||
"operatorMessage": "task/HAL program resumed"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 服务状态
|
||||
|
||||
`4174` 端口已有静态服务运行,并且返回的是本轮构建后的 `dist`:
|
||||
|
||||
```text
|
||||
http://127.0.0.1:4174/
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
`Pause` 按钮现场点击不稳定问题已修复。现在运行中点击 `Pause` 会进入 `runState=paused`、`machine.interpState=paused`、`machine.taskPaused=true`;按钮随后切换为 `Resume`,点击后恢复 `runState=running` 和 `interpState=reading`。
|
||||
|
||||
Reference in New Issue
Block a user