Files
linuxcncWebWASM/docs/glb-machine-manager/05-验收证据.md

7.8 KiB
Raw Blame History

验收证据

E01 / R01 / 文档与基线

  • 状态:verified。
  • 文档目录:docs/glb-machine-manager/。
  • 基线能力:现有整机 GLB 导入、严格 URDF、几何参数重载和 WASM 关节投影保留。
  • 实现和运行证据见 E02–E04。

E02 / R02 / 开发源浏览器闭环

  • 命令:PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.mjs node scripts/test_machine_manager_browser.mjs
  • report_id:GLB-MGR-E01
  • 报告:coverage/glb-machine-manager/browser.report.json
  • SHA-256:486108398c757421d59fd5311239675b82d6c688458975b7c613118920ceafbf
  • 状态:verified;浏览器错误 0。
  • 覆盖:8 部件导入和预览、原点显隐、数值/TransformControls 变换、组合 GLB 导出、AC/BC 应用、底座 userData、物理零点、非法层级拒绝、BC 五轴程序。
  • 截图:
    • coverage/glb-machine-manager/manager-ac-config.png,SHA-256 b2fc2e00497ddb1e72e3170ee83ed54c21c8da9099036d84eeb4d6d6eef8619b
    • coverage/glb-machine-manager/managed-bc-running.png,SHA-256 4b2d76cd505f1e31847d09650b052a0a9c393515cb7c71ad55ac649072634005

E03 / R02 / 生产构建浏览器闭环

  • 构建:npm --prefix web/react run build,通过;只有既有大 chunk 提示。
  • 命令:MACHINE_MANAGER_SOURCE_MODULES=0 ... node scripts/test_machine_manager_browser.mjs
  • report_id:GLB-MGR-E02
  • 报告:coverage/glb-machine-manager/browser-production.report.json
  • SHA-256:7ea2ba7c09a2480973e63aedb8da1b8b0d46914eb86519781d99b718c5d3fca6
  • 状态:verified;生产资产执行 AC/BC UI 应用和 BC WASM 程序运动,浏览器错误 0。

E04 / R02 / 回归与静态契约

  • node scripts/test_axis_control_inventory.mjs:verified,99 个文档化控件。
  • node web/react/src/test_dual_canvas_contract.mjs:verified。
  • node web/react/src/test_xyzac_threejs.mjs:verified。
  • npm --prefix web/react run typecheck:通过。
  • node scripts/test_glb_machine_motion.mjs:verified;报告 coverage/glb-machine-manager/regression-motion/motion.report.json,SHA-256 91c3fa8ed8037aac8e71b8c76d54c38db9dc011ae25f63553966860b624aa626。AC/BC 各 41 个同时五轴变化 tick、42 个样本,最大误差分别约 2.26e-16、2.48e-16。
  • git diff --check:通过。
  • scripts/validate_glb_machines.mjs 未重跑:本地缺少 gltf-validator 包;旧示例 GLB 未修改,历史 Khronos 校验报告仍为 verified。该依赖边界不影响新管理器的浏览器导入、导出和运行证据。

E05 / R03 / MILL700 PBR 预览照明

  • 状态:verified。
  • 命令:PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.mjs node scripts/test_machine_manager_mill700_browser.mjs
  • 模型:MILL700-U_1.glb,9,418,852 bytes,SHA-256 bf37130681cc6462412e52744519516e8ade2a3212dd69153c0b1b3e415bcf66。
  • report_id:GLB-MGR-E05;报告 SHA-256 09fd47f80dd2f741aa1d585ce5b1b40c2ff32e211b7b6e08b1b0da18327d798e。
  • 结构:132 节点、126 网格、深度 6、126 材质,其中 110 个 metalness >= 0.9。
  • 检查:已有内部层级完整保留;管理器使用 studio-pmrem、sRGB 输出、ACES、曝光 1.45 和多向补光;浏览器错误为 0。
  • 截图:coverage/glb-machine-manager/mill700/mill700-studio-lighting.png,SHA-256 8943b16fe774427306ccafb5dcbc9817bc87538edbf67bbd5807dd59bd700d8b。

E06 / R04 / Z-up 坐标

  • 状态:verified。
  • 检查:管理器预览 DOM 标记 data-machine-manager-coordinate-system=machine-z-up、data-machine-manager-camera-up=0,0,1、data-machine-manager-axis-map=X:x,Y:y,Z:z 和 data-machine-manager-model-transform=none-on-import;MILL700 截图中蓝色 Z 轴竖直,机床 XY 网格水平,导入模型信息未被改写。
  • AC/BC 管理器浏览器闭环、MILL700 浏览器闭环、TypeScript、生产构建和控件契约继续通过。

