Use Z-up machine coordinates in GLB manager

This commit is contained in:
2026-09-20 15:18:54 +08:00
parent 6d04425121
commit 8cafbb326b
10 changed files with 61 additions and 20 deletions

View File

@@ -13,7 +13,7 @@
- 转台链:底座 → A/B → C → 工件。
4. 每个部件可定义局部坐标原点。模型网格相对该原点偏移,运动关节围绕该原点运动。
5. 每个部件可独立显示或隐藏原点坐标轴辅助线。
6. 每个部件可用数值和 Three.js 操纵器平移、旋转;变换只修改装配配置,不修改原 GLB 字节。
6. 每个部件可用数值和 Three.js 操纵器平移、旋转;变换只修改装配配置,不修改原 GLB 字节。Three.js 管理器使用机床右手坐标:机床 Z 轴朝上,机床 XY 为地面平面;GLB Y-up 坐标映射为 `Three(x,y,z) = Machine(x,z,-y)`。编辑器坐标轴、网格、平移、旋转和原点辅助统一使用此映射。
7. 可定义 C 轴原点位置和 A/B 到 C 的运动学偏置。应用时写入底座场景节点及整机场景的 `userData.linuxcncMachineGeometry`,同时生成 URDF:
- `C 原点 P = (x-rot-point, y-rot-point, z-rot-point)`。
- `A/B 偏置 D = (x-offset, y-offset, z-offset)`。

View File

@@ -10,6 +10,13 @@
- E05 浏览器验收通过,截图显示原有 MILL700 层级模型在管理器中可辨识;报告和截图位于 `coverage/glb-machine-manager/mill700/`。
- 当前任务:MGR-10 已验证,等待保存和发布。
## R04 / 2026-09-20 / Z-up 机床坐标映射
- 用户要求将 Three.js 管理器坐标调整为 Z 轴朝上的机床坐标系。
- 固定映射:`Machine(x,y,z) -> Three(x,z,-y)`,保持右手系;机床 XY 作为默认地面网格,机床 Z 对应 Three.js 竖直方向。
- 管理器部件平移、局部原点、组合运行场景、原点辅助和 TransformControls 统一使用该映射;TransformControls 使用机床坐标代理,拖动结果反算为机床坐标。
- MILL700 重新验收通过,蓝色 Z 轴在截图中竖直,浏览器错误为 0。MGR-11 verified。
## R02 / 2026-09-20 / 部件装配、标定、应用与验收完成
- 新增 `machine-manager.ts`:通用自包含 GLB 部件加载、SHA-256、深复制、八角色和两条机械链校验、AC/BC URDF 生成、组合场景、底座/整机 userData、组合哈希。

View File

@@ -12,3 +12,4 @@
|MGR-08 坐标一致性|verified|MGR-07|AC/BC 的 X/Y/Z/A或B/C、刀长、工件和路径由 WASM 状态正确驱动|
|MGR-09 浏览器验收收口|verified|MGR-04,MGR-05,MGR-08|交互/错误/构建/浏览器截图报告通过,03–05 完整更新|
|MGR-10 PBR 预览照明|verified|MGR-04|高金属度 GLB 在管理器中具有可辨识表面;PMREM、色彩空间、曝光和多向补光生效|
|MGR-11 Z-up 机床坐标|verified|MGR-04,MGR-05|机床 Z 竖直、XY 地面、原点辅助与 TransformControls 统一使用 `Three(x,y,z)=Machine(x,z,-y)`|

View File

@@ -47,3 +47,9 @@
- 结构: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 `0a20bac14708634ddf8e7267236488c3d28526477669ba16dcb880182e2ce11a`。
## E06 / R04 / Z-up 坐标
- 状态:verified。
- 检查:管理器预览 DOM 标记 `data-machine-manager-coordinate-system=machine-z-up`、`data-machine-manager-axis-map=X:x,Y:-z,Z:y`;MILL700 截图中蓝色 Z 轴竖直,机床 XY 网格水平。
- AC/BC 管理器浏览器闭环、MILL700 浏览器闭环、TypeScript、生产构建和控件契约继续通过。

View File

@@ -31,3 +31,7 @@ UI 允许用户选择父级以建立层级和发现错误;应用时只接受
## D08 / 编辑器照明不修改资产材质
模型过暗通过 Three.js 场景的 PMREM 环境、色彩管理、曝光和补光解决。不得为了预览可见而覆盖导入材质的颜色、金属度、粗糙度或纹理,否则导出结果会偏离用户资产。
## D09 / 管理器采用 Z-up 机床坐标
Three.js/glTF 资产保持 Y-up 原始数据。管理器输入和显示采用机床右手坐标,映射为 `machine (x,y,z) -> Three (x,z,-y)`;这样机床 Z 对应 Three.js 竖直方向,机床 XY 落在默认地面网格,且不破坏右手系。所有部件平移、局部原点和旋转变换共用这套映射。

View File

@@ -11,7 +11,7 @@
现有整机 GLB + 内嵌 URDF 导入能力继续保留。新管理器生成与现有 `linuxcnc.machine/1` 相同的严格结构,再通过已有配置、Worker、WASM 和 Three.js 投影链运行。
当前状态:MGR-01 至 MGR-10 全部 verified,MILL700 实测证据为 `GLB-MGR-E05`。最新台账 R03,浏览器证据 `GLB-MGR-E01/E02/E05`,截图和报告位于 `coverage/glb-machine-manager/`。
当前状态:MGR-01 至 MGR-11 全部 verified,MILL700 实测证据为 `GLB-MGR-E05`。最新台账 R04,浏览器证据 `GLB-MGR-E01/E02/E05`,截图和报告位于 `coverage/glb-machine-manager/`。
文档: