Files
linuxcncWebWASM/docs/trt-parametric/05-验收证据.md

6.8 KiB
Raw Blame History

验收证据

只登记实际执行结果。job_id/report_id 由真实运行产生;没有的字段记“不适用”,不编造 PDF 或截图。

E01 来源审计 / 2026-09-17

  • 命令:git status --short --branch、git -C linuxcnc status --short、rg -n 'offset|rot_point' wasm-core/src/sim_kinematics.c。
  • 基线:主仓库 HEAD 9232f290279459765333b2ac274aa762ec06d6c0。
  • 发现:web/workspace/sim-case-loader.mjs 中 CASE_KINEMATICS 固定几何值;web/react/src/xyzac-machine-model.ts 未投影 rot-point。
  • 方程:wasm-core/src/sim_kinematics.c 的 XYZAC 使用 dy/dz,XYZBC 使用 dx/dz,二者均使用三个 rot-point。
  • 结果:审计完成;这不是功能验收。
  • job_id / report_id / PDF / 截图:不适用。

E02 参数链路与结构投影

  • 命令:node web/react/src/test_trt_parametric.mjs。
  • report_id:trt-parametric-worker-v1;产物:coverage/trt-parametric/worker.report.json。
  • 结果:XYZAC/XYZBC 的参数读写、无效数值/缺项/重复项拒绝、CRLF/注释保留、INI 引用、Worker 忽略外部 offsets 覆盖通过。
  • 同程序基线与新参数在 tick 11 出现首个关节差异;编程终点相同;新参数的固定 tick 重放逐项一致。
  • 每个配置检查零角度、单倾转、单 C 旋转、复合旋转共四种姿态,WASM 逆解驱动的模型编程点与刀尖误差小于 1e-7 场景单位。
  • 运行后的重载清空预览、重置回零状态;机床开启时重载被拒绝。
  • ctest --test-dir build-native -R 'sim_kinematics' --output-on-failure:已有 native 二进制 5/5 通过,不等同于新建官方 native trace 对照。
  • node web/react/src/test_xyzac_threejs.mjs:通过。
  • 参数修改后恢复旧 checkpoint、compact power-off checkpoint、trace 均拒绝,当前几何及未回零状态不变。
  • WASM 文件 SHA-256:ab1b90a6a2474b954849ee75d1163e11ee37c4653dd074bba3483d52d9dec2a9。本轮使用已有核心,不修改 C ABI。
  • worker.report.json SHA-256:e5cba3c7fe4aa04408cc1f7a574d4044090bbdc4bf85fbcb8f0cd3cd48b27aa0。

E03 浏览器端到端

命令:

PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.mjs node scripts/test_trt_parametric_browser.mjs
  • 页面:http://127.0.0.1:5174/;report_id:trt-parametric-browser-v1。
  • 报告:browser.report.json。SHA-256:957c93d24202823880630937e74b8c3f23e5786bc9d1d7a7219dff98f9d573aa。
  • 两机型均验证应用、保持程序路径、导出原生 INI、重新读取、重新导入应用、开机禁用/关机解锁。
  • 导出的 INI 保留 LIB:basic_sim.tcl,不泄露 Web _cmds.hal 替换;导出分别为 4867 和 4875 字符。
  • 1440×1000 与 390×844 布局无页面横向溢出;参数控件均位于视口内;canvas 分别为 472×360 和 368×378,颜色数 1691/1804,旋转前后像素 hash 改变;pageerror 为零。
  • 最终截图:桌面、移动端、XYZAC、XYZBC。均已人工查看。
  • failure.png 保留中间测试失败截图;最终结论以 report 和 layout 截图为准。
  • job_id / PDF:不适用。浏览器保存对话框本身需要用户选择磁盘位置;自动测试验证下载回退及其文件内容。

E04 相关回归与边界

命令 结果
npm --prefix web/react run build TypeScript 和生产构建通过;现有大 chunk 警告仍在
node web/workspace/test_sim_case_loader.mjs 通过
node web/worker/test_xyzac_trt_case.mjs 通过,TASK_READY、五关节、M428/M429/M430 和直接切换
node web/worker/test_boat_trt_programs.mjs XYZAC/XYZBC 均完成程序
node web/worker/test_xyzac_program_replace.mjs 通过,失败解析不保留旧预览
PLAYWRIGHT_MODULE=... node scripts/test_xyzbc_panel_browser.mjs 通过,双 canvas、轴序、转台路径附着、无 HUD
git diff --check -- README.md web scripts docs/trt-parametric 通过
node web/worker/test_xyzac_recovery.mjs 退出 0,但其内部输出恢复前后 HAL tick / TP progress / queue 状态不同,endpoint_at_checkpoint_equal=false;登记 TRT-R01,不能声称恢复完全等价

本次未重跑全仓历史发布 gate、全部浏览器矩阵或官方 native 对照。专项测试验证浏览器仿真,不是实际机床控制验收。

E05 机床预览路径颜色

  • 材质检查:XyzacMachineView.tsx 普通预览路径使用 0xffff00(黄色)。
  • 命令:node web/react/src/test_xyzac_threejs.mjs、npm --prefix web/react run typecheck。
  • 结果:模型回归及 TypeScript 检查通过。

E06 M428 Jog RTCP 修复

  • 修复前:node web/react/src/test_trt_rtcp_jog.mjs 在 A 连续 Jog 松开时报 a-released: RTCP motion mode must remain active,实际模式 0、期望 1。
  • 修复后同命令通过;WASM 测试报告,report_id=trt-rtcp-jog-v1。
  • 两机型各 77 个检查点,使用非零 INI 旋转中心。覆盖 A/B/C 连续、负方向增量、重复 Jog、停止、非法值/越界拒绝、PROGRAM_ABORT、关机保持及 M429 不补偿对照;另验证历史程序行 ID 与 Jog ID 复用不污染运动学模式。
  • 编程 TCP 的 XYZ 不变,机器 XYZ 关节随角度改变;模型上同一编程点与刀尖的最大距离:XYZAC 4.48e-16、XYZBC 4.45e-16 场景单位。停止前后关节无跳变,motion_trace 和完整面板快照都检查。
  • 浏览器命令:PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.mjs node scripts/test_trt_rtcp_jog_browser.mjs。
  • 页面 http://127.0.0.1:5174/,实际操作开机、回零、X/Y 离开旋转中心、选择 M428、连续按住/松开 A-C-A-C 与 B-C-B-C;两个机型均保持 XYZ 补偿,渲染刀尖与 Worker 关节一致,pageerror 为零。
  • 浏览器报告,report_id=trt-rtcp-jog-browser-v1;截图:XYZAC、XYZBC。
  • 回归通过:node web/react/src/test_trt_parametric.mjs、node web/worker/test_xyzac_trt_case.mjs、node web/worker/test_xyzac_program_replace.mjs、node web/worker/test_xyzac_runtime_followups.mjs、node web/worker/test_boat_trt_programs.mjs、npm --prefix web/react run build。构建保留既有大 chunk 提示。
  • runtime_followups 初次失败因未等待 HOME 完成便启动程序;现等待 WASM homed,并断言 PROGRAM_LOAD/RUN 成功后再验收。
  • job_id / PDF:不适用;使用原有 WASM,无核心 ABI 变更。本轮不声称修复 TRT-R01。