E07 / R05 / GLB 层级树管理

  • 状态:verified。
  • MILL700:132 节点、126 网格、最大深度 6,全部树节点存在;树默认根展开、子层可折叠。
  • 节点选择:MILL700-A-主轴-JT2 显示相对父节点原点 -3.969 / -204.276 / 405.633 mm。
  • 拖放:MILL700-A-门1-JT1 拖到 MILL700-A底座 后,草稿父路径等于目标稳定源路径;原始 GLB SHA-256 保持 bf37130681cc6462412e52744519516e8ade2a3212dd69153c0b1b3e415bcf66。
  • 八个独立 GLB 的根树节点拖放通过;随后 AC/BC 应用、导出和程序运动回归仍通过。
  • 控件契约:101 个控件,新增 machine-tree-node 和 machine-tree-origin;TypeScript、生产构建、双画布测试通过,浏览器错误 0。

E08 / R06 / WebGL framebuffer 稳定性

  • 状态:verified。
  • 触发环境:页面 viewport 1154x220,deviceScaleFactor 3,模拟底部停靠 DevTools 和高 DPI。
  • 修复后:管理器 CSS 656x655,drawing buffer 984x982,MAX_RENDERBUFFER_SIZE=8192,MSAA=false,控制台 warning/error=0。
  • renderer 诊断字段:machine-manager-webgl-antialias=false、render-state=ready、动态 pixel-ratio/buffer-size/max-buffer。
  • MILL700 132 节点树选择/拖放通过;生产 AC/BC 管理器闭环通过,浏览器错误 0。

E09 / R07 / MILL700 层级运动验证

  • 状态:verified。
  • 绑定:主轴-JT1→X、主轴-JT2→Y、主轴-JT3→Z、工作台-JT1→A、工作台-JT2→C。
  • 输入:X=10 mm、Y=20 mm、Z=30 mm、A=15°、C=45°。
  • 结果:XYZ 局部增量依次为 0.01/0.02/0.03 m;A/C 局部旋转增量为 15°/45°;C 世界位置和世界四元数受 A 父节点影响,证明层级联动有效。
  • 生命周期:输入和树操作期间 context-generation=1;warning/error=0。删除后部件数和树节点数均为 0。
  • 完整变换样本保存在 coverage/glb-machine-manager/mill700/browser.report.json 的 motion.baseline/driven。

E10 / R08 / 选中关节局部坐标系

  • 状态:verified。
  • MILL700 选择 MILL700-A-主轴-JT2 后,预览发布稳定源路径,selected-joint-axes=local-xyz。
  • 三轴箭头组的局部 position=(0,0,0)、quaternion=identity,父对象为所选 GLB 节点;X 红/Y 绿/Z 蓝且按整机尺寸缩放,表示关节自己的局部轴并继承完整父链。
  • 节点选择和轴值驱动期间 context-generation=1,浏览器 warning/error=0。

E11 / R09 / 部件平移旋转同步

  • MILL700 命令:PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.js MACHINE_MANAGER_URL=http://127.0.0.1:5180/ node scripts/test_machine_manager_mill700_browser.mjs。
  • MILL700 report_id:GLB-MGR-E05;报告 SHA-256:1a9489e9df2633f54de395a4a116d4726a56cc0bfc8f2115681e7340e52b9fbf。
  • MILL700:输入部件 X 平移 100 mm 后,选中根节点世界 X 坐标增加 0.1 m;输入 Z 旋转 20° 后,选中根节点世界四元数发生变化;132 节点、126 网格和局部坐标系检查继续通过,浏览器 warning/error=0。
  • AC/BC 生产回归命令:PLAYWRIGHT_MODULE=/home/mes006/.npm/_npx/e41f203b7505f1fb/node_modules/playwright/index.js MACHINE_MANAGER_SOURCE_MODULES=0 MACHINE_MANAGER_URL=http://127.0.0.1:5180/ node scripts/test_machine_manager_browser.mjs。
  • AC/BC report_id:GLB-MGR-E02;报告 SHA-256:7ea2ba7c09a2480973e63aedb8da1b8b0d46914eb86519781d99b718c5d3fca6;浏览器错误 0。
  • 8 部件验证:输入部件 X 平移 10 mm、Z 旋转 15° 后,预览中的选中部件位置和姿态变化;应用生成的 geometry userData 保存 translationMm[0]=10、rotationDeg[2]=15,随后 XYZAC 切换 XYZBC 和 BC 五轴 WASM 程序运行通过。
  • 截图:coverage/glb-machine-manager/mill700/mill700-studio-lighting.png,SHA-256 2b40f1e6a92e09d54bde17543686cc2fcecee3e2b7d7d3d71296a63737a85c8d;AC 配置 coverage/glb-machine-manager/manager-ac-config.png,SHA-256 b2fc2e00497ddb1e72e3170ee83ed54c21c8da9099036d84eeb4d6d6eef8619b。