Files
cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/04-任务矩阵.md
2026-07-03 08:49:13 -04:00

63 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 04-任务矩阵
| 编号 | 任务 | 状态 | 验收标准 |
| --- | --- | --- | --- |
| T-001 | 对标 `xyzbc-trt-runtime-files.md` 梳理运行文件 | 完成 | 文档列出 INI、PyVCP、HAL、Vismach、remap、tool table、parameter file |
| T-002 | 判断 `wasm-port` 是否满足 `xyzbc-trt` | 完成 | 明确列出 SDK/probe/remap/browser 覆盖和当前 artifact 缺口 |
| T-003 | 创建目标 Web app | 完成 | `web-rtcp-5axis-xyzbc-trt-sim-plan/app/index.html` 存在 |
| T-004 | 默认机型改为 `xyzbc-trt` | 完成 | `createSimulationStore().getState().machineProfile === "xyzbc-trt"` |
| T-005 | 接入 `xyzbc-trt` INI/profile | 完成 | profile 坐标为 `XYZBC`kinematics 为 `xyzbc-trt-kins` |
| T-006 | OPFS 路径隔离到目标项目 | 完成 | staged 文件 path 以 `web-rtcp-5axis-xyzbc-trt-sim-plan/machines/xyzbc-trt/` 开头;浏览器 smoke 断言 machine files/session/tool table 实际 `storageMode=opfs` 并可从 OPFS 读回 |
| T-007 | 默认加载 `xyzbc_switchkins.ngc` | 完成 | profile `machineFileStaging.defaultProgramFilename``xyzbc_switchkins.ngc` |
| T-008 | Stage remap/tool/PyVCP 文件 | 完成 | staging 包含 `428remap.ngc``429remap.ngc``430remap.ngc``xyzbc-trt.tbl``xyzbc-trt.xml` |
| T-009 | 增加目标 Node smoke | 完成 | `tests/node/verify_xyzbc_trt_web_app.mjs` 存在并通过 |
| T-010 | 导入 `xyzbc.var` 基线参数文件 | 完成 | `wasm-port/vendor`/manifest 包含 `xyzbc.var`OPFS staging 可保存参数文件 |
| T-011 | 完整 kinematics WASM 验证 | 完成 | `SKIP_KINEMATICS_BUILD=1 wasm-port/tests/wasm/node/verify_kinematics_wasm.sh` 通过,覆盖 `xyzbc-trt` |
| T-012 | 完整 interpreter/remap WASM 验证 | 完成 | `wasm-port/tests/wasm/node/verify_interp_wasm.sh` 通过,输出 `interp_wasm_node_smoke=ok` |
| T-013 | 完整 task/HAL WASM 验证 | 完成 | `SKIP_TASK_HAL_BUILD=1 wasm-port/tests/wasm/node/verify_task_hal_wasm.sh` 通过 |
| T-014 | 目标浏览器 smoke | 完成 | `npm run smoke:browser` 通过;页面默认显示 `xyzbc-trt`kinematics/interpreter/task-HAL worker runtime readycanvas 非空并暴露 Vismach datasetWeb 文件强制使用 OPFS |
| T-015 | native 真实执行 JSON 采集 | 完成 | `native-xyzbc-trt-evidence.json` 记录真实执行事件,状态 completed |
| T-016 | Web OPFS/WASM readiness JSON 采集 | 完成 | `web-xyzbc-trt-evidence.json` 记录 Web profile/INI/staging/WASM readiness真实浏览器 OPFS 由 `smoke:browser` 读回验证Node evidence 为内存采集 |
| T-017 | native/Web JSON 对比 | 完成 | `compare-xyzbc-trt-evidence.json` 已生成并通过;当前 35/35 通过blockers=[] |
| T-018 | WASM artifact 构建前置 | 完成 | 已生成 core/kinematics/tp/task-hal 所需 `.js/.wasm``web-xyzbc-trt-evidence.json.wasm.missing=[]` |
| T-019 | native 刀具预览路径 JSON 采集 | 完成 | `native-xyzbc-trt-evidence.json.previewPath.samples` 使用 50ms 周期记录 native AXIS/Ngcgui 展开预览刀路,当前 sampleCount=1300 |
| T-020 | native 刀具执行路径 JSON 采集 | 完成 | 在 `/home/mes123456/cnc_wams/linuxcnc` RIP 实例下重采集,`native-xyzbc-trt-evidence.json.executionPath.samplePeriodMs=50``sampleCount=4``taskHal.completed=true` |
| T-021 | Web 刀具预览路径 JSON 采集 | 完成 | `web-xyzbc-trt-evidence.json.previewPath.samples` 已由 AXIS/Ngcgui 源程序展开生成 1300 个 50ms 样本 |
| T-022 | Web 刀具执行路径 JSON 采集 | 完成 | `web-xyzbc-trt-evidence.json.executionPath.samples` 已由 WASM task/HAL 执行反馈生成 228 个 50ms 样本 |
| T-023 | 刀路采样周期一致性检查 | 完成 | compare 检查 native/Web path `samplePeriodMs === 50`,否则 fail |
| T-024 | 刀路误差统计对比 | 完成 | compare 输出 preview/execution 的 TCP、joint、toolAxis 误差统计和缺样本清单 |
| T-025 | 全量对标追踪矩阵 | 完成 | `07-全量对标追踪矩阵.md` 逐项映射 `xyzbc-trt-runtime-files.md` 的运行功能 |
| T-026 | AXIS 主界面等效功能 | 完成 | Web 首屏包含程序、坐标、状态、MDI/switchkins、override、工具和预览/执行区域browser smoke 和 Web evidence `axisMainUi.ready=true` |
| T-027 | POSTGUI HAL/PyVCP 连接等效 | 完成 | Web evidence JSON 记录 `pyvcp.* -> halui.mdi-command-* -> M428/M429/M430` 和 multilabel 状态 |
| T-028 | basic_sim 等效 task/HAL | 完成 | native/Web evidence 均记录 basic_sim 等效 joint/home/spindle/manual toolchange 反馈compare 对应检查通过 |
| T-029 | Vismach 3D 模型 pin 对标 | 完成 | Web 3D 模型由 `table-x/saddle-y/spindle-z/tilt-b/rotate-c/tool-offset/x-offset/z-offset` 驱动;`web-xyzbc-trt-evidence.json.vismachEquivalent` 记录 pin 值、HAL net 和变换 |
| T-030 | Ngcgui/remap 子程序全集 | 完成 | staging 和 Web evidence 覆盖并通过 WASM machine-file wrapper 执行 `xyzbc_switchkins_sub.ngc``centering.ngc``helix_bc.ngc` |
| T-031 | 演示程序全集 | 完成 | staging、profile samplePrograms 和 Web evidence 覆盖 `xyzbc_switchkins.ngc``boat-xyzbc.ngc` |
| T-032 | TRAJ/AXIS/JOINT 限制对标 | 完成 | Web evidence 覆盖 XYZBC 单位、速度/加速度、B/C 限位、JOG_AXES、GEOMETRY并通过 browser smoke/WASM evidence 复核 |
| T-033 | kinematics HAL pins 对标 | 完成 | Web/native evidence 脚本记录 `x-offset=-20``z-offset=-15`、rot-point、conventional-directions、tool-offset |
| T-034 | tool table 到 tool-offset 闭环 | 完成 | `xyzbc-trt.tbl` T2/P2/Z10/D8 解析后驱动 `toolRuntime.kinematics.toolOffsetZ=10`、Web path tool length/diameter 和 Vismach `tool-offset=10` |
| T-035 | 全量 evidence JSON 字段 | 完成 | native/Web JSON 已包含 `pathSampling``previewPath``executionPath``startupSequence``halNets``kinematicsPins``axisJointLimits``uiEquivalence``vismachEquivalent``basicSimEquivalent``ngcguiExecution``taskStateFlow` |
| T-036 | native 基线切换到 `/home/mes123456/cnc_wams/linuxcnc` | 完成 | `scripts/rip-environment``bin/axis``bin/xyzbc-trt-gui``rtlib/xyzbc-trt-kins.so` 已生成RIP 环境可导入 `linuxcnc` Python 模块 |
| T-037 | 基于新 native 基线重采集 JSON | 完成 | 已在 `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment` 下启动 `xyzbc-trt` 并重采 `native-xyzbc-trt-evidence.json``sourceRoot=/home/mes123456/cnc_wams/linuxcnc` |
| T-038 | Web 界面按新 native 运行结果复核 | 完成 | Web evidence `nativeStateFlowReview.ready=true`compare 验证状态流、按钮联锁、路径和 HAL pin 复核通过 |
| T-039 | 创建并执行 `xyzbc-trt` 快捷方式 | 完成 | `linuxcnc-rtcp-5axis-shortcuts/table-rotary-tilting/xyzbc-trt.desktop` 已创建,进程从 `/home/mes123456/cnc_wams/linuxcnc` 启动 |
| T-040 | DOCX 任务书整合到 working | 完成 | `working/09-设计任务书与技术方案整合.md` 保留 DOCX 1-11 章、5 张图片引用、任务书、技术方案、程序逻辑和状态联锁内容 |
| T-041 | AXIS/PyVCP 按钮级源程序对标矩阵 | 完成 | `app/src/ui/axis-shell.js` 导出 `AXIS_BUTTON_PARITY`,逐项记录按钮 action、LinuxCNC `axis.py`/POSTGUI HAL 来源、预期状态效果Web evidence 输出 `axisMainUi.axisButtonParity.ready=true` |
| T-042 | AXIS/PyVCP 按钮逐项逻辑验证 | 完成 | Node smoke 验证按钮状态机browser smoke 实际点击 ESTOP/复位、上电、回零、MDI、M428/M429/M430、Jog、override、主轴、冷却、视图、清轨迹、run-ready并断言状态变化 |
| T-043 | `xyzbc_switchkins.ngc` 刀具执行路径源程序语义展开 | 完成 | native/Web evidence 均新增 `semanticExecutionPath`,按 `xyzbc_switchkins_sub.ngc``helix_bc.ngc` 展开 29 个运动段、1300 个 50ms 执行采样compare `semanticExecutionVsSemanticExecution.geometricAligned=true` |
| T-044 | 每行 G 代码执行过程对标 | 完成 | native/Web evidence 均新增 `lineExecutionTrace`,记录 64 条主程序/子程序展开执行步骤、M428/M429 switchkins、G10、G0、G2 helixcompare `lineExecutionComparison.status=pass` |
| T-045 | 每行实际轴值对标 | 完成 | native/Web evidence 均新增 `axisValuesByLine`,记录 29 条产生日志运动的 X/Y/Z/B/C、TCP、toolAxis、feedcompare `axisValuesByLineComparison.status=pass` 且最大 TCP/joint/toolAxis 误差均为 0 |
| T-046 | 完整 G 代码执行过程 JSON | 完成 | native/Web evidence 均新增 `gcodeExecutionProcess`,完整记录 128 个动态执行步骤、65 条源行覆盖、每步详细结果compare `gcodeExecutionProcessComparison.status=pass``mismatchCount=0` |
| T-047 | 页面截图必须记录真实 G 代码执行过程 | 完成 | `programUiExecution.source=programAxisPreviewPath.samples`,实时 UI 显示 `sourceFile:line`、operation、sample、statementbrowser smoke 断言程序区和监控区 dataset 与 state 一致 |
| T-048 | 实时绘制刀具执行路径和刀具位置 | 完成 | RUN/STEP/RUN_FRAME/task-HAL 状态应用统一从 50ms 真实样本派生 `programExecutionSampleIndex`、已执行路径点、当前刀位browser smoke 断言实时样本和 canvas 已执行路径同步 |
| T-049 | 刀头方向与刀杆方向一致 | 完成 | 当前样本 `toolAxis.i/j/k` 提升为 `state.toolAxisVector.x/y/z`Three.js canvas `data-three-tool-axis` 与 state 完全一致Node/browser smoke 均断言一致 |
| T-050 | 显示 G 代码每行执行过程 | 完成 | 程序区新增实时执行条,显示展开后的 `xyzbc_switchkins_sub.ngc`/`helix_bc.ngc` 源行、动态执行 step、sample index 和语句;监控面板同步显示 Source 行 |
状态说明:
- 完成:本轮已实现并可通过静态/Node 验证。
- 待前置:代码已接入,但仍依赖未完成的外部或运行环境步骤。
- 待实现:已记录验收要求,仍需修改采集或对比脚本。
当前 T-001 到 T-050 均已完成T-047/T-048/T-049/T-050 是用户指出 `working/screenshots/web-simulation-full-process-20260703T051258Z` 截图问题后的页面/截图层真实执行闭环项。