Files
cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working/README.md
2026-07-09 18:12:01 -04:00

10 KiB
Raw Blame History

working 索引

本目录记录 xyzbc-trt Web 数控系统仿真推进资料,用于按任务矩阵继续开发和验收。

文件:

  • 01-项目功能内容.md目标功能、LinuxCNC 对标点、WASM/OPFS 满足度。
  • 02-项目程序开发详细步骤.md:从源码对标到 Web 实现、构建、验证的步骤。
  • 03-推进台账.md:每轮做了什么、改了哪些文件、验证了什么、下一步。
  • 04-任务矩阵.md:任务编号、状态、验收标准,防止重复做。
  • 05-验收证据.md:命令、输出、页面、证据路径和当前阻塞。
  • 06-决策记录.md:关键决策及理由。
  • 07-全量对标追踪矩阵.md:逐项映射 xyzbc-trt-runtime-files.md 的真实 LinuxCNC 功能到 Web 对标目标、JSON 证据和缺口。
  • 08-xyzbc-trt-界面与图标分析.md:面向 Web 界面开发的页面区域、PyVCP/SWITCHKINS、Vismach、业务页面和 gmoccapy 图标资产清单。
  • 09-设计任务书与技术方案整合.md:从 DOCX 设计任务书整合出的 Markdown 版本,保留任务书、技术方案、程序逻辑分析、状态联锁和图片引用。
  • 11-LinuxCNC源码与真实执行严格对标任务.md:以 /home/mes123456/cnc_wams/linuxcnc 为唯一 native 权威源整理源码、配置、HAL、Vismach、AXIS、PyVCP、解释器、task/HAL、真实运行采样和 Web 复现的新增严格对标任务。
  • 12-20260704-真实执行复验与缺失功能工作计划.md:记录 2026-07-04 18:12 EDT 重新真实执行 native/Web/compare 后的缺失功能分析和后续工作计划。
  • 18-20260707-AXIS主控制按钮调用链与Web完善指南.md:在两份 项目分析/AXIS... 文档和 LinuxCNC 源码复核基础上整理急停、上电、Home、Run、Pause/Resume、Step 的 task/motion 调用链、状态机制、Web/WASM 完善清单和验收矩阵。
  • 19-20260707-AXIS按钮LinuxCNC-task-motion状态机制源码分析.md:从 LinuxCNC C++ task/motion/homing 源码角度整理 AXIS 按钮真实调用链、状态记录和 Web 对标字段。
  • 20-20260707-AXIS按钮LinuxCNC真实C++对标实施步骤.md:由 19 号源码分析拆分出的详细实施步骤,要求以 LinuxCNC C++ 真实状态机为准,不以 compare 60/60 pass 作为完成依据。
  • 21-20260707-AXIS按钮LinuxCNC真实C++对标验收测试.md:由 19 号源码分析拆分出的验收测试文档,定义功能级硬检查、非法命令矩阵、真实程序执行验收和 functionalSummary 通过标准。

