Files
cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/04-任务矩阵.md
2026-07-07 18:45:26 -04:00

18 KiB
Raw Blame History

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 坐标为 XYZBCkinematics 为 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.defaultProgramFilenamexyzbc_switchkins.ngc
T-008 Stage remap/tool/PyVCP 文件 完成 staging 包含 428remap.ngc429remap.ngc430remap.ngcxyzbc-trt.tblxyzbc-trt.xml
T-009 增加目标 Node smoke 完成 tests/node/verify_xyzbc_trt_web_app.mjs 存在并通过
T-010 导入 xyzbc.var 基线参数文件 完成 wasm-port/vendor/manifest 包含 xyzbc.varOPFS 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-trtkinematics/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 已生成并通过;当前 60/60 通过blockers=[]
T-018 WASM artifact 构建前置 完成 已生成 core/kinematics/tp/task-hal 所需 .js/.wasmweb-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=50sampleCount=4taskHal.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.ngccentering.ngchelix_bc.ngc
T-031 演示程序全集 完成 staging、profile samplePrograms 和 Web evidence 覆盖 xyzbc_switchkins.ngcboat-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=-20z-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 已包含 pathSamplingpreviewPathexecutionPathstartupSequencehalNetskinematicsPinsaxisJointLimitsuiEquivalencevismachEquivalentbasicSimEquivalentngcguiExecutiontaskStateFlow
T-036 native 基线切换到 /home/mes123456/cnc_wams/linuxcnc 完成 scripts/rip-environmentbin/axisbin/xyzbc-trt-guirtlib/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.jsonsourceRoot=/home/mes123456/cnc_wams/linuxcnc
T-038 Web 界面按新 native 运行结果复核 完成 Web evidence nativeStateFlowReview.ready=truecompare 验证状态流、按钮联锁、路径和 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.ngchelix_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=passmismatchCount=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/zThree.js canvas data-three-tool-axis 与 state 完全一致Node/browser smoke 均断言一致
T-050 显示 G 代码每行执行过程 完成 程序区新增实时执行条,显示展开后的 xyzbc_switchkins_sub.ngc/helix_bc.ngc 源行、动态执行 step、sample index 和语句;监控面板同步显示 Source 行
T-051 建立 LinuxCNC 源树权威清单 完成 /home/mes123456/cnc_wams/linuxcnc 直接生成 xyzbc-trt 权威 manifest记录 INI/HAL/XML/TBL/VAR/NGC/C/Python/rtlib/desktop 文件绝对路径、mtime、sha256、来源角色Web staging 和 evidence 必须引用该 manifest
T-052 真实启动入口与环境对标 完成 linuxcnc/scripts/rip-environmentbin/axisbin/xyzbc-trt-guilinuxcnc-rtcp-5axis-shortcuts/.../xyzbc-trt.desktop 为准,采集实际启动命令、环境变量、当前 INI、进程树、HAL/GUI 加载顺序
T-053 INI 全字段解析与差异校验 完成 解析 configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini 的全部 section/keyWeb profile、staging、UI、runtime 和 compare 不允许只抽取部分关键字段
T-054 HAL 图谱运行态完整采集 完成 从真实 LinuxCNC 运行态采集 LIB:basic_sim.tcl 生成 HAL、switchkins_postgui.hal、INI HALCMD、全部 loadrt/loadusr/net/setp/addf/pin/signal/thread并与 Web HAL/task 模型逐项比对
T-055 xyzbc-trt-kins 源码公式级对标 完成 src/emc/kinematics/xyzbc-trt-kins.ctrtfuncs.c 为准,对 switchkins 类型、XYZBC forward/inverse、offset、tool-offset、rot-point、conventional-directions、坐标映射和误差阈值做自动化公式/样本校验
T-056 M428/M429/M430 remap 真实语义对标 完成 逐行对标 remap_subs/428remap.ngc429remap.ngc430remap.ngc,包含 M68 E3 Q*M66 同步、motion.switchkins-type 校验、debug/STOP 失败路径和 task 模式条件
T-057 PyVCP 与 POSTGUI HAL 全链路对标 完成 xyzbc-trt.xmlswitchkins_postgui.hal 生成按钮、multilabel、HAL pin、halui MDI 命令、vismach-clear 的来源矩阵,并用真实点击/状态采样验证 Web 行为
T-058 AXIS 原生 UI 行为源程序对标 完成 以 LinuxCNC axis.py 真实菜单、工具栏、模式联锁、打开/运行/暂停/停止/MDI/jog/override/touch-off 行为为准,补齐 Web 控件、快捷键、禁用态和状态消息的来源级验证
T-059 Vismach 几何与变换树严格对标 完成 src/hal/user_comps/vismach/xyzbc-trt-gui.py 为准,采集 WebGL 模型的 table/saddle/spindle/tilt-b/rotate-c/x-offset/z-offset/tool-offset 变换树、方向、颜色和 capture 点误差
T-060 原生 servo/task 时间基准采集 完成 从真实运行态记录 SERVO_PERIOD=1000000TASK CYCLE_TIME=0.010、采样时间戳抖动、50ms compare 抽样来源和原始高频样本,避免只保留重采样后的结果
T-061 LinuxCNC 真实解释器执行事件采集 完成 不只依赖源程序静态展开;从真实 LinuxCNC 执行中采集当前文件/行、调用栈、参数赋值、G/M 代码、work offset、switchkins、motion segment、feed/spindle/coolant/tool 状态
T-062 Web staging 与 native 文件 hash 一致 完成 Web 侧 OPFS/staged 文件必须逐文件匹配 T-051 manifest sha256若 Web 有派生文件或兼容补丁,必须在 evidence 标注派生来源和差异原因
T-063 WASM artifact 与 LinuxCNC 源码版本绑定 完成 记录 kinematics/interpreter/task-HAL/core WASM artifact 对应的 LinuxCNC 源码路径、构建命令、编译选项、sha256 和导出符号compare 拒绝未知来源 artifact
T-064 task/HAL 运行状态全字段对标 完成 native/Web evidence 对齐 estop、power、home、mode、interp/task state、joint pos/cmd/fb、spindle、feed、rapid、coolant、toolchange、manualtoolchange、operator message 和错误状态
T-065 TRAJ/AXIS/JOINT 限制与联锁对标 完成 以 INI 中 TRAJ、AXIS_X/Y/Z/B/C、JOINT_0-4 为准验证速度、加速度、限位、home、jog axis、GEOMETRY、单位和运行中越界/未回零/模式错误的真实阻断路径
T-066 tool table 与 parameter file 持久化对标 完成 对标 xyzbc-trt.tblxyzbc.var、tool-offset HAL pin、G43/G10/G54 参数变化、运行前后持久化和 Web OPFS 保存/恢复的一致性
T-067 Ngcgui 与示例程序全集真实执行对标 完成 覆盖 xyzbc_switchkins.ngcboat-xyzbc.ngcxyzbc_switchkins_sub.ngccentering.ngchelix_bc.ngc 的 Ngcgui 参数、子程序调用、展开行、运行结果和截图证据
T-068 native/Web 图形截图同状态对标 完成 同一运行时间点同时采集 native AXIS/Vismach 和 Web canvas/DOM 截图,记录机床姿态、刀位、刀轴、轨迹、当前行、状态面板,并生成视觉差异说明
T-069 错误路径与异常消息对标 完成 人为触发缺 HAL pin、错误 switchkins-type、未上电运行、未回零、模式错误、文件缺失、remap STOP、toolchange 未确认等路径native/Web 错误消息和状态转移必须一致
T-070 compare JSON 升级为源码/运行双基线 完成 compare-xyzbc-trt-evidence.json 增加 sourceManifestComparisonruntimeLaunchComparisonhalGraphComparisoniniFullComparisonkinematicsFormulaComparisonuiBehaviorComparisonvisualComparison
T-071 采集脚本禁止静态推导冒充真实运行 完成 native evidence 中明确区分 sourceDerivedruntimeObservedruntimeSampled;真实执行要求必须来自 LinuxCNC 运行态 API/HAL/日志/截图,不能只由 NGC 静态分析生成
T-072 自动复验入口一键化 完成 提供单一命令重新启动 native、采集 source/runtime evidence、采集 Web evidence、执行 compare、生成截图和任务摘要失败时输出可定位的 blocker JSON
T-073 文档反向索引到 LinuxCNC 源码行 完成 working 中每个对标结论必须能反查到 /home/mes123456/cnc_wams/linuxcnc 的具体文件和行号,以及 Web 实现文件和证据 JSON 字段
T-074 性能与采样误差预算对标 完成 记录 native/Web 路径采样耗时、帧率、最大/均方 TCP 误差、joint 误差、toolAxis 角误差、样本丢失、时间漂移和 UI 刷新延迟,超过阈值 fail
T-075 严格验收冻结与回归门禁 完成 所有 T-051 到 T-074 通过后,冻结 manifest、证据路径、截图集和 compare 摘要;后续任何修改必须重新生成并通过源码/运行双基线 compare
T-076 2026-07-04 18:12 EDT 真实执行复验与缺失功能工作计划 完成 重新执行 native LinuxCNC、Web evidence、Node smoke、browser smoke 和 comparecompare.status=pass60/60 passblockers=[],缺失功能清单为空,后续按 12-20260704-真实执行复验与缺失功能工作计划.md 做变更后强制复验
T-077 2026-07-05 用户要求完全对标复验与文档修订 完成 明确硬件相关排除边界;以 /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini 为 native 权威基线重新执行 native/Web/compare/build/smokecompare.status=pass60/60 passblockers=[]requiredImprovements=[]
T-078 2026-07-07 AXIS 主控制按钮状态链路收敛 完成 18-20260707-AXIS主控制按钮调用链与Web完善指南.md 完成 ESTOP、Power、Home、Run、Pause/Resume、Step 的 LinuxCNC task/motion/home 状态收敛Task/HAL WASM 暴露 motionEnabledhomed[]singleSteppingmotionSteppingpolicy 统一门禁build、Node/WASM/browser smoke、Web evidence 和 compare 均通过,最新 compare.status=pass60/60 passblockers=[]requiredImprovements=[]

