完善 xyzbc-trt 刀具偏置闭环

This commit is contained in:
mes123456
2026-07-02 09:41:10 -04:00
parent bb939644b9
commit 8fd9952dac
16 changed files with 15926 additions and 10971 deletions

View File

@@ -1,5 +1,108 @@
# 03-推进台账
## 2026-07-02 Tool table 到 tool-offset 闭环实现轮次
### 本轮目标
接续 `working` 任务矩阵,完成 T-034`xyzbc-trt.tbl` 的 T/P/Z/D 当前刀具偏置闭环接到 kinematics tool-offset、Web 模型刀长和 path JSON。
### 已做事项
- 修改 `app/src/runtime/tool-db-simulation.js`
- 新增 `createToolRuntimeState()`统一输出当前刀具、active G43 偏置、`motion.tooloffset.z` 等效值、path tool 和 Vismach tool-offset。
- 运行时状态记录 `xyzbc-trt-kins.tool-offset``xyzbc-trt-gui.tool-offset` 下游 pin 边界。
- 修改 `app/src/runtime/vismach-model-state.js`
- `toolRuntimeState.vismach.toolOffset` 优先于旧的静态 `toolPreview.length`,使模型刀具长度来自 active tool offset。
- 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`
- 从 staged `xyzbc-trt.tbl` 解析工具表。
- 扫描选定程序 T/M6/G43默认程序无工具命令时使用工具表中第一个有 Z 偏置的 T2 生成默认激活证据。
- 新增 `toolRuntime``toolOffsetClosure`,并把 `previewPath.samples[].tool``executionPath.samples[].tool` 改为当前 active tool。
- 扩展 `tests/node/verify_xyzbc_trt_web_app.mjs`
- 断言 `T2 P2 Z10 D8` 进入 tool DB。
- 断言 kinematics tool offset、path tool 和 Vismach pin 均为 T2/Z10/D8 闭环结果。
- 重新生成:
- `working/evidence/web-xyzbc-trt-evidence.json`
- `working/evidence/compare-xyzbc-trt-evidence.json`
- 更新 `04-任务矩阵.md`,将 T-034 标记为完成。
### 验证情况
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过。
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web` 通过。
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare` 已生成真实失败报告:当前 19/24 通过T-034 compare 检查已通过,剩余 5 项失败均来自 native evidence 尚缺 `previewPath`/`executionPath` 样本和采样周期字段。
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build` 通过,输出 `gmoccapy_static_build=ok`
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`
- `web-xyzbc-trt-evidence.json` 当前摘要:
- `toolRuntime.activeToolNumber=2`
- `toolRuntime.activePocket=2`
- `toolRuntime.kinematics.toolOffsetZ=10`
- `toolRuntime.pathTool.length=10`
- `toolRuntime.pathTool.diameter=8`
- `toolRuntime.vismach.toolOffset=10`
- `toolOffsetClosure.closed=true`
- `coverage.toolTableToToolOffsetClosed=true`
### 下一步
1. 继续 T-019/T-037`/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下重跑 native evidence使 native path 进入 20ms 可比状态。
2. 继续 T-026/T-038基于新 browser smoke 扩展 AXIS 主界面与 native 状态流复核。
3. 继续 T-028/T-030补 basic_sim 等效 task/HAL 细节和 Ngcgui/remap 子程序执行验收。
## 2026-07-02 Vismach 3D pin 驱动模型实现轮次
### 本轮目标
接续 `working` 任务矩阵,完成 T-029让 Web 3D 机床参考模型由 `xyzbc-trt-gui.py` 对应的 Vismach HAL pin 驱动,并把 pin 值、HAL net 和模型变换写入 Web evidence。
### 已做事项
- 新增 `app/src/runtime/vismach-model-state.js`
- 统一生成 `table-x/saddle-y/spindle-z/tilt-b/rotate-c/tool-offset/x-offset/z-offset` pin 状态。
- 将 pin 映射到 Web 模型变换table X、saddle Y、spindle Z、tilt B、rotate C、tool offset。
- 记录 9 条 native HAL net 对标关系和 `web_threejs_vismach_equivalent_driven_by_xyzbc_trt_hal_pins` 语义边界。
- 修改 `app/src/visualization/five-axis-scene.js`
- 将静态参考模型拆成 `vismach-table-x``vismach-saddle-y``vismach-spindle-z``vismach-tilt-b``vismach-rotate-c``vismach-tool-offset` 层级。
- 渲染时按 `buildVismachModelState()` 输出更新 Three.js group 的位移和旋转。
- 在 canvas dataset 增加 `threeVismachPins``threeVismachTransforms``threeVismachPinDrivenModel`,供后续浏览器 smoke 直接断言。
- 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`
- `vismachEquivalent` 从静态 pin 清单升级为 `pins``pinValues``transforms``halNets``semanticBoundary`
- 扩展 `tests/node/verify_xyzbc_trt_web_app.mjs`
- 断言 profile 中 Vismach feedback/offset net。
- 断言 pin 到模型变换的映射和 tool-offset/x-offset/z-offset 组合。
- 新增目标浏览器 smoke
- `tests/browser/xyzbc_trt_browser_smoke.html`
- `tests/browser/verify_xyzbc_trt_browser.sh`
- `app/package.json` 增加 `smoke:browser`
- 浏览器断言默认 profile 为 `xyzbc-trt`kinematics/interpreter/task-HAL 均在 worker 中 readycanvas 非空,`threeVismachPinDrivenModel` 和 Vismach pin/transform dataset 可读。
- 重新生成:
- `working/evidence/web-xyzbc-trt-evidence.json`
- `working/evidence/compare-xyzbc-trt-evidence.json`
- 更新 `04-任务矩阵.md`,将 T-014、T-029 标记为完成,并补充 T-035 Web evidence 字段。
### 验证情况
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过。
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web` 通过。
- `web-xyzbc-trt-evidence.json` 当前摘要:
- `status=ready-for-wasm-runtime`
- `blockers=[]`
- `vismachEquivalent.pinValues.table-x=43`
- `vismachEquivalent.pinValues.saddle-y=-32.15`
- `vismachEquivalent.pinValues.spindle-z=-11.306`
- `vismachEquivalent.pinValues.tool-offset=84.019`
- `vismachEquivalent.pinValues.x-offset=-20`
- `vismachEquivalent.pinValues.z-offset=-15`
- `vismachEquivalent.halNets.length=9`
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare` 已生成真实失败报告:仍为 5 项失败,均来自 native evidence 尚缺 `previewPath`/`executionPath` 样本和采样周期字段。
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build` 通过,输出 `gmoccapy_static_build=ok`
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`
### 下一步
1. 继续 T-019/T-037`/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下重跑 native evidence使 native path 进入 20ms 可比状态。
2. 继续 T-034把 tool table 当前 T/P/Z/D 的 active tool offset 闭环接到 kinematics/tool model/path JSON。
3. 继续 T-026/T-038基于新 browser smoke 扩展 AXIS 主界面与 native 状态流复核。
## 2026-07-02 Web task/HAL executionPath 采集实现轮次
### 本轮目标