当前新增关注点:

  • 2026-07-08 17:26 EDT 已按用户要求全面执行目标项目功能测试,并新增 npm run smoke:buttons 全按钮浏览器测试入口:覆盖 AXIS_BUTTON_PARITY 的 63 个按钮/动作条目,逐项检查 DOM 控件、LinuxCNC 来源元数据和点击后的状态效果;本轮同时修复 M428/M429/M430 MDI 后 task/HAL 状态回写覆盖 kinsType 的问题,并修正旧默认机型/旧项目根测试口径。完整 Node 测试集、WASM status contract、Task/HAL SDK、build、browser smoke、全按钮 smoke、Web evidence 和 compare 均通过;最新 compare.status=passsurfaceSummary=60/60 passfunctionalSummary=8/8 passrequiredImprovements=[]
  • 2026-07-08 10:42 EDT 已按用户要求在目标 Web 项目中删除顶层旧字段:taskHalStatus 正常形态不再输出或消费 task/motionStatusstore、policy、feedback、evidence 采集统一读取 emcStatusui旧字段只保留在拒绝输入的负向测试和错误提示中。Node smoke、WASM status JSON contract、Task/HAL SDK、build、browser smoke、Web evidence 和 compare 均通过;最新 compare.status=passsurfaceSummary=60/60 passfunctionalSummary=8/8 passrequiredImprovements=[]
  • 2026-07-08 10:01 EDT 已按用户要求移除旧字段兼容:normalizeTaskHalStatus() 现在缺少 StandaloneEmcStatus/emcStatus.task/emcStatus.motion 时直接失败,不再从旧 status.taskstatus.motionStatus 回退旧格式拒绝检查、Node smoke、browser smoke、WASM status JSON contract、Task/HAL SDK、Web evidence 和 compare 均通过。
  • 2026-07-08 09:50 EDT 已完成新版 wasm-port task/HAL WASM 状态合同适配Web runtime 以 StandaloneEmcStatus/emcStatus 为唯一输入合同,拒绝旧 task/motionStatus 输入字段;目标 Node smoke、WASM status JSON contract、SDK smoke、Web evidence 和 compare 均通过;最新 compare.status=passsurfaceSummary=60/60 passfunctionalSummary=8/8 passrequiredImprovements=[]
  • 2026-07-07 19:03 EDT 已按“完成 working 中全部工作”重新执行当前收口复验native LinuxCNC evidence、Web evidence、compare、Node smoke、build、Task/HAL 状态矩阵、Task/HAL WASM/SDK smoke、browser smoke 均通过;最新 compare.status=passsurfaceSummary=60/60 passfunctionalSummary=8/8 passrequiredImprovements=[]
  • 2026-07-07 18:57 EDT 已完成 20/21 号文档要求的功能级 compare 增强:compare-xyzbc-trt-evidence.json 现在同时输出 surfaceSummaryfunctionalSummary;最新结果为 surfaceSummary=60/60 passfunctionalSummary=8/8 passrequiredImprovements=[],硬规则覆盖 cppTaskStateMachineParitycppModeGateParitycppHomingParitycppRunGateParitycppPauseResumeParitycppStepParityillegalCommandParityrealProgramExecutionParity
  • 2026-07-07 18:35 EDT 已将 19 号源码分析拆分为 20 号实施步骤和 21 号验收测试。后续结论必须区分 surfaceSummaryfunctionalSummarycompare 60/60 pass 只代表表面规则通过,真实通过必须证明 Web 行为符合 LinuxCNC C++ emctaskmain.ccemctask.cctaskintf.ccmotion/command.ccontrol.choming.c 的状态机和真实程序执行结果。
  • 2026-07-07 18:18 EDT 已完成 AXIS 主控制按钮状态链路收敛:ESTOP/RESET/Power/Home/Run/Pause/Resume/Step 统一以 LinuxCNC task.state + task.mode + interpState + motion/home status 为事实来源Web policy、store、Task/HAL WASM、evidence 采集和 smoke/compare 已同步,最新 compare 为 60/60 passblockers=[]requiredImprovements=[]
  • 2026-07-06 00:22 EDT 新任务:完全对标 /home/mes123456/cnc_wams/linuxcncxyzbc-trt 的 AXIS/task 状态联锁,重整 Web 仿真系统 解除 ESTOP上电Home AllRun暂停/继续 功能逻辑;要求修复当前混乱状态流,并通过源码对照、自动化 smoke、browser 验证和 evidence/compare 严格复验。
  • 2026-07-05 18:57 EDT 已按 LinuxCNC AXIS 源码修复 Pause工具栏按钮恢复为 .toolbar.program_pause -> task_pauseresume 语义,运行中点击暂停、暂停中点击继续;菜单 Pause/Resume 仍为独立命令。Node smoke、browser smoke、build、native/Web/compare 均通过,最新 compare 为 60/60 pass
  • 2026-07-05 18:18 EDT 已按 working/12-20260704-真实执行复验与缺失功能工作计划.md 的 P-002 规则再次执行全量复验native LinuxCNC、Web evidence、compare、build、Node smoke、browser smoke 均通过;最新 compare-xyzbc-trt-evidence.json60/60 passblockers=[]requiredImprovements=[]
  • 2026-07-05 18:08 EDT 已按用户要求重新执行“除硬件相关外完全对标”复验native LinuxCNC、Web evidence、compare、build、Node smoke、browser smoke 均通过;最新 compare-xyzbc-trt-evidence.json60/60 passblockers=[]requiredImprovements=[]
  • 当前 native 权威源为 /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini 及其直接引用的 LinuxCNC 源码、配置、HAL、PyVCP、Vismach、remap、NGC、tool table、parameter file、rtlib 和启动入口用户所述“linuxcnc源程序”的本工作区实际路径为 /home/mes123456/cnc_wams/linuxcnc
  • “硬件相关除外”的边界仅排除真实伺服驱动、电气 I/O、现场总线、实体主轴/冷却/刀库等物理设备接入Web 仿真仍必须对标 LinuxCNC xyzbc-trt 的软件运行语义、状态联锁、HAL/task 反馈、AXIS/PyVCP/Vismach 等效界面、刀路和 JSON 证据。
  • 2026-07-04 18:22 EDT 已按 P-002 重新执行 native LinuxCNC、Web evidence、compare、Node smoke 和 browser smoke最新结果仍为 60/60 passblockers=[]requiredImprovements=[]
  • 2026-07-04 18:12 EDT 已重新执行 native LinuxCNC、Web evidence、Node smoke、browser smoke 和 compare最新结果仍为 60/60 passblockers=[],按当前硬检查未发现新增缺失功能,详见 12-20260704-真实执行复验与缺失功能工作计划.md
  • 2026-07-04 已完成 T-051 到 T-075对标基线已从“整理过的 runtime-files 文档与已生成 evidence”提升为“直接从 /home/mes123456/cnc_wams/linuxcnc 源树和 LinuxCNC xyzbc-trt 真实执行采集事实生成证据”;最新 compare-xyzbc-trt-evidence.json60/60 passblockers=[],详见 11-LinuxCNC源码与真实执行严格对标任务.md
  • 针对 working/screenshots/web-simulation-full-process-20260703T051258Z 的截图问题,已新增 T-047 到 T-050页面截图真实 G 代码执行过程、实时刀具执行路径/刀位、刀头与刀杆方向一致、逐行执行过程 UI。
  • 页面新增 programUiExecution 作为截图层实时执行对象;程序区和 LinuxCNC 监控面板会显示展开后的 sourceFile:line、operation、sample、step 和当前语句。
  • Three.js 刀头 marker、刀轴线和 Vismach 刀杆方向统一使用当前样本 toolAxis.i/j/k 派生的 state.toolAxisVectorbrowser smoke 已断言 canvas dataset 与 state 一致。
  • DOCX 任务书已整合到 working/09-设计任务书与技术方案整合.md,后续开发和验收优先以 working 下 Markdown 文件为可检索工作入口。
  • working 文档必须完全对标 doc/xyzbc-trt-runtime-files.md,不仅覆盖文件 staging也覆盖 AXIS、PyVCP、POSTGUI HAL、basic_sim、Vismach、switchkins、Ngcgui、tool-offset、kinematics pins 和加载顺序。
  • native/Web evidence JSON 后续必须包含刀具预览路径 previewPath 和刀具执行路径 executionPath
  • 路径曲线对比暂定统一使用 samplePeriodMs = 50,通过相同 sampleIndex/timeMs 对齐。
  • compare JSON 后续必须输出 pathComparison,覆盖预览对预览、执行对执行、预览对执行的一致性误差统计。