格式判定的注释与文档改成「信任后端的检测结果」,不再说魔数纠正错误声明

- packages/model3d-viewer:`resolveModel3dViewerFormat` 与字节识别函数的注释改写——声明优先是因为后端的 `content_type` 写入前已按字节核过,魔数只在声明缺失或认不出来时兜住,不负责纠错一个认得出来但不对的声明
- docs/technical Tripo 集成方案:补上同一条口径,与实现里「声明 → 字节魔数 → 地址扩展名」的顺序对齐

行为不变,只改注释与文档。
This commit is contained in:
2026-09-24 19:51:25 +08:00
parent a61725003e
commit 2dfb60a34e
2 changed files with 6 additions and 4 deletions
+5 -3
View File
@@ -105,7 +105,7 @@ export function resolveModel3dViewerFormatFromMimeType(
);
}
/** 按字节魔数识别格式;声明不可信时以它为准,识别不出返回 null。 */
/** 按字节魔数识别格式;声明缺失或认不出来时才轮到它,识别不出返回 null。 */
export function resolveModel3dViewerFormatFromBytes(
bytes: ArrayBuffer | Uint8Array,
): Model3DViewerFormat | null {
@@ -139,8 +139,10 @@ export function resolveModel3dViewerFormatFromUrl(
/**
* 模型格式的判定顺序:声明 → 字节魔数 → 地址扩展名。
*
* 声明(响应内容类型 / OSS metadata / `asset_object.content_type`)是主线索,魔数兜住
* 写歪的声明,扩展名是同源派生出来的最后一条线索。三处都判不出就返回 null,由加载流程
* 声明(响应内容类型 / OSS metadata / `asset_object.content_type`)优先:后端的
* `content_type` 在写入前已经按字节核过,客户端信任这份检测结果,不再自己纠正一个
* 「认得出来但不对」的声明。魔数只在声明缺失或认不出来(例如 `application/octet-stream`)
* 时兜住,扩展名是同源派生出来的最后一条线索。三处都判不出就返回 null,由加载流程
* 报 `unsupported-format`,宿主把原因显示给用户 —— 不猜、不半渲染。
*/
export function resolveModel3dViewerFormat({