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=pass、surfaceSummary=60/60 pass、functionalSummary=8/8 pass、requiredImprovements=[]。 - 2026-07-08 10:42 EDT 已按用户要求在目标 Web 项目中删除顶层旧字段:
taskHalStatus正常形态不再输出或消费task/motionStatus,store、policy、feedback、evidence 采集统一读取emcStatus和ui;旧字段只保留在拒绝输入的负向测试和错误提示中。Node smoke、WASM status JSON contract、Task/HAL SDK、build、browser smoke、Web evidence 和 compare 均通过;最新compare.status=pass、surfaceSummary=60/60 pass、functionalSummary=8/8 pass、requiredImprovements=[]。 - 2026-07-08 10:01 EDT 已按用户要求移除旧字段兼容:
normalizeTaskHalStatus()现在缺少StandaloneEmcStatus/emcStatus.task/emcStatus.motion时直接失败,不再从旧status.task或status.motionStatus回退;旧格式拒绝检查、Node smoke、browser smoke、WASM status JSON contract、Task/HAL SDK、Web evidence 和 compare 均通过。 - 2026-07-08 09:50 EDT 已完成新版
wasm-porttask/HAL WASM 状态合同适配:Web runtime 以StandaloneEmcStatus/emcStatus为唯一输入合同,拒绝旧task/motionStatus输入字段;目标 Node smoke、WASM status JSON contract、SDK smoke、Web evidence 和 compare 均通过;最新compare.status=pass、surfaceSummary=60/60 pass、functionalSummary=8/8 pass、requiredImprovements=[]。 - 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=pass、surfaceSummary=60/60 pass、functionalSummary=8/8 pass、requiredImprovements=[]。 - 2026-07-07 18:57 EDT 已完成 20/21 号文档要求的功能级 compare 增强:
compare-xyzbc-trt-evidence.json现在同时输出surfaceSummary和functionalSummary;最新结果为surfaceSummary=60/60 pass、functionalSummary=8/8 pass、requiredImprovements=[],硬规则覆盖cppTaskStateMachineParity、cppModeGateParity、cppHomingParity、cppRunGateParity、cppPauseResumeParity、cppStepParity、illegalCommandParity、realProgramExecutionParity。 - 2026-07-07 18:35 EDT 已将 19 号源码分析拆分为 20 号实施步骤和 21 号验收测试。后续结论必须区分
surfaceSummary和functionalSummary;compare 60/60 pass只代表表面规则通过,真实通过必须证明 Web 行为符合 LinuxCNC C++emctaskmain.cc、emctask.cc、taskintf.cc、motion/command.c、control.c、homing.c的状态机和真实程序执行结果。 - 2026-07-07 18:18 EDT 已完成 AXIS 主控制按钮状态链路收敛:
ESTOP/RESET/Power/Home/Run/Pause/Resume/Step统一以 LinuxCNCtask.state + task.mode + interpState + motion/home status为事实来源;Web policy、store、Task/HAL WASM、evidence 采集和 smoke/compare 已同步,最新 compare 为60/60 pass、blockers=[]、requiredImprovements=[]。 - 2026-07-06 00:22 EDT 新任务:完全对标
/home/mes123456/cnc_wams/linuxcnc中xyzbc-trt的 AXIS/task 状态联锁,重整 Web 仿真系统解除 ESTOP、上电、Home All、Run、暂停/继续功能逻辑;要求修复当前混乱状态流,并通过源码对照、自动化 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.json为60/60 pass、blockers=[]、requiredImprovements=[]。 - 2026-07-05 18:08 EDT 已按用户要求重新执行“除硬件相关外完全对标”复验:native LinuxCNC、Web evidence、compare、build、Node smoke、browser smoke 均通过;最新
compare-xyzbc-trt-evidence.json为60/60 pass、blockers=[]、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 pass、blockers=[]、requiredImprovements=[]。 - 2026-07-04 18:12 EDT 已重新执行 native LinuxCNC、Web evidence、Node smoke、browser smoke 和 compare;最新结果仍为
60/60 pass、blockers=[],按当前硬检查未发现新增缺失功能,详见12-20260704-真实执行复验与缺失功能工作计划.md。 - 2026-07-04 已完成 T-051 到 T-075:对标基线已从“整理过的 runtime-files 文档与已生成 evidence”提升为“直接从
/home/mes123456/cnc_wams/linuxcnc源树和 LinuxCNCxyzbc-trt真实执行采集事实生成证据”;最新compare-xyzbc-trt-evidence.json为60/60 pass、blockers=[],详见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.toolAxisVector,browser 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,覆盖预览对预览、执行对执行、预览对执行的一致性误差统计。