soonspacejs 2.16.8 → 2.16.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/dist/index.esm.js +5544 -5372
- package/package.json +1 -1
- package/types/Constants/headers.d.ts +4 -1
- package/types/Loader/request-loaders.d.ts +24 -0
- package/types/Shared/network.d.ts +4 -3
- package/types/Shared/request.d.ts +4 -0
- package/types/index.d.ts +1 -1
package/README.md
CHANGED
|
@@ -12,3 +12,45 @@
|
|
|
12
12
|
`@robotlegsjs/signals` 是 SDK 的运行依赖,通过 npm 或 pnpm 安装 SoonSpace 时会自动安装,无需单独添加。
|
|
13
13
|
|
|
14
14
|
SDK 构建将 signals 保留为外部导入。Vite、Webpack 等构建工具会解析该依赖;直接在浏览器中使用原生 ES modules 时,需要在 import map 中配置 `@robotlegsjs/signals` 对应的 ESM 地址。
|
|
15
|
+
|
|
16
|
+
## 统一资源请求头
|
|
17
|
+
|
|
18
|
+
从 2.16.9 起,在创建实例或开始加载资源前配置全局默认请求头:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import SoonSpace, { RequestHeaders } from 'soonspacejs'
|
|
22
|
+
|
|
23
|
+
Object.assign(RequestHeaders, {
|
|
24
|
+
Authorization: `Bearer ${token}`,
|
|
25
|
+
'Company-Id': companyId,
|
|
26
|
+
'Project-Id': projectId,
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
const ssp = new SoonSpace(options)
|
|
30
|
+
await ssp.loadModel({ id: 'model', url: modelUrl })
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`RequestHeaders` 和旧名称 `FileRequestHeaders` 指向同一个对象,旧代码可继续使用。更新或删除属性会影响后续实际发起的请求;不要替换该对象。切换上下文时应同步删除已不再适用的企业、项目等字段。
|
|
34
|
+
|
|
35
|
+
```ts
|
|
36
|
+
RequestHeaders.Authorization = `Bearer ${newToken}`
|
|
37
|
+
delete RequestHeaders['Project-Id']
|
|
38
|
+
|
|
39
|
+
// 退出登录时移除默认凭证。
|
|
40
|
+
delete RequestHeaders.Authorization
|
|
41
|
+
delete RequestHeaders['Company-Id']
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
默认头应用于 SDK 主库与插件可控制的 HTTP(S) 资源请求,包括模型主文件、模型依赖、图片、工程清单及解码器资源。具体请求或插件显式设置的同名头优先,名称大小写不敏感。默认头也会应用于 SDK 加载的跨源资源;浏览器仍要求相应服务允许 CORS。SDK 不会自动读取业务登录凭证。
|
|
45
|
+
|
|
46
|
+
KTX2 在配置请求头时需要明确的解码器路径,沿用现有配置方法:
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
ssp.setModelKtx2DecoderPath('/libs/basis/')
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
没有请求头或解码器已初始化时保留 Three.js 原行为;配置请求头且未提供路径时,会在联网前提示补充路径,不会猜测上游模块的默认地址。
|
|
53
|
+
|
|
54
|
+
IFC 在配置资源请求头时使用现有单线程 WASM 实现,确保 WASM 下载也经过带头传输,避免原生 pthread Worker 请求无法设置 Header。无请求头时保留原有自动线程选择;宿主显式提供的 Worker 协议不变。
|
|
55
|
+
|
|
56
|
+
此配置不修改宿主页面自己的 fetch/XHR,也不接管原生视频播放、宿主已设置 src 的 DOM 元素或宿主创建的 Worker。`data:`、`blob:` 资源不添加全局默认头;缓存命中没有网络请求,本功能不改变模型缓存策略。
|