写明产物是单文件,多文件模型的兄弟资源拼接只算兜底

- packages/model3d-viewer:把 resolveModel3dViewerResourceUrl 的注释改成实话——产物是单文件(.glb 自带几何贴图,.fbx 媒体内嵌),多文件模型不会出现,最多是「模型 + 一个 bin」;这段补签名只是最后一层兜底,签名按单个文件签发时会被云端拒绝,不指望它能读成功
- docs/adr 0003:同一条前提写进 ADR,并写明将来真要支持多文件模型时应当由宿主为每个兄弟文件分别换取临时地址,而不是继续扩展这段拼接
This commit is contained in:
2026-09-24 19:18:10 +08:00
parent 5748cf303f
commit 647822bbc4
2 changed files with 12 additions and 5 deletions
@@ -10,4 +10,6 @@
后果:下载 3D 资源时按真实响应头的 MIME 命名、对象键扩展名兜底、最后回落 `glb`,导出目录用 `3d_models/` 与图片、其它媒体分开;类型角标、缩略图和后台渲染器只要读 `imageSrc` 就能拿到预览图,不必各自识别媒体语义;查看器包单模型体积上限 64 MiB,超限与 `webgl-unavailable` 都作为失败原因展示给用户,而不是静默失败。
多文件模型不在支持范围内:站内 3D 产物是单文件的(`.glb` 自带几何与贴图,`.fbx` 按媒体内嵌处理),不假设会出现「模型文件 + 同目录 buffer / 贴图」这种产物,最多是「模型 + 一个 bin」。因此 `packages/model3d-viewer` 里把模型地址的签名 query 顺带补到同目录兄弟资源地址上的那段逻辑(`resolveModel3dViewerResourceUrl`)只是兜底,不代表查看器支持多文件模型:签名按单个文件签发时,贴到另一个文件上会被云端以签名不匹配拒绝。将来真要支持多文件模型,正确做法是让宿主为每个兄弟文件分别换取各自的临时地址,而不是继续扩展这段拼接。
未进入项:AGC 项目画布自带的两份格式判断(`isResourceModelFbx` 把 `octet-stream` 当 FBX、资源卡预览用扩展名正则选解析器)本期不动,后续统一收敛到 `packages/model3d-viewer`;素材库行、后台 renderer、精选 read model 与公开 grant 的 3D 展示同样未进入。