diff --git a/packages/model3d-viewer/src/loader.ts b/packages/model3d-viewer/src/loader.ts index be4b376ed..83a9a53d6 100644 --- a/packages/model3d-viewer/src/loader.ts +++ b/packages/model3d-viewer/src/loader.ts @@ -9,6 +9,14 @@ export type Model3DViewerSource = * 调用方已知格式时给出;不传就由加载流程按「声明类型 → 字节魔数 → 地址扩展名」判定。 */ | { kind: 'url'; url: string; format?: Model3DViewerFormat } + /** + * 直接给模型字节;调用方负责持有并与生命周期一致地释放这份 buffer。 + * + * **引用必须稳定**:查看器的加载 effect 依赖 `data` 的对象引用,只比对内容。 + * 父层每次渲染都新建一份同内容的 ArrayBuffer 会触发「销毁旧场景 → 重新解析 → + * 重新上传 GPU」,表现为闪烁与资源抖动;因此请在父层缓存 buffer,或只在内容 + * 真的变化时才换新引用。 + */ | { kind: 'bytes'; data: ArrayBuffer; format?: Model3DViewerFormat }; export const MODEL3D_VIEWER_SUPPORTED_FORMATS: readonly Model3DViewerFormat[] =