3.5 KiB
3.5 KiB
01-项目功能内容
目标
在 /home/meswork/cnc_wams/web-rtcp-5axis-sim-plan 中补齐 gmoccapy 文件/宏页面、tool editor 页面、native GTK 未实现页面的诊断边界,让 Web 仿真能够明确表达哪些 gmoccapy 原生页面已经实现、哪些只做诊断映射、哪些因 XYZAB 配置或 Web 仿真边界暂不执行。
本轮不重复 working5 已完成的 HAL 输入、hard-button、模式门控、换刀回环和低频 HAL pin 工作;本轮聚焦页面级功能边界和可验收诊断。
对标范围
gmoccapy 文件页面
- 对照
gmoccapy.py和gmoccapy.glade中程序文件加载、最近文件、文件选择器、程序预览和自动运行入口。 - 对照
[DISPLAY] PROGRAM_PREFIX、默认 NC 文件路径、文件过滤规则和最近文件行为。 - Web 侧需要明确:
- 当前可加载的演示/机床程序来源。
- 文件选择、打开、关闭、最近文件、预览、运行之间的状态边界。
- 与 Auto 模式、全轴回零、解释器 idle、运行中禁止切换文件等互锁关系。
- 未实现的 native GTK file chooser 行为需要诊断说明,不伪装成完整桌面文件管理器。
gmoccapy 宏页面
- 对照 gmoccapy 原生宏按钮、INI 中 macro 配置、MDI 命令发送路径和敏感状态。
- Web 侧需要明确:
- 当前 XYZAB 配置是否存在可用宏。
- 宏按钮如何映射到 MDI 命令或诊断行。
- 未回零、未上电、运行中、解释器非 idle 时宏执行的门控原因。
- 未配置宏时应显示明确边界,而不是空白或误导性成功状态。
tool editor 页面
- 对照 gmoccapy tool editor、LinuxCNC tool table、
M6/M61、刀具号、刀补、手动换刀回环的状态显示。 - Web 侧需要明确:
- 当前 tool table 来源、读取状态、活动刀具、准备刀具、刀补显示。
- 可编辑字段与只读诊断字段的边界。
- Web 仿真是否允许直接写 tool table;若暂不写文件,需要显示只读/诊断原因。
- 与 working5 中
iocontrol-loopback换刀语义保持一致,不重新引入 gmoccapy 手动换刀弹窗。
native GTK 未实现页面诊断边界
- 对照
gmoccapy.glade中原生 notebooks、side buttons、bottom buttons 和 setup/user tabs/tool/touch 等页面。 - Web 侧需要明确:
- 已实现页面、部分实现页面、诊断-only 页面和未实现页面清单。
- hard-button pin 对未实现 native 页面按钮的行为:只能诊断、不能伪装成真实页面动作。
- 每个未实现页面的原因、风险和未来补齐入口。
- 浏览器 UI 中提供可测试的
data-*诊断节点,便于 smoke 脚本验收。
当前项目入口
- Web 应用:
/home/meswork/cnc_wams/web-rtcp-5axis-sim-plan/app - gmoccapy profile:
app/src/profiles/gmoccapy-xyzab.js - gmoccapy HAL model:
app/src/runtime/gmoccapy-hal-model.js - gmoccapy communication model:
app/src/runtime/gmoccapy-communication-model.js - 状态存储:
app/src/state/store.js - gmoccapy UI shell:
app/src/ui/gmoccapy-shell.js - Node 验证:
tests/node - 浏览器验证:
tests/browser
非目标
- 不在本轮实现完整桌面 GTK 文件选择器。
- 不在本轮引入真实 LinuxCNC 外部进程、真实 HAL pin 写入或真实 tool table 持久化,除非后续任务矩阵明确升级。
- 不回退 working5 已完成的
GMOCAPY_HAL_PIN、GMOCAPY_HARDWARE_BUTTON和 gmoccapy XYZAB profile 行为。 - 不把未实现 native 页面包装成可操作成功路径;必须明确诊断边界。