8.5 KiB
验收证据
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:
a24ae854c1817f13b2c6c4fc03d33b855952e92eaa54f900482eaba9f3acd6de - 状态:verified;浏览器错误 0。
- 覆盖:8 部件导入和预览、原点显隐、数值/TransformControls 变换、组合 GLB 导出、AC/BC 应用、底座 userData、物理零点、非法层级拒绝、BC 五轴程序。
- 截图:
coverage/glb-machine-manager/manager-ac-config.png,SHA-256ddfc10ebc03d0c72860ce4f21a3c7e290f9c8eeaa9dcaa97ff0a1c8b3e2bc860coverage/glb-machine-manager/managed-bc-running.png,SHA-256f05cd2f3701c68fe82c5c57d6aa92b54c92d6783d1a395efb5fe96ec5a9bfe4f
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:
9549e8e731803c86780b1113afda3adb78e8846626bf4b6006d8c9241ac457a9 - 状态:verified;生产资产执行 AC/BC UI 应用和 BC WASM 程序运动,浏览器错误 0。
E04 / R02 / 回归与静态契约
node scripts/test_axis_control_inventory.mjs:verified,114 个文档化控件。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-25691c3fa8ed8037aac8e71b8c76d54c38db9dc011ae25f63553966860b624aa626。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-256bf37130681cc6462412e52744519516e8ade2a3212dd69153c0b1b3e415bcf66。 - report_id:
GLB-MGR-E05;报告 SHA-25609fd47f80dd2f741aa1d585ce5b1b40c2ff32e211b7b6e08b1b0da18327d798e。 - 结构: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-25698aa3915cc80255467c6be42d40da685ef43d4ed91441ec051e1830a8d5fafd4。
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 应用、导出和程序运动回归仍通过。
- 控件契约:114 个控件,包含节点相对位置/姿态输入
machine-manager-translation、machine-manager-rotation;TypeScript、生产构建、双画布测试通过,浏览器错误 0。
E08 / R06 / WebGL framebuffer 稳定性
- 状态:verified。
- 触发环境:页面 viewport
1154x220,deviceScaleFactor 3,模拟底部停靠 DevTools 和高 DPI。 - 修复后:管理器 CSS
656x655,drawing buffer984x982,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。
E12 / R10 / 部件节点相对父级变换
-
替代 E11 的根节点测试结论;本轮同时验证内部关节及其父、兄弟、子节点。
-
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:3555f9efe0cebba79a0bec8afbff8a4a44cc1278d0f36ff737fae9a74e18b9e1。 -
MILL700:先验证根节点 X 平移
100 mm、Z 旋转20°;再选择内部节点MILL700-A-主轴-JT3,输入相对父级 X=120 mm、Z 从368.925 mm减少到324.925 mm、RZ=25°,预览发布的 selected transform 为 local X=0.120 m、local quaternion 对应25°;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:9549e8e731803c86780b1113afda3adb78e8846626bf4b6006d8c9241ac457a9;浏览器错误 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-25698aa3915cc80255467c6be42d40da685ef43d4ed91441ec051e1830a8d5fafd4;AC 配置coverage/glb-machine-manager/manager-ac-config.png,SHA-256ddfc10ebc03d0c72860ce4f21a3c7e290f9c8eeaa9dcaa97ff0a1c8b3e2bc860。 -
新增内部网格验收:mesh_0 相对父级 X=35 mm、RZ=30°;根部件仍为 X=10 mm、RZ=15°。直接解析导出 GLB 的节点 translation/rotation 并检查应用后 nodeTransforms 元数据,均一致。
-
JT3 的父、兄弟、子节点编辑前后位置与四元数记录于 MILL700 报告的
nodeEditing;验证重选、重开对话框、编辑后换父级和再次输入。