63 lines
9.9 KiB
Markdown
63 lines
9.9 KiB
Markdown
# 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 ready,canvas 非空并暴露 Vismach dataset;Web 文件强制使用 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 helix;compare `lineExecutionComparison.status=pass` |
|
||
| T-045 | 每行实际轴值对标 | 完成 | native/Web evidence 均新增 `axisValuesByLine`,记录 29 条产生日志运动的 X/Y/Z/B/C、TCP、toolAxis、feed;compare `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、statement;browser 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` 截图问题后的页面/截图层真实执行闭环项。
|