Files
cnc_wams/work/working6/01-项目功能内容.md

65 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 页面包装成可操作成功路径;必须明确诊断边界。