新增 3D 模型查看器独立包

- 新增 packages/model3d-viewer(@genarrative/model3d-viewer),含 Model3DViewer、scene、loader、framing、status 与 index
- 组件只走 WebGL2 单一路径渲染 glb、单文件 gltf 与 fbx,未承诺格式或超过 32 MiB 时只渲染一行状态文案
- 取景按真实顶点做投影拟合,与模型尺度无关,复位回到打开时的取景
- 新增 framing 与 loader 的纯函数单测
- 根 package.json 的 workspaces 增加 packages/model3d-viewer
- scripts/check-npm-workspaces.mjs 与 scripts/check-npm-workspaces.test.mjs 同步工作区清单
- vitest.config.ts 增加新包测试匹配
- 同步 package-lock.json 的工作区链接
This commit is contained in:
2026-09-19 16:13:55 +08:00
parent 0c4b1c34d9
commit b0054fd51c
14 changed files with 1344 additions and 77 deletions
+2
View File
@@ -13,6 +13,7 @@ export const REQUIRED_WORKSPACES = Object.freeze([
'packages/image-canvas-core',
'packages/image-canvas-react',
'packages/agc-plugin-sdk',
'packages/model3d-viewer',
'packages/shared',
'plugins/agc-cocos-editor',
'tools/spine-json-export-validator',
@@ -27,6 +28,7 @@ const WORKSPACE_NAMES = Object.freeze({
'packages/image-canvas-core': '@genarrative/image-canvas-core',
'packages/image-canvas-react': '@genarrative/image-canvas-react',
'packages/agc-plugin-sdk': '@genarrative/agc-plugin-sdk',
'packages/model3d-viewer': '@genarrative/model3d-viewer',
'packages/shared': '@genarrative/shared',
'plugins/agc-cocos-editor': '@genarrative/agc-plugin-cocos-editor',
'tools/spine-json-export-validator':
+1
View File
@@ -21,6 +21,7 @@ const workspaceNames = {
'packages/image-canvas-core': '@genarrative/image-canvas-core',
'packages/image-canvas-react': '@genarrative/image-canvas-react',
'packages/agc-plugin-sdk': '@genarrative/agc-plugin-sdk',
'packages/model3d-viewer': '@genarrative/model3d-viewer',
'packages/shared': '@genarrative/shared',
'plugins/agc-cocos-editor': '@genarrative/agc-plugin-cocos-editor',
'tools/spine-json-export-validator':