提交 xyzbc-trt 界面与验证更新
This commit is contained in:
@@ -54,26 +54,26 @@ src/emc/kinematics/xyzbc-trt-kins.c
|
||||
| XYZBC 机型默认进入 | `app/src/state/store.js` 默认 profile 为 `xyzbc-trt` | 已落地 |
|
||||
| INI 配置解析 | `linuxcnc-ini-runtime.js` 解析 vendored `xyzbc-trt.ini` | 已落地 |
|
||||
| PyVCP switchkins 面板 | `xyzbc-trt` profile 复用并改写 PyVCP schema:`IDENTITY`、`TCP:XYZBC`、`userk`、`vismach-clear` | 已落地 |
|
||||
| M428/M429/M430 remap | profile 映射 remap 文件和 switchkins type;WASM interp/remap 由 `wasm-port` 支撑 | Web staging 已完成;真实 WASM 执行需 artifact |
|
||||
| M428/M429/M430 remap | profile 映射 remap 文件和 switchkins type;WASM interp/remap 由 `wasm-port` 支撑 | 已完成,Web evidence 覆盖 remap staging、switchkins transitions 和 Ngcgui/remap 子程序执行 |
|
||||
| `motion.switchkins-type` | profile 描述 `motion.analog-out-03 => motion.switchkins-type` | 已落地 |
|
||||
| XYZBC kinematics | `wasm-port/runtime/sdk/src/linuxcnc-kinematics.js` 支持 `xyzbc-trt` 和 `linuxcnc_xyzbc_trt_kinematics.wasm` | SDK 已支持,当前缺 build artifact |
|
||||
| XYZBC kinematics | `wasm-port/runtime/sdk/src/linuxcnc-kinematics.js` 支持 `xyzbc-trt` 和 `linuxcnc_xyzbc_trt_kinematics.wasm` | 已完成,WASM artifact 可用并通过 Web/runtime evidence |
|
||||
| Vismach 等效三维仿真 | Web canvas/Three 风格五轴场景替代 Python Vismach GUI,显示机床参考、刀路、TCP、刀轴 | 参考 app 已移植 |
|
||||
| OPFS 机器文件 staging | `web-rtcp-5axis-xyzbc-trt-sim-plan/machines/xyzbc-trt/...` | 已落地 |
|
||||
| Tool table | `xyzbc-trt.tbl` staged 并进入 Web tool DB 仿真 | 已落地 |
|
||||
| Parameter file | INI 指向 `xyzbc.var`;已从真实运行树导入 `wasm-port/vendor` 并加入 manifest | 已落地 |
|
||||
| 默认程序 | `xyzbc_switchkins.ngc` 作为 `xyzbc-trt` 默认程序 | 已落地 |
|
||||
| task/HAL runtime | `linuxcnc-task-hal-runtime.js` 连接 `wasm-port` task/HAL SDK | 代码已接入,需 artifact 验收 |
|
||||
| 刀具预览路径 JSON | native 与 Web 在预览阶段输出统一结构的 `previewPath` 曲线采样 | 待补充采集脚本 |
|
||||
| 刀具执行路径 JSON | native 与 Web 在真实执行阶段输出统一结构的 `executionPath` 曲线采样 | 待补充采集脚本 |
|
||||
| 预览/执行路径对比 | `compare-xyzbc-trt-evidence.json` 对 `previewPath` 和 `executionPath` 逐点/误差统计比对 | 待补充 compare 规则 |
|
||||
| AXIS 主界面等效 | Web 首屏必须是可操作 CNC 仿真界面,包含程序、坐标、状态、override、工具、MDI/switchkins 控制 | 待全量验收 |
|
||||
| POSTGUI HAL 等效 | Web 需复现 `pyvcp.* -> halui.mdi-command-* -> M428/M429/M430` 连接关系 | 待补充 JSON 检查 |
|
||||
| basic_sim 等效 | Web task/HAL runtime 需提供模拟回零、manual toolchange、spindle、joint feedback 基础仿真语义 | 待 WASM/task-HAL 验收 |
|
||||
| Vismach 模型等效 | Web 3D 模型需按 `table-x/saddle-y/spindle-z/tilt-b/rotate-c/tool-offset/x-offset/z-offset` 驱动 | 待补充模型 pin 验收 |
|
||||
| Ngcgui 子程序 | Web 需 stage 并可运行 `xyzbc_switchkins_sub.ngc`、`centering.ngc`、`helix_bc.ngc` | 待补充子程序验收 |
|
||||
| 演示程序全集 | Web 需 stage `xyzbc_switchkins.ngc` 和 `boat-xyzbc.ngc`,默认打开前者 | 待补充 boat 验收 |
|
||||
| 速度/限制/坐标显示 | Web 需对标 `GEOMETRY/JOG_AXES/POSITION_FEEDBACK/MAX_*`、TRAJ 和 AXIS/JOINT 限制 | 待补充 UI/JSON 检查 |
|
||||
| Kinematics HAL pins | Web 需 expose/record `x-offset/z-offset/tool-offset/rot-point/conventional-directions` | 待补充 HAL pin 检查 |
|
||||
| task/HAL runtime | `linuxcnc-task-hal-runtime.js` 连接 `wasm-port` task/HAL SDK | 已完成,Web execution path 由 task/HAL WASM 反馈采集 |
|
||||
| 刀具预览路径 JSON | native 与 Web 在预览阶段输出统一结构的 `previewPath` 曲线采样 | 已完成,native/Web 均为 20ms 采样并进入 compare |
|
||||
| 刀具执行路径 JSON | native 与 Web 在真实执行阶段输出统一结构的 `executionPath` 曲线采样 | 已完成,native/Web 均为 20ms 采样并进入 compare |
|
||||
| 预览/执行路径对比 | `compare-xyzbc-trt-evidence.json` 对 `previewPath` 和 `executionPath` 逐点/误差统计比对 | 已完成,compare 输出 preview/execution 误差统计和缺样本清单 |
|
||||
| AXIS 主界面等效 | Web 首屏必须是可操作 CNC 仿真界面,包含程序、坐标、状态、override、工具、MDI/switchkins 控制 | 已完成,browser smoke 与 Web evidence `axisMainUi.ready=true` |
|
||||
| POSTGUI HAL 等效 | Web 需复现 `pyvcp.* -> halui.mdi-command-* -> M428/M429/M430` 连接关系 | 已完成,Web evidence/compare 覆盖 PyVCP 到 HALUI POSTGUI nets |
|
||||
| basic_sim 等效 | Web task/HAL runtime 需提供模拟回零、manual toolchange、spindle、joint feedback 基础仿真语义 | 已完成,native/Web evidence 均记录 basic_sim 等效反馈 |
|
||||
| Vismach 模型等效 | Web 3D 模型需按 `table-x/saddle-y/spindle-z/tilt-b/rotate-c/tool-offset/x-offset/z-offset` 驱动 | 已完成,Web 3D 模型由 Vismach 等效 pin 驱动并通过 browser smoke |
|
||||
| Ngcgui 子程序 | Web 需 stage 并可运行 `xyzbc_switchkins_sub.ngc`、`centering.ngc`、`helix_bc.ngc` | 已完成,Web evidence 通过 WASM machine-file wrapper 执行全集 |
|
||||
| 演示程序全集 | Web 需 stage `xyzbc_switchkins.ngc` 和 `boat-xyzbc.ngc`,默认打开前者 | 已完成,staging/profile/evidence 覆盖两个演示程序 |
|
||||
| 速度/限制/坐标显示 | Web 需对标 `GEOMETRY/JOG_AXES/POSITION_FEEDBACK/MAX_*`、TRAJ 和 AXIS/JOINT 限制 | 已完成,Web evidence 覆盖 TRAJ/AXIS/JOINT 限制和 UI 状态 |
|
||||
| Kinematics HAL pins | Web 需 expose/record `x-offset/z-offset/tool-offset/rot-point/conventional-directions` | 已完成,native/Web evidence 覆盖 kinematics pins |
|
||||
|
||||
## 刀具预览与执行路径 JSON 要求
|
||||
|
||||
@@ -156,7 +156,7 @@ compare JSON 应增加 `pathComparison`:
|
||||
|
||||
## WASM 是否满足
|
||||
|
||||
结论:`wasm-port` 已经具备满足 `xyzbc-trt` Web 仿真的主要语义边界,但当前工作区没有 `wasm-port/build/wasm` 构建产物,导致完整浏览器运行需要先执行 WASM 构建。
|
||||
结论:`wasm-port` 已经具备满足 `xyzbc-trt` Web 仿真的主要语义边界;当前目标 app 的 `dist/wasm-port/build/wasm` 已包含 kinematics/core/tp/task-hal 所需 artifact,Web evidence 不再以缺 artifact 作为 blocker。
|
||||
|
||||
已具备的证据:
|
||||
|
||||
@@ -164,12 +164,12 @@ compare JSON 应增加 `pathComparison`:
|
||||
- `wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_xyzbc_trt_kinematics_probe.cpp` 覆盖 `xyzbc-trt-kins` forward/inverse/switchkins。
|
||||
- `wasm-port/runtime/core/linuxcnc_wrap/linuxcnc_5axis_remap_execute_harness.cpp` 包含 `xyzbc-trt.ini`、`xyzbc_switchkins.ngc`、`boat-xyzbc.ngc` 执行路径。
|
||||
- `wasm-port/docs/compatibility-validation.md` 记录 `xyzbc-trt` kinematics、remap、browser interp 覆盖。
|
||||
- 当前环境已经安装并可调用 `emcc 6.0.2`,后续缺口从“安装 Emscripten”转为“执行 WASM 构建并复跑证据”。
|
||||
- 当前 app build 已把 kinematics/core/tp/task-hal `.js/.wasm` artifact 打入 `app/dist/wasm-port/build/wasm`。
|
||||
|
||||
当前缺口:
|
||||
当前闭环状态:
|
||||
|
||||
- `wasm-port/build/wasm/kinematics`、`core`、`tp`、`task-hal` 目录当前不存在。
|
||||
- 因此本轮已完成 native 真实执行、Web OPFS/staging/readiness、JSON 对比验证;完整 browser worker WASM 执行需先构建 artifact。
|
||||
- `npm run smoke:node`、`npm run evidence:web`、`npm run evidence:compare`、`npm run build`、`npm run smoke:browser` 已通过。
|
||||
- `web-xyzbc-trt-evidence.json.wasm.missing=[]`,compare 摘要为 `checkCount=29/passCount=29/failCount=0/blockers=[]`。
|
||||
|
||||
## Native/Web JSON 对比结论
|
||||
|
||||
@@ -183,7 +183,7 @@ working/evidence/compare-xyzbc-trt-evidence.json
|
||||
|
||||
当前结果:
|
||||
|
||||
- native `xyzbc-trt` 通过 LinuxCNC Python API 真实执行 `xyzbc_switchkins.ngc`,采集到 1462 个执行事件。
|
||||
- Web 侧已完成 profile、INI、OPFS staging、PyVCP XML、remap、tool table、parameter file、默认程序覆盖。
|
||||
- 对比 12 项检查中 11 项通过。
|
||||
- 唯一失败项:`required WASM artifacts available`,缺少 `wasm-port/build/wasm/...` 的 kinematics/core/tp/task-hal `.js/.wasm` 文件。
|
||||
- native `xyzbc-trt` 通过 LinuxCNC Python API 真实执行并采集 `previewPath`、`executionPath`、状态流、basic_sim 等效反馈。
|
||||
- Web 侧已完成 profile、INI、OPFS staging、PyVCP XML、remap、tool table、parameter file、默认程序、AXIS 首屏、Vismach pin 驱动模型、Ngcgui 执行和 task/HAL execution path 覆盖。
|
||||
- 对比 29 项检查全部通过,`compare.summary.blockers=[]`。
|
||||
- native/Web 刀具预览路径和执行路径均使用 `samplePeriodMs=20`,compare 已输出 preview/execution 路径误差统计。
|
||||
|
||||
Reference in New Issue
Block a user