chore: finalize remaining project artifacts
This commit is contained in:
@@ -1,5 +1,315 @@
|
||||
# 03-推进台账
|
||||
|
||||
## 2026-07-05 18:57 EDT - Pause 按钮 LinuxCNC AXIS 严格对标修复轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
根据用户反馈“Pause 仍然不好用”,以 `/home/mes123456/cnc_wams/linuxcnc` 源程序中的 `xyzbc-trt`/AXIS 行为为对标基线,严格修复 Web AXIS 工具栏 Pause 按钮。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 读取 LinuxCNC 源码:
|
||||
- `/home/mes123456/cnc_wams/linuxcnc/share/axis/tcl/axis.tcl`
|
||||
- `/home/mes123456/cnc_wams/linuxcnc/src/emc/usr_intf/axis/scripts/axis.py`
|
||||
- 确认 LinuxCNC AXIS 行为:
|
||||
- 菜单 `_Pause` 调用 `task_pause`,菜单 `Resume` 调用 `task_resume`。
|
||||
- 工具栏 `.toolbar.program_pause` 不是独立 pause-only,而是调用 `task_pauseresume`。
|
||||
- `task_pauseresume` 在 `s.paused` 时发送 `AUTO_RESUME`,否则在 interpreter 非 idle 时发送 `AUTO_PAUSE`。
|
||||
- 修改 Web AXIS UI:
|
||||
- 工具栏 `tbtn_pause` 恢复为单一 `pause-resume` 动作,等价 LinuxCNC `task_pauseresume`。
|
||||
- 移除独立工具栏 Resume 按钮对主路径的依赖;菜单仍保留独立 Pause/Resume。
|
||||
- 更新按钮来源矩阵,记录 `axis.py:2433-2443 / axis.tcl:543-549`。
|
||||
- 修改 Web 状态机:
|
||||
- 新增 `PAUSE_RESUME`,根据当前 paused/interpState 在 `PAUSE` 与 `RESUME` 间切换。
|
||||
- `PAUSE_RESUME` 发出的 pause 标记 `source="pauseresume"`,与菜单 Pause 分支区分。
|
||||
- `linuxcnc-task-policy.js` 中普通菜单 Pause 收紧为 AUTO 且 interpreter reading/waiting;工具栏 `pauseresume` 对标 AXIS,允许 AUTO/MDI 且 interpreter 非 idle。
|
||||
- 保留上轮修复的 task/HAL 异步竞态防护:RUN 准备阶段可立即暂停,停止 loop 时废弃旧 tick,session 初始化不覆盖 paused。
|
||||
- 更新 Node/browser smoke:
|
||||
- Node 增加 `pause-resume` 来源矩阵和 reducer 级暂停/继续切换断言。
|
||||
- Browser 增加工具栏 `task_pauseresume` 真实点击断言:暂停、继续、再暂停、Step 后继续,并保留 Run 后立即 Pause 的异步保持断言。
|
||||
|
||||
### 验证情况
|
||||
|
||||
```text
|
||||
node --check store.js/linuxcnc-task-policy.js/axis-shell.js/verify_xyzbc_trt_web_app.mjs = ok
|
||||
xyzbc_trt_web_app_smoke=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
gmoccapy_static_build=ok
|
||||
构建后 xyzbc_trt_browser_smoke=ok
|
||||
|
||||
native.status=ok
|
||||
web.status=ready-for-wasm-runtime
|
||||
compare.status=pass
|
||||
compare.summary.checkCount=60
|
||||
compare.summary.passCount=60
|
||||
compare.summary.failCount=0
|
||||
compare.summary.blockers=[]
|
||||
compare.requiredImprovements=[]
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
Pause 已按 LinuxCNC AXIS 源码恢复为工具栏单按钮 `task_pauseresume` 语义:运行中点击暂停,暂停中点击继续;菜单 Pause/Resume 仍保持独立命令。当前 native/Web/compare 复验通过,仍为 `60/60 pass`。
|
||||
|
||||
## 2026-07-05 18:18 EDT - 按 working 完成全部任务复验轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
按用户要求“按 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working` 完成全部任务”,复核当前 `working` 任务矩阵、执行 P-002 全量复验,并确认 T-001 到 T-077 是否仍保持完成状态。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 读取 `working/README.md`、`04-任务矩阵.md`、`11-LinuxCNC源码与真实执行严格对标任务.md`、`12-20260704-真实执行复验与缺失功能工作计划.md`,确认当前任务矩阵 T-001 到 T-077 均标记为完成。
|
||||
- 使用 `rg`/Node 检查当前 evidence 摘要和文档中的 fail/blocker/required improvement 线索,确认最新硬检查应以 `working/evidence/compare-xyzbc-trt-evidence.json` 为准。
|
||||
- 重新执行 Web evidence、native LinuxCNC 真实执行采集、native/Web compare、Node smoke、browser smoke 和 build。
|
||||
- 未发现需要修改源码的失败点;本轮仅刷新 evidence 并补充 `working` 复验记录。
|
||||
|
||||
### 验证情况
|
||||
|
||||
```text
|
||||
native.status=ok
|
||||
native.collectedAt=2026-07-05T18:17:15-0400
|
||||
native.executionMode=auto-run
|
||||
native.coverage=35/35
|
||||
|
||||
web.status=ready-for-wasm-runtime
|
||||
web.collectedAt=2026-07-05T22:17:16.154Z
|
||||
web.coverage=49/49
|
||||
web.blockers=[]
|
||||
|
||||
compare.status=pass
|
||||
compare.comparedAt=2026-07-05T22:17:25.931Z
|
||||
compare.summary.checkCount=60
|
||||
compare.summary.passCount=60
|
||||
compare.summary.failCount=0
|
||||
compare.summary.blockers=[]
|
||||
compare.requiredImprovements=[]
|
||||
|
||||
xyzbc_trt_web_app_smoke=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
gmoccapy_static_build=ok
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
当前 `working` 中 T-001 到 T-077 保持完成状态。按 P-002 重新生成并对比 native/Web evidence 后,compare 仍为 `60/60 pass`,没有新增 fail、blocker 或 required improvement;除实体硬件接入外,Web 仿真项目仍保持与 LinuxCNC `xyzbc-trt` 源码和真实执行双基线对标。
|
||||
|
||||
## 2026-07-05 18:08 EDT - 用户要求完全对标复验与文档修订轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
按用户要求,确认 Web 仿真系统 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan` 除硬件相关外,在仿真所有方面完全对标 LinuxCNC 源程序中的 `5axis/table-rotary-tilting/xyzbc-trt` 配置,并完善 `working` 文档后按文档执行复验。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 确认用户所述“linuxcnc源程序”的本工作区实际路径为 `/home/mes123456/cnc_wams/linuxcnc`。
|
||||
- 定位 native 权威配置和源码范围:
|
||||
- `configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini`
|
||||
- `xyzbc-trt.xml`、`switchkins_postgui.hal`、`xyzbc-trt_cmds.hal`
|
||||
- `remap_subs/*.ngc`、`demos/xyzbc_switchkins.ngc`、`demos/boat-xyzbc.ngc`
|
||||
- `xyzbc-trt.tbl`、`xyzbc.var`
|
||||
- `src/emc/kinematics/xyzbc-trt-kins.c`、`src/emc/kinematics/trtfuncs.c`
|
||||
- `src/hal/user_comps/vismach/xyzbc-trt-gui.py`
|
||||
- `rtlib/xyzbc-trt-kins.so`、`bin/axis`、`bin/xyzbc-trt-gui`、`scripts/rip-environment`
|
||||
- 重新执行 Web evidence、native LinuxCNC 真实执行采集、native/Web compare、Node smoke、browser smoke 和 build。
|
||||
- 更新 `working/README.md`、`01-项目功能内容.md`、`02-项目程序开发详细步骤.md`、`04-任务矩阵.md`、`05-验收证据.md`,明确硬件排除边界、最新复验结果和后续强制复验规则。
|
||||
|
||||
### 验证情况
|
||||
|
||||
```text
|
||||
native.status=ok
|
||||
native.collectedAt=2026-07-05T18:07:01-0400
|
||||
native.coverage=35/35
|
||||
native.executionMode=auto-run
|
||||
|
||||
web.status=ready-for-wasm-runtime
|
||||
web.collectedAt=2026-07-05T22:06:45.346Z
|
||||
web.coverage=49/49
|
||||
web.blockers=[]
|
||||
|
||||
compare.status=pass
|
||||
compare.comparedAt=2026-07-05T22:07:13.768Z
|
||||
compare.summary.checkCount=60
|
||||
compare.summary.passCount=60
|
||||
compare.summary.failCount=0
|
||||
compare.summary.blockers=[]
|
||||
compare.requiredImprovements=[]
|
||||
|
||||
gmoccapy_static_build=ok
|
||||
xyzbc_trt_web_app_smoke=ok
|
||||
xyzbc_trt_browser_smoke=ok
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
截至 2026-07-05 18:08 EDT,Web 仿真项目在非硬件仿真范围内继续保持与 LinuxCNC `xyzbc-trt` 源码和真实执行双基线完全对标;本轮没有发现新增缺失功能、fail、blocker 或 required improvement。
|
||||
|
||||
## 2026-07-04 18:22 EDT - P-002 强制复验收口轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
根据 `working/12-20260704-真实执行复验与缺失功能工作计划.md` 的 P-002 规则,对当前工作区重新执行 native/Web/compare/smoke 复验,确认 `working` 中任务是否仍保持完成状态。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 重新执行 Web evidence:
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web`
|
||||
- 输出 `working/evidence/web-xyzbc-trt-evidence.json`。
|
||||
- 重新执行 native LinuxCNC 采集:
|
||||
- `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment python3 /home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py --run --timeout 90`
|
||||
- 输出 `working/evidence/native-xyzbc-trt-evidence.json`。
|
||||
- 重新执行 native/Web compare:
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare`
|
||||
- 输出 `working/evidence/compare-xyzbc-trt-evidence.json`。
|
||||
- 重新执行 Node smoke 和 browser smoke。
|
||||
- 更新 `working/README.md` 与 `working/05-验收证据.md`,追加本轮复验结果。
|
||||
|
||||
### 验证情况
|
||||
|
||||
```text
|
||||
compare.status=pass
|
||||
compare.summary.checkCount=60
|
||||
compare.summary.passCount=60
|
||||
compare.summary.failCount=0
|
||||
compare.summary.blockers=[]
|
||||
compare.requiredImprovements=[]
|
||||
smoke:node=ok
|
||||
smoke:browser=ok
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
当前 `working` 任务保持收口状态:T-001 到 T-076 均为完成,P-002 变更后强制复验通过。本轮没有发现新增缺失功能,也没有新增 fail/blocker 处置项。
|
||||
|
||||
## 2026-07-04 18:12 EDT - 真实执行复验与缺失功能工作计划轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
根据用户要求,重新通过真实执行 native LinuxCNC `xyzbc-trt` 与 Web 仿真项目,分析仿真项目相对 LinuxCNC 源程序是否仍存在缺失功能,并把工作计划写入 `working` 任务文档。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 重新执行 native 采集:
|
||||
- `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment python3 .../tools/collect-native-xyzbc-trt-evidence.py --run --timeout 90`
|
||||
- 输出 `working/evidence/native-xyzbc-trt-evidence.json`。
|
||||
- 重新执行 Web 采集:
|
||||
- `npm --prefix .../app run evidence:web`
|
||||
- 输出 `working/evidence/web-xyzbc-trt-evidence.json`。
|
||||
- 执行 Web Node smoke:
|
||||
- 输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
- 执行 native/Web compare:
|
||||
- 输出 `compare_xyzbc_trt_status=pass`。
|
||||
- 执行浏览器 smoke:
|
||||
- 输出 `xyzbc_trt_browser_smoke=ok`。
|
||||
- 新增 `working/12-20260704-真实执行复验与缺失功能工作计划.md`。
|
||||
- 更新 `working/README.md`、`04-任务矩阵.md`、`05-验收证据.md`,新增 T-076 和本轮证据摘要。
|
||||
|
||||
### 验证情况
|
||||
|
||||
```text
|
||||
native.status=ok
|
||||
native.executionMode=auto-run
|
||||
native.coverage=35/35
|
||||
web.status=ready-for-wasm-runtime
|
||||
web.coverage=49/49
|
||||
compare.status=pass
|
||||
compare.checkCount=60
|
||||
compare.passCount=60
|
||||
compare.failCount=0
|
||||
compare.blockers=[]
|
||||
smoke:node=ok
|
||||
smoke:browser=ok
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
按 2026-07-04 18:12 EDT 重新生成的 native/Web/compare evidence,本轮未发现仿真项目相对 LinuxCNC `xyzbc-trt` 的新增缺失功能。后续工作计划转为固定当前 `60/60 pass` 证据、变更后强制复验,以及 fail/blocker 出现时按 compare 的 `requiredImprovements` 追踪处理。
|
||||
|
||||
## 2026-07-04 17:57 EDT - T-051 到 T-075 源码/运行双基线实现与复验轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
完成 `working` 中新增的 LinuxCNC 源码与真实执行严格对标任务 T-051 到 T-075,把 native/Web/compare evidence 从原有路径与 G 代码过程对比扩展为源码 manifest、启动环境、完整 INI、HAL 图谱、运动学/remap/PyVCP/AXIS/Vismach、真实运行采样、WASM artifact 绑定、错误路径、性能预算和严格验收冻结的双基线检查。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 修改 `tools/collect-native-xyzbc-trt-evidence.py`:
|
||||
- 新增 `sourceManifest`,直接从 `/home/mes123456/cnc_wams/linuxcnc` 采集 INI/HAL/XML/TBL/VAR/NGC/C/Python/rtlib/desktop 文件绝对路径、mtime、bytes、sha256、角色。
|
||||
- 新增 `runtimeLaunch`、`iniFull`、`halGraph`、`kinematicsFormula`、`remapSemantics`、`pyvcpPostgui`、`axisUiSource`、`vismachStrict`、`servoTaskTiming`、`runtimeExecutionObserved`、`runtimeEvidenceClassification`、`reverseSourceIndex`、`performanceBudget`、`strictAcceptance` 等字段。
|
||||
- 修正 native INI 全字段解析,保留重复 key,确保与 Web 逐行解析一致。
|
||||
- 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`:
|
||||
- 新增 Web staged 文件 sha256 manifest、完整 INI 字段、HAL/task 模型、WASM artifact sha256/source binding。
|
||||
- 新增与 native 同名的严格验收字段,覆盖 Web staging hash parity、UI 行为、Vismach、错误路径、性能预算和验收冻结。
|
||||
- 修改 `tools/compare-xyzbc-trt-evidence.mjs`:
|
||||
- 新增 `strictComparison`,覆盖 T-051 到 T-075。
|
||||
- 在 compare JSON 顶层输出 `sourceManifestComparison`、`runtimeLaunchComparison`、`halGraphComparison`、`iniFullComparison`、`kinematicsFormulaComparison`、`uiBehaviorComparison`、`visualComparison`。
|
||||
- 将总检查数扩展到 60 项。
|
||||
- 更新 `working/04-任务矩阵.md`,T-051 到 T-075 全部标记为完成。
|
||||
- 更新 `working/11-LinuxCNC源码与真实执行严格对标任务.md`,记录 T-051 到 T-075 已完成和最新 compare 摘要。
|
||||
|
||||
### 验证情况
|
||||
|
||||
- `python3 -m py_compile web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py` 通过。
|
||||
- `node --check web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-web-xyzbc-trt-evidence.mjs` 通过。
|
||||
- `node --check web-rtcp-5axis-xyzbc-trt-sim-plan/tools/compare-xyzbc-trt-evidence.mjs` 通过。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web` 通过。
|
||||
- `/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment python3 web-rtcp-5axis-xyzbc-trt-sim-plan/tools/collect-native-xyzbc-trt-evidence.py --run --timeout 80` 通过。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:compare` 通过,输出 `compare_xyzbc_trt_status=pass`。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run build` 通过,输出 `gmoccapy_static_build=ok`。
|
||||
- `npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`。
|
||||
|
||||
### 最新 compare 摘要
|
||||
|
||||
```text
|
||||
status = pass
|
||||
summary.checkCount = 60
|
||||
summary.passCount = 60
|
||||
summary.failCount = 0
|
||||
summary.blockers = []
|
||||
summary.nativeStatus = ok
|
||||
summary.webStatus = ready-for-wasm-runtime
|
||||
```
|
||||
|
||||
### 结论
|
||||
|
||||
T-001 到 T-075 当前全部完成。T-051 到 T-075 已由源码/运行双基线 evidence 和 compare 硬检查覆盖,最新 `compare-xyzbc-trt-evidence.json` 为 60/60 pass 且无 blocker。
|
||||
|
||||
## 2026-07-04 17:42 EDT - LinuxCNC 源码与真实执行严格对标任务整理轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
根据用户要求“严格完整地对标 `/home/mes123456/cnc_wams/linuxcnc` 作为 LinuxCNC `xyzbc-trt` 源码与真实执行”,整理新一轮任务,明确后续验收不能只依赖历史 Markdown、旧 evidence 或静态推导,必须以 LinuxCNC 源树与真实运行采样作为 native 权威基线。
|
||||
|
||||
### 已做事项
|
||||
|
||||
- 复核 `working/README.md`、`04-任务矩阵.md` 和现有任务状态,确认 T-001 到 T-050 仍保持完成状态。
|
||||
- 定位 `/home/mes123456/cnc_wams/linuxcnc` 中的 `xyzbc-trt` 权威源:
|
||||
- `configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini`
|
||||
- `xyzbc-trt.xml`、`switchkins_postgui.hal`、`xyzbc-trt_cmds.hal`
|
||||
- `xyzbc-trt.tbl`、`xyzbc.var`
|
||||
- `demos/xyzbc_switchkins.ngc`、`demos/boat-xyzbc.ngc`
|
||||
- `remap_subs/428remap.ngc`、`429remap.ngc`、`430remap.ngc`、`xyzbc_switchkins_sub.ngc`、`centering.ngc`、`helix_bc.ngc`
|
||||
- `src/emc/kinematics/xyzbc-trt-kins.c`、`src/emc/kinematics/trtfuncs.c`
|
||||
- `src/hal/user_comps/vismach/xyzbc-trt-gui.py`
|
||||
- `rtlib/xyzbc-trt-kins.so`、`bin/axis`、`bin/xyzbc-trt-gui`、`scripts/rip-environment`
|
||||
- `linuxcnc-rtcp-5axis-shortcuts/table-rotary-tilting/xyzbc-trt.desktop`
|
||||
- 新增 `working/11-LinuxCNC源码与真实执行严格对标任务.md`,按源树权威清单、真实启动采集、INI/HAL 全量解析、运动学公式级验证、remap/switchkins 真实语义、AXIS/PyVCP/Vismach UI、真实执行采样、Web 复现与 compare 升级、截图视觉证据、回归门禁整理任务。
|
||||
- 更新 `working/04-任务矩阵.md`,新增 T-051 到 T-075,全部标记为“待实现”。
|
||||
- 更新 `working/README.md`,加入新文档索引和当前新增关注点。
|
||||
- 使用 `rg` 复查 README、任务矩阵和新文档,确认 T-051 到 T-075、新文档索引和“待实现”状态可检索。
|
||||
|
||||
### 新增任务摘要
|
||||
|
||||
- T-051 到 T-054:LinuxCNC 源树 manifest、真实启动入口、INI 全字段、HAL 图谱运行态。
|
||||
- T-055 到 T-059:运动学源码公式、M428/M429/M430 remap、PyVCP/POSTGUI、AXIS UI、Vismach 变换树。
|
||||
- T-060 到 T-067:servo/task 时间基准、真实解释器事件、Web staging hash、WASM artifact 绑定、task/HAL 全状态、限制联锁、tool/parameter、Ngcgui/示例程序。
|
||||
- T-068 到 T-075:native/Web 同状态截图、错误路径、compare JSON 双基线升级、禁止静态推导冒充真实运行、一键复验、源码行反向索引、性能误差预算、严格验收冻结。
|
||||
|
||||
### 结论
|
||||
|
||||
本轮只整理并落档新的严格完整对标任务,没有执行实现和复验。当前 `working` 的新状态是:T-001 到 T-050 已完成;T-051 到 T-075 为新一轮待实现任务。后续只有当 T-051 到 T-075 全部通过,并生成源码/运行双基线 evidence 与 compare 后,才能声明“严格完整对标 `/home/mes123456/cnc_wams/linuxcnc` 源码与真实执行”完成。
|
||||
|
||||
## 2026-07-03 锥形刀尖方向修复轮次
|
||||
|
||||
### 本轮目标
|
||||
|
||||
Reference in New Issue
Block a user