3.5 KiB
3.5 KiB
02-项目程序开发详细步骤
步骤 1:建立工作控制文件
- 创建 README、功能内容、开发步骤、推进台账、任务矩阵、验收证据、决策记录。
- 将 working5 后续深化方向拆分为文件/宏页面、tool editor 页面、native GTK 未实现页面诊断边界三条主线。
步骤 2:读取基准与现有实现
- 读取
work/working5的任务矩阵、决策记录和验收证据,确认不可回退的既有行为。 - 读取
work/working3/gmoccapy_XYZAB_execution_analysis.md。 - 读取 LinuxCNC gmoccapy 源码和 Glade 文件:
linuxcnc/src/emc/usr_intf/gmoccapy/gmoccapy.pylinuxcnc/src/emc/usr_intf/gmoccapy/gmoccapy.gladelinuxcnc/src/emc/usr_intf/gmoccapy/dialogs.py
- 读取 Web 项目 profile、runtime、state、UI shell 和 tests。
步骤 3:建立页面/按钮/状态映射
- 梳理 native gmoccapy notebook 页面和 Web gmoccapy shell 当前页面。
- 建立文件页面映射:
- native file chooser、program preview、recent files、program run action。
- Web program source、preview、load/run/reset 状态。
- 建立宏页面映射:
- INI macro 配置、宏按钮、MDI command、执行 gate。
- XYZAB 未配置宏时的诊断边界。
- 建立 tool editor 映射:
- tool table、active/prepared tool、offset、M6/M61 状态。
- 只读诊断与可编辑字段边界。
- 建立未实现 native 页面清单:
- setup/user tabs/tool/touch 等按钮和页面。
- hard-button pin 与诊断-only action 的映射。
步骤 4:执行现有测试
- 在
app下运行npm run smoke:node。 - 运行构建:
npm run build。 - 运行浏览器冒烟:
npm run smoke。 - 如测试失败,先判断是环境问题、既有改动问题还是本轮新增行为问题。
步骤 5:补充模型和状态
- 在 profile 或 runtime model 中补充 gmoccapy 页面级 schema:
- file page capability。
- macro page capability。
- tool editor capability。
- native GTK page implementation matrix。
- 在 store 中补充必要 action 或诊断状态:
- 文件页面的 load/recent/preview gate。
- 宏执行的 MDI gate 或未配置提示。
- tool editor 的只读诊断状态。
- native 未实现页面的 operator message。
- 保持 action 命名和 existing gate 风格一致,避免绕过 LinuxCNC task policy。
步骤 6:补充 UI 诊断
- 在 gmoccapy shell 中增加可测试的诊断行或页面区块。
- 所有新增诊断必须带稳定
data-*属性。 - 未实现页面必须显示“诊断-only/未实现/配置未启用”的明确状态。
- 文件/宏/tool editor 控件不得在不满足 gate 时显示为可执行。
步骤 7:补充测试
- Node 测试:
- profile 页面 schema 测试。
- communication model 页面路径测试。
- store gate 和 operator message 测试。
- Browser 测试:
- DOM 诊断行存在。
data-*内容包含关键边界词。- 公开 dispatch 或按钮点击能触发预期状态和 gate。
- 如改动 UI,运行
npm run build && npm run smoke。
步骤 8:回归验收
- 运行本轮相关最小测试。
- 运行完整
npm run smoke:node。 - 运行
npm run build。 - 运行
npm run smoke。 - 运行
git diff --check -- web-rtcp-5axis-sim-plan work/working6。
步骤 9:更新台账和证据
- 更新
03-推进台账.md。 - 更新
04-任务矩阵.md中任务状态。 - 更新
05-验收证据.md中命令、页面、截图、报告或输出摘要。 - 如涉及架构、对标边界或兼容性取舍,更新
06-决策记录.md。