状态说明:

  • 完成:本轮已实现并可通过静态/Node 验证。
  • 待前置:代码已接入,但仍依赖未完成的外部或运行环境步骤。
  • 待实现:已记录验收要求,仍需修改采集或对比脚本。

当前 T-001 到 T-078 均已完成T-047/T-048/T-049/T-050 是用户指出 working/screenshots/web-simulation-full-process-20260703T051258Z 截图问题后的页面/截图层真实执行闭环项。

T-051 到 T-075 是 2026-07-04 新增的严格完整对标任务:以 /home/mes123456/cnc_wams/linuxcnc 源树和 LinuxCNC xyzbc-trt 真实执行为唯一 native 权威基线,当前已完成,最新 compare 为 60/60 passblockers=[]。

T-076 是 2026-07-04 18:12 EDT 的重新真实执行复验和缺失功能分析任务:本轮未发现新增缺失功能,后续工作计划转为固定当前证据、变更后强制复验和 fail/blocker 处置流程。

T-077 是 2026-07-05 用户再次要求“除了硬件相关,在仿真的所有方面完全对标”后的复验与文档修订任务:最新 native/Web/compare/build/smoke 全部通过compare 为 60/60 passblockers=[]requiredImprovements=[]。

T-078 是 2026-07-07 按 AXIS 主控制按钮调用链完善指南完成的状态链路收敛任务Web 主控制按钮已统一到 LinuxCNC task/motion/home 状态事实,最新 Web evidence/compare/build/smoke 均通过compare 为 60/60 passblockers=[]requiredImprovements=[]。