16 KiB
16 KiB
03-推进台账
2026-07-02 07:31 EDT - DOCX 设计任务书整合到 working
本轮目标
将 doc/xyzbc-trt-web-cnc-simulation-design-task-and-technical-plan.docx 的内容整合到 working 目录下,方便后续直接用 Markdown 工作文档继续开发和验收。
已做事项
- 读取 DOCX 包结构,确认正文包含 507 段文本,图片包含
xyzbc-trt-axis-window.png、xyzbc-trt-desktop.png、xyzbc-trt-web-architecture.png、xyzbc-trt-json-compare-flow.png、xyzbc-trt-logic-map.png。 - 从 DOCX 的
word/document.xml提取段落和表格,转换为working/09-设计任务书与技术方案整合.md。 - 在整合稿中保留 1-11 章:项目目标、原型运行证据、完全对标范围、Web 界面设计任务书、技术方案、开发任务分解、验收标准、风险控制、对标文件清单、程序逻辑全量分析、开机/急停/回零/执行状态联锁。
- 将 DOCX 图片引用改为
../doc/assets/...,使 working 文档可直接查看原有图像证据。 - 更新
working/README.md,把 09 文档加入索引。 - 更新
04-任务矩阵.md,新增T-040 DOCX 任务书整合到 working。
修改文件
web-rtcp-5axis-xyzbc-trt-sim-plan/working/09-设计任务书与技术方案整合.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/README.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/03-推进台账.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/04-任务矩阵.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/05-验收证据.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/06-决策记录.md
验证情况
working/09-设计任务书与技术方案整合.md已生成,共 364 行。rg检查到核心章节:项目目标、原型系统运行证据、完全对标范围、Web 界面设计任务书、技术方案、开发任务分解、验收标准、风险和控制措施、程序逻辑全量分析、开机、急停、回零与执行状态的联锁逻辑。rg检查到 5 张图片引用,均指向../doc/assets/。
下一步
- 后续开发需求优先引用
working/09-设计任务书与技术方案整合.md,不再需要反复打开 DOCX 才能检索任务书内容。 - 若 DOCX 后续继续更新,需要同步重新生成或手工补充 09 文档,并在本台账记录差异。
2026-07-02 03:10 EDT
本轮目标
对标 xyzbc-trt-runtime-files.md,确认 wasm-port 是否满足,并创建 Web 方式的 xyzbc-trt 数控系统仿真界面与工作文档。
已做事项
- 读取
web-rtcp-5axis-xyzbc-trt-sim-plan/doc/xyzbc-trt-runtime-files.md。 - 读取
wasm-port/AGENTS.md、wasm-port/SKILL.md、wasm-port/README.md。 - 检查参考 app:
web-rtcp-5axis-sim-plan/app。 - 检查
wasm-port对xyzbc-trt的覆盖:SDK、vendored config、kinematics probe、remap execute harness、文档覆盖。 - 复制参考 app 和 tests 到目标目录。
- 修改目标 app 默认 profile 为
xyzbc-trt。 - 修改 OPFS/session/tool-db 命名空间为
web-rtcp-5axis-xyzbc-trt-sim-plan。 - 为
xyzbc-trtprofile 增加machineFileStaging.defaultProgramFilename = xyzbc_switchkins.ngc。 - 新增
tests/node/verify_xyzbc_trt_web_app.mjs。 - 创建
README.md和working/六类工作文档。 - 发现
xyzbc.var未进入wasm-port/vendor/manifest;本轮记录为参数文件基线导入缺口。
修改文件
web-rtcp-5axis-xyzbc-trt-sim-plan/README.md
web-rtcp-5axis-xyzbc-trt-sim-plan/app/index.html
web-rtcp-5axis-xyzbc-trt-sim-plan/app/package.json
web-rtcp-5axis-xyzbc-trt-sim-plan/app/package-lock.json
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/main.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/state/store.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/profiles/index.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/profiles/xyzbc-trt.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/runtime/five-axis-session.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/runtime/linuxcnc-machine-file-staging.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/runtime/linuxcnc-kinematics-runtime.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/runtime/linuxcnc-kinematics-worker-client.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/runtime/tool-db-simulation.js
web-rtcp-5axis-xyzbc-trt-sim-plan/app/src/ui/gmoccapy-shell.js
web-rtcp-5axis-xyzbc-trt-sim-plan/tests/node/verify_xyzbc_trt_web_app.mjs
web-rtcp-5axis-xyzbc-trt-sim-plan/working/README.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/01-项目功能内容.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/02-项目程序开发详细步骤.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/03-推进台账.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/04-任务矩阵.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/05-验收证据.md
web-rtcp-5axis-xyzbc-trt-sim-plan/working/06-决策记录.md
验证情况
- 已通过:
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run smoke:node,输出xyzbc_trt_web_app_smoke=ok。 - 已通过:
git diff --check -- web-rtcp-5axis-xyzbc-trt-sim-plan。 - 已发现:当前工作区缺少
wasm-port/build/wasm,完整 WASM/browser 验收需要先构建 artifact。
下一步
- 运行目标 Node smoke。
- 如需完整 Web 执行,先构建
wasm-port/build/wasm。 - 根据 browser smoke 结果补齐目标项目专用浏览器断言。
2026-07-02 native/Web 对比验证轮次
本轮目标
执行真实 xyzbc-trt 和 Web 仿真采集,分别写入 JSON,并通过比较 JSON 找出需要完善的差异。
已做事项
- 确认 native
xyzbc-trt进程正在运行:linuxcncsvr、milltask、halui、xyzbc-trt-gui、axis。 - 历史轮次曾使用
/home/mes123456/linuxcnc-master/scripts/rip-environment python3成功导入 LinuxCNC Python API 并读取stat();当前 native 新基线已切换到/home/mes123456/cnc_wams/linuxcnc。 - 新增 native 采集脚本:
tools/collect-native-xyzbc-trt-evidence.py。 - 新增 Web 采集脚本:
tools/collect-web-xyzbc-trt-evidence.mjs。 - 新增 JSON 对比脚本:
tools/compare-xyzbc-trt-evidence.mjs。 - 将
xyzbc.var从真实运行树导入wasm-port/vendor/linuxcnc/.../xyzbc.var,并加入wasm-port/tools/source-manifest.txt。 - 更新目标 smoke,使参数文件 staging 成为必须通过项。
- 在
package.json增加evidence:web和evidence:compare。
验证情况
- 已通过 native 真实执行采集:
native-xyzbc-trt-evidence.json,commandResult.status=completed,事件数1462。 - 已通过 Web 采集:
web-xyzbc-trt-evidence.json,profile/INI/OPFS/PyVCP/remap/tool/parameter/default program 均覆盖。 - 已生成比较报告:
compare-xyzbc-trt-evidence.json,12 项检查中 11 项通过。 - 当前唯一失败项:缺少
wasm-port/build/wasm下的 kinematics/core/tp/task-hal.js/.wasmartifact。 - 当前环境此前缺少
emcc;后续已安装emcc 6.0.2,下一步应直接构建 WASM artifact。
下一步
- 运行
source /home/mes123456/emsdk/emsdk_env.sh。 - 运行
wasm-port/tools/build_kinematics_wasm.sh、build_wasm_core.sh、build_tp_wasm.sh、build_task_hal_wasm.sh。 - 重跑
npm --prefix web-rtcp-5axis-xyzbc-trt-sim-plan/app run evidence:web和evidence:compare,目标是比较报告 artifact 项通过。 - 再补目标浏览器 smoke,确认 worker runtime 和 canvas 非空。
2026-07-02 刀具预览/执行路径 JSON 对比需求补充
本轮目标
把“刀具预览路径”和“刀具执行路径”的采集过程纳入 native/Web evidence JSON,并要求 compare JSON 使用一致曲线采样周期进行比对。
已做事项
- 在
01-项目功能内容.md增加pathSampling、previewPath、executionPath、pathComparison的 JSON 字段要求。 - 明确 native 和 Web 对比采样周期统一为
samplePeriodMs = 20。 - 明确每个路径样本必须包含程序行号、运动类型、switchkins/kinematics 状态、刀具信息、XYZBC joint、TCP、toolAxis、feed、spindle。
- 在
02-项目程序开发详细步骤.md增加 native/Web 采集脚本和 compare 脚本的后续实现步骤。 - 在任务矩阵中增加预览路径采集、执行路径采集、统一采样周期、路径误差统计等任务。
当前状态
- 本轮只补充工作文档和验收要求。
- 现有
working/evidence/*.json仍是上一轮真实采集结果,尚未伪造或手工改写。 - 后续需要修改采集脚本,让真实 native/Web 运行重新生成包含刀具路径的 JSON。
下一步
- 在
collect-native-xyzbc-trt-evidence.py中增加 LinuxCNC 预览路径与执行反馈路径采集。 - 在
collect-web-xyzbc-trt-evidence.mjs中增加 Web 预览 planner 与 WASM task/HAL 执行路径采集。 - 在
compare-xyzbc-trt-evidence.mjs中增加 20ms 重采样和路径误差统计。 - 重新生成 native/Web/compare 三份 JSON,确认
pathComparison.samplePeriodMs = 20且两侧样本可逐点对齐。
2026-07-02 全量对标 working 文档完善
本轮目标
根据 doc/xyzbc-trt-runtime-files.md,让 working 文档明确要求 Web 数控系统仿真界面完全对标 LinuxCNC xyzbc-trt 真实运行配置。
已做事项
- 重新读取
doc/xyzbc-trt-runtime-files.md,确认文档共 702 行,覆盖进程、启动入口、INI、AXIS、PyVCP、POSTGUI HAL、basic_sim、Vismach、switchkins、G-code、tool table、kinematics、加载顺序和重要文件清单。 - 新增
working/07-全量对标追踪矩阵.md,把每个 LinuxCNC 功能点映射到 Web 对标目标、evidence 字段和当前缺口。 - 更新
01-项目功能内容.md,明确完全对标范围,并补充 AXIS 等效、POSTGUI HAL 等效、basic_sim、Vismach pin、Ngcgui、演示程序全集、速度/限制、kinematics HAL pins 等功能项。 - 更新
02-项目程序开发详细步骤.md,增加全量对标 JSON 字段和后续实现步骤。 - 更新
04-任务矩阵.md,新增 T-025 到 T-035。 - 更新
05-验收证据.md,新增全量对标 JSON 验收要求。 - 同步
emcc状态:当前已安装emcc 6.0.2,剩余前置是构建 WASM artifact。
当前状态
- 文档层面已把
xyzbc-trt-runtime-files.md的完整运行语义转成 Web 对标清单。 - 代码层面仍需继续补齐全量 evidence JSON、UI 等效行为、Vismach pin 验收和 WASM artifact 验收。
下一步
- 构建
wasm-port/build/wasmartifact。 - 修改 native/Web evidence 采集脚本,补齐
startupSequence、halNets、kinematicsPins、axisJointLimits、uiEquivalence、vismachEquivalent等字段。 - 修改 compare 脚本,把
07-全量对标追踪矩阵.md中的检查项转为自动化 check。 - 根据新增任务矩阵补齐 Web UI 和 3D 模型行为。
2026-07-02 切换 native 对标基线到 /home/mes123456/cnc_wams/linuxcnc
本轮目标
根据用户要求,以编译成功并能够执行 xyzbc-trt 的 /home/mes123456/cnc_wams/linuxcnc 为真实 LinuxCNC 对标基线,设计 Web 数控仿真界面和逻辑。
已做事项
- 检查
/home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini,确认配置文件存在。 - 检查
/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment、bin/axis、bin/xyzbc-trt-gui、rtlib/xyzbc-trt-kins.so,当前自动检查未发现这些 RIP/构建产物。 - 更新
01-项目功能内容.md,声明后续 native evidence 采集和 Web 对标基线统一使用/home/mes123456/cnc_wams/linuxcnc。 - 更新
02-项目程序开发详细步骤.md,将 native 采集命令切换为/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment。 - 更新
04-任务矩阵.md,新增 T-036 到 T-038,覆盖 native 基线切换、新基线 JSON 重采集、Web 界面按新 native 运行结果复核。 - 更新
05-验收证据.md,新增 native 基线切换验收,记录当前文件检查结果。 - 更新
07-全量对标追踪矩阵.md和06-决策记录.md,明确/home/mes123456/linuxcnc-master只作为历史运行参考。
当前状态
- 文档层面已切换对标基线。
- 代码和 evidence 层面还未重新采集;现有
working/evidence/*.json仍来自历史/home/mes123456/linuxcnc-master运行树。
下一步
- 确认
/home/mes123456/cnc_wams/linuxcnc的 RIP 构建产物实际输出位置。 - 用该路径执行
xyzbc-trt.ini,确认axis、xyzbc-trt-gui、xyzbc-trt-kins.so可运行。 - 修改/运行 native evidence 采集脚本,让
sourceRoot=/home/mes123456/cnc_wams/linuxcnc。 - 依据新 native JSON 复核 Web UI、switchkins、Vismach 等效模型、刀具路径和 compare 规则。
2026-07-02 编译 /home/mes123456/cnc_wams/linuxcnc
本轮目标
按 run-in-place 方式编译 /home/mes123456/cnc_wams/linuxcnc,使其能够作为 xyzbc-trt native 真实执行基线。
已做事项
- 读取
docs/INSTALL.adoc,确认 RIP 构建流程为cd src、./autogen.sh、./configure --with-realtime=uspace、make、sudo make setuid。 - 执行
./autogen.sh,成功生成 configure/config.h.in。 - 执行
./configure --with-realtime=uspace --disable-build-documentation,配置成功,并生成scripts/linuxcnc、scripts/rip-environment、scripts/halrun等 RIP 脚本。 - 首次执行
make -j"$(nproc)"失败,原因是 shell 环境变量DEBUG=release被 LinuxCNC Makefile 当作编译参数,导致gcc/c++报release: linker input file not found。 - 使用
env -u DEBUG make -j"$(nproc)"重新编译,成功完成。 - 执行
sudo -n make setuid,成功设置bin/rtapi_app和bin/linuxcnc_module_helper的 root/setuid 权限。
验证情况
- 已生成
scripts/rip-environment、scripts/linuxcnc。 - 已生成
bin/axis、bin/xyzbc-trt-gui、bin/milltask、bin/linuxcncsvr、bin/halui。 - 已生成
rtlib/xyzbc-trt-kins.so、rtlib/tpmod.so。 source scripts/rip-environment后,command -v linuxcnc、axis、halcmd均指向/home/mes123456/cnc_wams/linuxcnc。python3 -c "import linuxcnc"成功,模块路径为/home/mes123456/cnc_wams/linuxcnc/lib/python/linuxcnc.so。git status --short无输出,说明没有 Git 跟踪文件改动;编译产物均在忽略/生成路径内。
下一步
- 使用
/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment重新采集 nativexyzbc-trtevidence。 - 将
native-xyzbc-trt-evidence.json.sourceRoot更新为/home/mes123456/cnc_wams/linuxcnc。 - 用新 native JSON 重跑 Web evidence 和 compare。
2026-07-02 创建并执行 xyzbc-trt 快捷方式
本轮目标
在 /home/mes123456/cnc_wams/linuxcnc 中创建执行 xyzbc-trt 的桌面快捷方式,并实际启动该配置。
已做事项
- 检查显示环境,当前
DISPLAY=:1、XDG_SESSION_TYPE=x11。 - 参考历史
/home/mes123456/linuxcnc-master/linuxcnc-rtcp-5axis-shortcuts/table-rotary-tilting/xyzbc-trt.desktop,创建新快捷方式:
/home/mes123456/cnc_wams/linuxcnc/linuxcnc-rtcp-5axis-shortcuts/table-rotary-tilting/xyzbc-trt.desktop
- 快捷方式
Exec指向:
/home/mes123456/cnc_wams/linuxcnc/scripts/rip-environment linuxcnc /home/mes123456/cnc_wams/linuxcnc/configs/sim/axis/vismach/5axis/table-rotary-tilting/xyzbc-trt.ini
- 启动前发现历史
/home/mes123456/linuxcnc-master的xyzbc-trt仍在运行。 - 尝试
/home/mes123456/linuxcnc-master/scripts/linuxcnc -k后出现 pickconfig 窗口,未关闭旧实例;随后终止旧 LinuxCNC 相关进程。 - 使用
setsid从新路径后台启动xyzbc-trt。
验证情况
- 新进程均来自
/home/mes123456/cnc_wams/linuxcnc:scripts/linuxcnc、linuxcncsvr、rtapi_app、milltask、halui、hal_manualtoolchange、xyzbc-trt-gui、axis。 halcmd show pin motion.switchkins-type可读,值为0。- LinuxCNC Python API 可读取状态:
file=./demos/xyzbc_switchkins.ngc、axis_mask=55、position=[0,0,0,0,0]。 desktop-file-validate无输出。
下一步
- 用当前运行的新 native 实例重采集
native-xyzbc-trt-evidence.json。 - 将现有历史
/home/mes123456/linuxcnc-masterevidence 替换为/home/mes123456/cnc_wams/linuxcncevidence。 - 基于新 evidence 重跑 Web compare。