补齐 xyzbc-trt Web 路径证据
This commit is contained in:
@@ -1,5 +1,89 @@
|
||||
# 03-推进台账
|
||||
|
||||
## 2026-07-02 Web task/HAL executionPath 采集实现轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
接续 `working` 任务矩阵,补齐 Web 侧 `executionPath.samples`,让 Web evidence 的预览路径和执行路径都使用 20ms 采样周期,并重新生成 compare 证据。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`:
|
||||
- 复用 `linuxcnc_interp` 生成 machine-file canonical motion 和 TP timing。
|
||||
- 将 TP planner 原始样本重采样为 20ms `previewPath.samples`。
|
||||
- 将同一 motion plan 装入 `linuxcnc_task_hal` WASM。
|
||||
- 按 20ms task cycle 读取 task/HAL status,生成 `executionPath.samples`。
|
||||
- 对 `xyzbc-trt` 显式按 `joint.0/1/2/3/4` 映射 `X/Y/Z/B/C`,避免 B/C 轴被 XYZAC 兼容字段误映射。
|
||||
- 扩展 `tests/node/verify_xyzbc_trt_web_app.mjs`,增加 interpreter + task/HAL 执行反馈 smoke 断言。
|
||||
- 重新生成:
|
||||
- `working/evidence/web-xyzbc-trt-evidence.json`
|
||||
- `working/evidence/compare-xyzbc-trt-evidence.json`
|
||||
- 更新 `04-任务矩阵.md`,将 T-022 标记为完成,并更新 T-017/T-021 的当前样本和通过数。
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web` 通过。
|
||||
- `web-xyzbc-trt-evidence.json` 当前摘要:
|
||||
- `wasm.ready=true`
|
||||
- `blockers=[]`
|
||||
- `previewPath.samplePeriodMs=20`
|
||||
- `previewPath.sampleCount=3074`
|
||||
- `executionPath.samplePeriodMs=20`
|
||||
- `executionPath.sampleCount=569`
|
||||
- `executionPath.source=web-linuxcnc-task-hal-execution`
|
||||
- `executionPath.taskHal.completed=true`
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare` 已生成真实失败报告:当前 18/23 通过,剩余 5 项均为 native evidence 缺少 `previewPath`/`executionPath` 样本和 20ms 周期字段。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build` 通过,输出 `gmoccapy_static_build=ok`。
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 在 `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下重跑 native evidence,使 `native-xyzbc-trt-evidence.json` 写入 `pathSampling`、`previewPath` 和 20ms `executionPath`。
|
||||
2. 重跑 Web evidence 和 compare,使剩余 native path 相关失败进入可比误差统计。
|
||||
3. 继续目标浏览器 smoke,验证 worker runtime ready 和 canvas 非空。
|
||||
|
||||
## 2026-07-02 evidence 字段与路径对比实现轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
按 `working` 目录继续编写 `xyzbc-trt` Web 数控仿真程序,优先补齐可以在当前环境闭环验证的 evidence JSON、路径对比和 staging 覆盖。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 将 `xyzbc-trt` profile 的 `samplePrograms` 修正为 `xyzbc_switchkins.ngc` 和 `boat-xyzbc.ngc`。
|
||||
- 扩展 Web evidence:新增 `pathSampling`、`previewPath`、`executionPath`、`startupSequence`、`iniDisplay`、`halNets`、`kinematicsPins`、`axisJointLimits`、`switchkinsTransitions`、`uiEquivalence`、`vismachEquivalent`、`ngcguiSubroutines`、`demoPrograms`。
|
||||
- 扩展 compare evidence:新增 `pathComparison`,覆盖 `previewVsPreview`、`executionVsExecution`、`previewVsExecutionNative`、`previewVsExecutionWeb`,并输出 TCP、joint、toolAxis、样本差异和缺样本统计。
|
||||
- 修改 native evidence 脚本默认基线为 `/home/mes123456/cnc_wams/linuxcnc`,并在 `--run` 时可把 `stat()` 执行事件重采样为 20ms `executionPath`。
|
||||
- 扩展 Node smoke,检查 `samplePrograms`、Ngcgui 子程序和 `boat-xyzbc.ngc` staging。
|
||||
- 重新生成 Web evidence 和 compare evidence。当前 compare 为真实 fail:WASM artifact 缺失,native/Web path 样本仍不可比。
|
||||
|
||||
### 修改文件
|
||||
|
||||
```text
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/profiles/xyzbc-trt.js
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_xyzbc_trt_web_app.mjs
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-web-xyzbc-trt-evidence.mjs
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/tools/compare-xyzbc-trt-evidence.mjs
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/web-xyzbc-trt-evidence.json
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/working/evidence/compare-xyzbc-trt-evidence.json
|
||||
web-rtcp-5axis-xyzbc-trt-sim-plan/working/04-任务矩阵.md
|
||||
```
|
||||
|
||||
### 验证情况
|
||||
|
||||
- 已通过:`npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node`。
|
||||
- 已通过:`python3 -m py_compile web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py`。
|
||||
- 已通过生成:`npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web`。
|
||||
- 已生成真实失败 compare:`npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare`,当前 23 项检查中 16 项通过,7 项失败均指向 WASM artifact 和 path 样本缺口。
|
||||
- 已确认 `npm run build` 仍因 `wasm-port/build/wasm/kinematics` 缺失失败;该结果符合当前 WASM artifact 前置状态。
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 构建 `wasm-port/build/wasm` 的 kinematics/core/tp/task-hal artifact。
|
||||
2. 在 `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下重跑 native evidence,使 `sourceRoot` 和 path 字段进入 `native-xyzbc-trt-evidence.json`。
|
||||
3. 重跑 Web evidence 和 compare,确认 pathComparison 从 blocker 转为可比误差统计。
|
||||
|
||||
## 2026-07-02 07:31 EDT - DOCX 设计任务书整合到 working
|
||||
|
||||
### 本轮目标
|
||||
@@ -278,3 +362,74 @@ web-rtcp-5axis-xyzbc-trt-sim-plan/working/06-决策记录.md
|
||||
1. 用当前运行的新 native 实例重采集 `native-xyzbc-trt-evidence.json`。
|
||||
2. 将现有历史 `/home/mes123456/linuxcnc-master` evidence 替换为 `/home/mes123456/cnc_wams/linuxcnc` evidence。
|
||||
3. 基于新 evidence 重跑 Web compare。
|
||||
|
||||
## 2026-07-02 生成 WASM artifact
|
||||
|
||||
### 本轮目标
|
||||
|
||||
为 `web-rtcp-5axis-xyzbc-trt-sim-plan` 生成缺失的 `wasm-port/build/wasm` artifact,使 Web evidence 不再因缺少 `.js/.wasm` 构建产物而 blocked。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 显式加载 `/home/mes123456/emsdk/emsdk_env.sh`,确认 `emcc 6.0.2` 可用。
|
||||
- 执行以下构建脚本:
|
||||
- `wasm-port/tools/build_wasm_core.sh`
|
||||
- `wasm-port/tools/build_kinematics_wasm.sh`
|
||||
- `wasm-port/tools/build_tp_wasm.sh`
|
||||
- `wasm-port/tools/build_task_hal_wasm.sh`
|
||||
- 已生成目标项目所需 artifact:
|
||||
- `wasm-port/build/wasm/core/linuxcnc_interp.js`
|
||||
- `wasm-port/build/wasm/core/linuxcnc_interp.wasm`
|
||||
- `wasm-port/build/wasm/kinematics/linuxcnc_xyzbc_trt_kinematics.js`
|
||||
- `wasm-port/build/wasm/kinematics/linuxcnc_xyzbc_trt_kinematics.wasm`
|
||||
- `wasm-port/build/wasm/tp/linuxcnc_tp.js`
|
||||
- `wasm-port/build/wasm/tp/linuxcnc_tp.wasm`
|
||||
- `wasm-port/build/wasm/task-hal/linuxcnc_task_hal.js`
|
||||
- `wasm-port/build/wasm/task-hal/linuxcnc_task_hal.wasm`
|
||||
- `wasm-port/build/wasm` 下当前共有 40 个 `.js/.wasm` artifact。
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `node tests/node/verify_xyzbc_trt_web_app.mjs` 通过。
|
||||
- `SKIP_KINEMATICS_BUILD=1 wasm-port/tests/wasm/node/verify_kinematics_wasm.sh` 通过,包含 `xyzbc-trt` kinematics smoke。
|
||||
- `SKIP_TP_BUILD=1 wasm-port/tests/wasm/node/verify_tp_wasm.sh` 通过。
|
||||
- `SKIP_TASK_HAL_BUILD=1 wasm-port/tests/wasm/node/verify_task_hal_wasm.sh` 通过。
|
||||
- 历史状态:`SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh` 当时未通过,原因是 `interp_g10_l11_wasm` 的 G10 L11 期望值过期;该项已在后续“完整 interpreter/remap 验收”轮次修复。
|
||||
- 重新运行 `node tools/collect-web-xyzbc-trt-evidence.mjs`,`web-xyzbc-trt-evidence.json` 显示 `wasmArtifactsReady=true`、`missing=[]`,并生成 Web preview path 6174 个 20ms 样本。
|
||||
- 重新运行 `node tools/compare-xyzbc-trt-evidence.mjs`,当前 17/23 通过;剩余失败项集中在 native preview/execution path 样本缺失,以及 Web execution path collector 尚未实现。
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 已完成:`verify_interp_wasm.sh` 中 `interp_g10_l11_wasm` 的 G10 L11 断言已对齐 vendored LinuxCNC expected。
|
||||
2. 用 `/home/mes123456/cnc_wams/linuxcnc` 当前 native 实例重采集 `native-xyzbc-trt-evidence.json` 的 preview/execution path。
|
||||
3. 实现 Web task/HAL execution path 采集,补齐 `web-xyzbc-trt-evidence.json.executionPath.samples`。
|
||||
|
||||
## 2026-07-02 完整 interpreter/remap 验收
|
||||
|
||||
### 本轮目标
|
||||
|
||||
完成 `wasm-port/tests/wasm/node/verify_interp_wasm.sh` 的 interpreter/remap WASM 验收,使 `linuxcnc_interp.js/.wasm` 不仅生成,而且通过完整 Node 回归。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 单独复现 `interp_g10_l11_wasm`,打印实际 canonical 输出。
|
||||
- 对照 `wasm-port/vendor/linuxcnc/tests/interp/g10/g10-l11/expected`,确认 WASM 实际输出与 vendored LinuxCNC 当前 expected 一致:
|
||||
- `SET_G92_OFFSET(-43.0622, -47.4282, -72.0000)`
|
||||
- 修正 `wasm-port/tests/wasm/node/verify_interp_wasm.mjs` 中过期的 G10 L11 断言:
|
||||
- 旧值:`x=-41.1962 y=-46.1962 z=-72`
|
||||
- 新值:`x=-43.0622 y=-47.4282 z=-72`
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh` 通过,输出 `interp_wasm_node_smoke=ok`。
|
||||
- `wasm-port/tests/wasm/node/verify_interp_wasm.sh` 通过,输出 `interp_wasm_node_smoke=ok`。
|
||||
- 运行中仍有既有提示:
|
||||
- `link (updating variable file): No such file or directory`
|
||||
- `G88.1` 与 `M410` remap modalgroup warning
|
||||
- 上述提示不影响退出码,完整 interpreter/remap 验收已通过。
|
||||
|
||||
### 下一步
|
||||
|
||||
1. 继续 native preview/execution path 重采集。
|
||||
2. 实现 Web task/HAL execution path collector。
|
||||
3. 重跑 Web/native compare,使剩余 6 个 path 相关失败项进入可比误差统计。
|
||||
|
||||
Reference in New Issue
Block a user