完善 xyzbc-trt 刀具偏置闭环
This commit is contained in:
@@ -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 中 ready,canvas 非空,`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 采集实现轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
Reference in New Issue
Block a user