@loaders.gl/scene 5.0.0-beta.2 → 5.0.0-beta.5

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.
Files changed (276) hide show
  1. package/DRACO-README.md +1 -1
  2. package/GLTF-README.md +1 -1
  3. package/OBJ-README.md +1 -1
  4. package/README.md +6 -1
  5. package/THIRD-PARTY-NOTICES.md +6 -0
  6. package/dist/dist.dev.js +6557 -1363
  7. package/dist/dist.min.js +24 -16
  8. package/dist/draco/draco-javascript-loader-with-parser.d.ts +2 -2
  9. package/dist/draco/draco-loader-types.cjs +3 -3
  10. package/dist/draco/draco-loader-types.cjs.map +2 -2
  11. package/dist/draco/draco-loader-types.d.ts +1 -1
  12. package/dist/draco/draco-loader-types.d.ts.map +1 -1
  13. package/dist/draco/draco-loader-types.js +1 -1
  14. package/dist/draco/draco-loader-types.js.map +1 -1
  15. package/dist/draco/draco-loader.d.ts +2 -2
  16. package/dist/draco/draco-wasm-loader-with-parser.d.ts +2 -2
  17. package/dist/draco/draco3d-loader-with-parser.d.ts +2 -2
  18. package/dist/draco/lib/utils/version.cjs +1 -1
  19. package/dist/draco/lib/utils/version.js +1 -1
  20. package/dist/draco-worker-node.js +806 -158
  21. package/dist/draco-worker-node.js.map +4 -4
  22. package/dist/draco-worker.js +775 -158
  23. package/dist/draco-worker.js.map +4 -4
  24. package/dist/draco-writer-worker-node.cjs +2122 -219
  25. package/dist/draco-writer-worker-node.cjs.map +4 -4
  26. package/dist/draco-writer-worker.js +2053 -220
  27. package/dist/draco-writer-worker.js.map +4 -4
  28. package/dist/gltf/gltf-loader-types.cjs.map +2 -2
  29. package/dist/gltf/gltf-loader-types.d.ts +6 -0
  30. package/dist/gltf/gltf-loader-types.d.ts.map +1 -1
  31. package/dist/gltf/gltf-loader-types.js.map +1 -1
  32. package/dist/gltf/index.cjs +2 -0
  33. package/dist/gltf/index.cjs.map +2 -2
  34. package/dist/gltf/index.d.ts +2 -2
  35. package/dist/gltf/index.d.ts.map +1 -1
  36. package/dist/gltf/index.js +1 -1
  37. package/dist/gltf/index.js.map +1 -1
  38. package/dist/gltf/lib/api/gltf-extensions.cjs +7 -2
  39. package/dist/gltf/lib/api/gltf-extensions.cjs.map +2 -2
  40. package/dist/gltf/lib/api/gltf-extensions.d.ts.map +1 -1
  41. package/dist/gltf/lib/api/gltf-extensions.js +7 -5
  42. package/dist/gltf/lib/api/gltf-extensions.js.map +1 -1
  43. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs +1 -0
  44. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs.map +2 -2
  45. package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
  46. package/dist/gltf/lib/extensions/EXT_texture_webp.js +3 -0
  47. package/dist/gltf/lib/extensions/EXT_texture_webp.js.map +1 -1
  48. package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs +45 -0
  49. package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs.map +7 -0
  50. package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts +6 -0
  51. package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts.map +1 -0
  52. package/dist/gltf/lib/extensions/KHR_accessor_float64.js +20 -0
  53. package/dist/gltf/lib/extensions/KHR_accessor_float64.js.map +1 -0
  54. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs +23 -7
  55. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs.map +2 -2
  56. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts +2 -1
  57. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts.map +1 -1
  58. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js +21 -5
  59. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js.map +1 -1
  60. package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs +64 -0
  61. package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs.map +7 -0
  62. package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts +12 -0
  63. package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts.map +1 -0
  64. package/dist/gltf/lib/extensions/MSFT_texture_dds.js +39 -0
  65. package/dist/gltf/lib/extensions/MSFT_texture_dds.js.map +1 -0
  66. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs +1 -1
  67. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs.map +2 -2
  68. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -1
  69. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js +3 -1
  70. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js.map +1 -1
  71. package/dist/gltf/lib/parsers/parse-gltf.cjs +25 -0
  72. package/dist/gltf/lib/parsers/parse-gltf.cjs.map +2 -2
  73. package/dist/gltf/lib/parsers/parse-gltf.d.ts +2 -0
  74. package/dist/gltf/lib/parsers/parse-gltf.d.ts.map +1 -1
  75. package/dist/gltf/lib/parsers/parse-gltf.js +18 -0
  76. package/dist/gltf/lib/parsers/parse-gltf.js.map +1 -1
  77. package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs +22 -0
  78. package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs.map +2 -2
  79. package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts +23 -0
  80. package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts.map +1 -1
  81. package/dist/gltf/lib/types/gltf-additional-extension-schemas.js +22 -0
  82. package/dist/gltf/lib/types/gltf-additional-extension-schemas.js.map +1 -1
  83. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs.map +1 -1
  84. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts +1 -1
  85. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts.map +1 -1
  86. package/dist/gltf/lib/types/gltf-extension-schemas.cjs +8 -0
  87. package/dist/gltf/lib/types/gltf-extension-schemas.cjs.map +2 -2
  88. package/dist/gltf/lib/types/gltf-extension-schemas.d.ts +27 -0
  89. package/dist/gltf/lib/types/gltf-extension-schemas.d.ts.map +1 -1
  90. package/dist/gltf/lib/types/gltf-extension-schemas.js +8 -1
  91. package/dist/gltf/lib/types/gltf-extension-schemas.js.map +1 -1
  92. package/dist/gltf/lib/types/gltf-json-schema.cjs.map +1 -1
  93. package/dist/gltf/lib/types/gltf-json-schema.d.ts +2 -2
  94. package/dist/gltf/lib/types/gltf-json-schema.d.ts.map +1 -1
  95. package/dist/gltf/lib/types/gltf-texture-procedurals.cjs +19 -0
  96. package/dist/gltf/lib/types/gltf-texture-procedurals.cjs.map +7 -0
  97. package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts +45 -0
  98. package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts.map +1 -0
  99. package/dist/gltf/lib/types/gltf-texture-procedurals.js +5 -0
  100. package/dist/gltf/lib/types/gltf-texture-procedurals.js.map +1 -0
  101. package/dist/gltf/lib/types/gltf-types.cjs.map +1 -1
  102. package/dist/gltf/lib/types/gltf-types.d.ts +7 -0
  103. package/dist/gltf/lib/types/gltf-types.d.ts.map +1 -1
  104. package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts +34 -0
  105. package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts.map +1 -1
  106. package/dist/gltf/lib/types/gltf-zod-schema.cjs +4 -1
  107. package/dist/gltf/lib/types/gltf-zod-schema.cjs.map +2 -2
  108. package/dist/gltf/lib/types/gltf-zod-schema.d.ts +56 -0
  109. package/dist/gltf/lib/types/gltf-zod-schema.d.ts.map +1 -1
  110. package/dist/gltf/lib/types/gltf-zod-schema.js +6 -2
  111. package/dist/gltf/lib/types/gltf-zod-schema.js.map +1 -1
  112. package/dist/gltf/lib/utils/version.cjs +1 -1
  113. package/dist/gltf/lib/utils/version.js +1 -1
  114. package/dist/gltf/schema.cjs +3 -0
  115. package/dist/gltf/schema.cjs.map +2 -2
  116. package/dist/gltf/schema.d.ts +1 -0
  117. package/dist/gltf/schema.d.ts.map +1 -1
  118. package/dist/gltf/schema.js +1 -0
  119. package/dist/gltf/schema.js.map +1 -1
  120. package/dist/gltf-loader-types.cjs.map +2 -2
  121. package/dist/index.cjs +7 -1
  122. package/dist/index.cjs.map +2 -2
  123. package/dist/index.d.ts +3 -0
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +3 -1
  126. package/dist/index.js.map +1 -1
  127. package/dist/materialx/parse-materialx.cjs +61 -0
  128. package/dist/materialx/parse-materialx.cjs.map +7 -0
  129. package/dist/materialx/parse-materialx.d.ts +23 -0
  130. package/dist/materialx/parse-materialx.d.ts.map +1 -0
  131. package/dist/materialx/parse-materialx.js +39 -0
  132. package/dist/materialx/parse-materialx.js.map +1 -0
  133. package/dist/materialx/procedural-graph.cjs +77 -0
  134. package/dist/materialx/procedural-graph.cjs.map +7 -0
  135. package/dist/materialx/procedural-graph.d.ts +40 -0
  136. package/dist/materialx/procedural-graph.d.ts.map +1 -0
  137. package/dist/materialx/procedural-graph.js +59 -0
  138. package/dist/materialx/procedural-graph.js.map +1 -0
  139. package/dist/materialx-loader-types.cjs +57 -0
  140. package/dist/materialx-loader-types.cjs.map +7 -0
  141. package/dist/materialx-loader-types.d.ts +34 -0
  142. package/dist/materialx-loader-types.d.ts.map +1 -0
  143. package/dist/materialx-loader-types.js +20 -0
  144. package/dist/materialx-loader-types.js.map +1 -0
  145. package/dist/materialx-loader.cjs +40 -0
  146. package/dist/materialx-loader.cjs.map +7 -0
  147. package/dist/materialx-loader.d.ts +19 -0
  148. package/dist/materialx-loader.d.ts.map +1 -0
  149. package/dist/materialx-loader.js +14 -0
  150. package/dist/materialx-loader.js.map +1 -0
  151. package/dist/mtl-loader-types.cjs +1 -1
  152. package/dist/obj/mtl-loader-types.cjs +1 -1
  153. package/dist/obj/mtl-loader-types.js +1 -1
  154. package/dist/obj/obj-loader-types.cjs +3 -3
  155. package/dist/obj/obj-loader-types.cjs.map +2 -2
  156. package/dist/obj/obj-loader-types.d.ts +1 -1
  157. package/dist/obj/obj-loader-types.d.ts.map +1 -1
  158. package/dist/obj/obj-loader-types.js +2 -2
  159. package/dist/obj/obj-loader-types.js.map +1 -1
  160. package/dist/obj/obj-loader.cjs +5 -5
  161. package/dist/obj/obj-loader.cjs.map +2 -2
  162. package/dist/obj/obj-loader.d.ts +1 -1
  163. package/dist/obj/obj-loader.d.ts.map +1 -1
  164. package/dist/obj/obj-loader.js +1 -1
  165. package/dist/obj/obj-loader.js.map +1 -1
  166. package/dist/obj/obj-writer.cjs +1 -1
  167. package/dist/obj/obj-writer.js +1 -1
  168. package/dist/obj-loader-types.cjs +3 -3
  169. package/dist/obj-loader-types.cjs.map +2 -2
  170. package/dist/obj-loader.cjs +5 -5
  171. package/dist/obj-loader.cjs.map +2 -2
  172. package/dist/obj-worker.js +985 -368
  173. package/dist/obj-writer.cjs +1 -1
  174. package/dist/stl/parse-stl.cjs +100 -0
  175. package/dist/stl/parse-stl.cjs.map +7 -0
  176. package/dist/stl/parse-stl.d.ts +4 -0
  177. package/dist/stl/parse-stl.d.ts.map +1 -0
  178. package/dist/stl/parse-stl.js +84 -0
  179. package/dist/stl/parse-stl.js.map +1 -0
  180. package/dist/stl-loader-types.cjs +58 -0
  181. package/dist/stl-loader-types.cjs.map +7 -0
  182. package/dist/stl-loader-types.d.ts +32 -0
  183. package/dist/stl-loader-types.d.ts.map +1 -0
  184. package/dist/stl-loader-types.js +25 -0
  185. package/dist/stl-loader-types.js.map +1 -0
  186. package/dist/stl-loader.cjs +38 -0
  187. package/dist/stl-loader.cjs.map +7 -0
  188. package/dist/stl-loader.d.ts +17 -0
  189. package/dist/stl-loader.d.ts.map +1 -0
  190. package/dist/stl-loader.js +13 -0
  191. package/dist/stl-loader.js.map +1 -0
  192. package/dist/usd/index.cjs.map +1 -1
  193. package/dist/usd/index.d.ts +1 -1
  194. package/dist/usd/index.d.ts.map +1 -1
  195. package/dist/usd/lib/parse-usd.cjs +42 -5
  196. package/dist/usd/lib/parse-usd.cjs.map +2 -2
  197. package/dist/usd/lib/parse-usd.d.ts.map +1 -1
  198. package/dist/usd/lib/parse-usd.js +53 -6
  199. package/dist/usd/lib/parse-usd.js.map +1 -1
  200. package/dist/usd/lib/parse-usdc.cjs +187 -0
  201. package/dist/usd/lib/parse-usdc.cjs.map +7 -0
  202. package/dist/usd/lib/parse-usdc.d.ts +4 -0
  203. package/dist/usd/lib/parse-usdc.d.ts.map +1 -0
  204. package/dist/usd/lib/parse-usdc.js +176 -0
  205. package/dist/usd/lib/parse-usdc.js.map +1 -0
  206. package/dist/usd/lib/parse-usdz.cjs +22 -0
  207. package/dist/usd/lib/parse-usdz.cjs.map +2 -2
  208. package/dist/usd/lib/parse-usdz.d.ts.map +1 -1
  209. package/dist/usd/lib/parse-usdz.js +26 -0
  210. package/dist/usd/lib/parse-usdz.js.map +1 -1
  211. package/dist/usd/lib/usd-types.cjs.map +1 -1
  212. package/dist/usd/lib/usd-types.d.ts +14 -1
  213. package/dist/usd/lib/usd-types.d.ts.map +1 -1
  214. package/dist/usd/lib/usd-types.js +1 -1
  215. package/dist/usd/lib/usd-types.js.map +1 -1
  216. package/dist/usd/libs/README.md +27 -0
  217. package/dist/usd/libs/THREE-LICENSE +21 -0
  218. package/dist/usd/libs/usdc-parser.d.ts +78 -0
  219. package/dist/usd/libs/usdc-parser.d.ts.map +1 -0
  220. package/dist/usd/libs/usdc-parser.js +1669 -0
  221. package/dist/usd/libs/usdc-parser.js.map +1 -0
  222. package/dist/usd/usd-loader-types.cjs +4 -4
  223. package/dist/usd/usd-loader-types.cjs.map +2 -2
  224. package/dist/usd/usd-loader-types.d.ts +7 -7
  225. package/dist/usd/usd-loader-types.d.ts.map +1 -1
  226. package/dist/usd/usd-loader-types.js +6 -6
  227. package/dist/usd/usd-loader-types.js.map +1 -1
  228. package/dist/usd/usd-loader.cjs.map +1 -1
  229. package/dist/usd/usd-loader.d.ts +4 -4
  230. package/dist/usd/usd-loader.d.ts.map +1 -1
  231. package/dist/usd/usd-loader.js +2 -2
  232. package/dist/usd/usd-loader.js.map +1 -1
  233. package/dist/usd-loader-types.cjs +4 -4
  234. package/dist/usd-loader-types.cjs.map +2 -2
  235. package/dist/usd-loader.cjs.map +1 -1
  236. package/package.json +19 -7
  237. package/src/draco/draco-loader-types.ts +1 -1
  238. package/src/gltf/gltf-loader-types.ts +6 -0
  239. package/src/gltf/index.ts +4 -1
  240. package/src/gltf/lib/api/gltf-extensions.ts +7 -2
  241. package/src/gltf/lib/extensions/EXT_texture_webp.ts +3 -0
  242. package/src/gltf/lib/extensions/KHR_accessor_float64.ts +22 -0
  243. package/src/gltf/lib/extensions/KHR_gaussian_splatting.ts +31 -7
  244. package/src/gltf/lib/extensions/MSFT_texture_dds.ts +52 -0
  245. package/src/gltf/lib/extensions/utils/3d-tiles-utils.ts +5 -1
  246. package/src/gltf/lib/parsers/parse-gltf.ts +31 -0
  247. package/src/gltf/lib/types/gltf-additional-extension-schemas.ts +32 -0
  248. package/src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts +1 -1
  249. package/src/gltf/lib/types/gltf-extension-schemas.ts +12 -0
  250. package/src/gltf/lib/types/gltf-json-schema.ts +2 -1
  251. package/src/gltf/lib/types/gltf-texture-procedurals.ts +67 -0
  252. package/src/gltf/lib/types/gltf-types.ts +8 -0
  253. package/src/gltf/lib/types/gltf-zod-schema.ts +7 -1
  254. package/src/gltf/schema.ts +1 -0
  255. package/src/index.ts +6 -1
  256. package/src/materialx/README.md +5 -0
  257. package/src/materialx/parse-materialx.ts +70 -0
  258. package/src/materialx/procedural-graph.ts +94 -0
  259. package/src/materialx-loader-types.ts +24 -0
  260. package/src/materialx-loader.ts +15 -0
  261. package/src/obj/obj-loader-types.ts +1 -1
  262. package/src/obj/obj-loader.ts +1 -1
  263. package/src/stl/parse-stl.ts +90 -0
  264. package/src/stl-loader-types.ts +28 -0
  265. package/src/stl-loader.ts +12 -0
  266. package/src/usd/index.ts +1 -0
  267. package/src/usd/lib/parse-usd.ts +68 -7
  268. package/src/usd/lib/parse-usdc.ts +188 -0
  269. package/src/usd/lib/parse-usdz.ts +28 -0
  270. package/src/usd/lib/usd-types.ts +16 -2
  271. package/src/usd/libs/README.md +27 -0
  272. package/src/usd/libs/THREE-LICENSE +21 -0
  273. package/src/usd/libs/usdc-parser.d.ts +18 -0
  274. package/src/usd/libs/usdc-parser.js +1669 -0
  275. package/src/usd/usd-loader-types.ts +5 -5
  276. package/src/usd/usd-loader.ts +2 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/gltf/lib/parsers/parse-gltf.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable camelcase, max-statements, no-restricted-globals */\nimport type {LoaderContext} from '@loaders.gl/core/loader-utils';\nimport type {GLTFLoaderOptions} from '../../gltf-loader-types';\nimport type {GLTF} from '../types/gltf-json-schema';\nimport type {GLTFExternalFile, GLTFWithBuffers} from '../types/gltf-types';\nimport type {GLB} from '../types/glb-types';\nimport type {ParseGLBOptions} from './parse-glb';\n\nimport type {ImageType, TextureLevel} from '@loaders.gl/core/schema';\nimport {parseJSON, sliceArrayBuffer, parseFromContext} from '@loaders.gl/core/loader-utils';\nimport {ImageLoader} from '@loaders.gl/images';\nimport {BasisLoader} from '@loaders.gl/images';\n\nimport {assert} from '../utils/assert';\nimport {isGLB, parseGLBSync} from './parse-glb';\nimport {canonicalizeUrl, resolveUrl} from '../gltf-utils/resolve-url';\nimport {findGLTFFileIndex, resolveGLTFFile} from '../gltf-utils/resolve-gltf-file';\nimport {getTypedArrayForBufferView} from '../gltf-utils/get-typed-array';\nimport {preprocessExtensions, decodeExtensions} from '../api/gltf-extensions';\nimport {normalizeGLTFV1WithDeferredBuffers} from '../api/normalize-gltf-v1';\n\n/** */\nexport type ParseGLTFOptions = ParseGLBOptions & {\n /** Best-effort glTF 1 conversion; strict rejects reported unsupported features. @default true */\n normalize?: boolean | 'best-effort' | 'strict';\n loadImages?: boolean;\n /** Load encoded KHR_audio_emitter clips independently of loadBuffers, without playback. @default true */\n loadAudio?: boolean;\n /** Load linked and embedded buffers; required for meshopt decompression. @default true */\n loadBuffers?: boolean;\n /** @internal Restrict linked-buffer loading after the glTF JSON is available. */\n loadBufferIndices?: number[] | ((json: GLTF) => number[]);\n /** @internal Restrict meshopt decompression to selected buffer views. */\n decompressBufferViewIndices?: number[] | ((json: GLTF) => number[]);\n /** Resolve draft glTF 2.1 `files` entries. */\n loadFiles?: boolean;\n /** Recursively parse draft glTF 2.1 external assets referenced by nodes. */\n loadExternalAssets?: boolean;\n /** Decompress Draco, `EXT_meshopt_compression`, and `KHR_meshopt_compression` data. @default true */\n decompressMeshes?: boolean;\n /** Optional decoder for embedded SPZ2 Gaussian payloads; bytes are explicitly in LUF coordinates. */\n splatDecoder?: (\n data: ArrayBuffer,\n options: {sourceCoordinateSystem: 'LUF'; targetCoordinateSystem?: string}\n ) => unknown | Promise<unknown>;\n excludeExtensions?: string[];\n};\n\n/**\n * Creates options for parsing an image referenced by a glTF asset.\n * Preserves automatic Basis format selection until the worker can inspect the source codec.\n * @param options - glTF loader options.\n * @param mimeType - MIME type declared by the glTF image.\n * @returns Loader options for the referenced image.\n */\nexport function getGLTFImageOptions(\n options: GLTFLoaderOptions,\n mimeType?: string\n): GLTFLoaderOptions {\n const basisOptions = options.basis;\n return {\n ...options,\n core: {...options.core, mimeType},\n basis: {...basisOptions, format: basisOptions?.format || 'auto'}\n };\n}\n\n/** Check if an array buffer appears to contain GLTF data */\nexport function isGLTF(arrayBuffer: ArrayBuffer, options?: ParseGLTFOptions): boolean {\n const byteOffset = 0;\n return isGLB(arrayBuffer, byteOffset, options);\n}\n\nexport async function parseGLTF(\n gltf: GLTFWithBuffers,\n arrayBufferOrString,\n byteOffset = 0,\n options: GLTFLoaderOptions,\n context: LoaderContext\n): Promise<GLTFWithBuffers> {\n return await parseGLTFWithExternalAssets(gltf, arrayBufferOrString, byteOffset, options, context);\n}\n\n/** Parse glTF data while carrying recursion state through nested external assets. */\nasync function parseGLTFWithExternalAssets(\n gltf: GLTFWithBuffers,\n arrayBufferOrString,\n byteOffset: number,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n externalAssetLoadState?: ExternalAssetLoadState\n): Promise<GLTFWithBuffers> {\n parseGLTFContainerSync(gltf, arrayBufferOrString, byteOffset, options);\n\n const finishNormalization = normalizeGLTFV1WithDeferredBuffers(gltf, {\n normalize: options?.gltf?.normalize,\n log: options?.core?.log\n });\n\n await preprocessExtensions(gltf, options, context);\n\n // Load linked buffers asynchronously and decodes base64 buffers in parallel\n if (options?.gltf?.loadBuffers && gltf.json.buffers) {\n await loadBuffers(gltf, options, context, options.gltf.loadBufferIndices);\n }\n finishNormalization();\n\n if (options?.gltf?.loadFiles && gltf.json.files) {\n await loadFiles(gltf, options, context);\n }\n\n if (options?.gltf?.loadExternalAssets && gltf.json.externalAssets) {\n await loadExternalAssets(gltf, options, context, externalAssetLoadState);\n }\n\n // loadImages and decodeExtensions should not be running in parallel, because\n // decodeExtensions uses data from images taken during the loadImages call.\n if (options?.gltf?.loadImages) {\n await loadImages(gltf, options, context);\n }\n\n await decodeExtensions(gltf, options, context);\n\n return gltf;\n}\n\n/**\n *\n * @param gltf\n * @param data - can be ArrayBuffer (GLB), ArrayBuffer (Binary JSON), String (JSON), or Object (parsed JSON)\n * @param byteOffset\n * @param options\n */\nfunction parseGLTFContainerSync(gltf, data, byteOffset, options: GLTFLoaderOptions) {\n // Initialize gltf container\n if (options.core?.baseUrl) {\n gltf.baseUri = options.core?.baseUrl;\n }\n\n // If data is binary and starting with magic bytes, assume binary JSON text, convert to string\n if (data instanceof ArrayBuffer && !isGLB(data, byteOffset, options.glb)) {\n const textDecoder = new TextDecoder();\n data = textDecoder.decode(data);\n }\n\n if (typeof data === 'string') {\n // If string, try to parse as JSON\n gltf.json = parseJSON(data);\n } else if (data instanceof ArrayBuffer) {\n // If still ArrayBuffer, parse as GLB container\n const glb: GLB = {} as GLB;\n byteOffset = parseGLBSync(glb, data, byteOffset, options.glb);\n\n assert(glb.type === 'glTF', `Invalid GLB magic string ${glb.type}`);\n\n gltf._glb = glb;\n gltf.json = glb.json;\n } else if (data && typeof data === 'object') {\n // Callers that already decoded JSON can retain the parsed object. This avoids a second\n // serialization/parsing pass while preserving the normal extension and external-asset flow.\n gltf.json = data;\n } else {\n assert(false, 'GLTF: must be ArrayBuffer, string, or parsed JSON object');\n }\n\n // Populate buffers\n // Create an external buffers array to hold binary data\n const buffers = gltf.json.buffers || [];\n const bufferDefinitions = Array.isArray(buffers) ? buffers : [];\n const bufferIds = Array.isArray(buffers) ? [] : Object.keys(buffers);\n gltf.buffers = new Array(Array.isArray(buffers) ? buffers.length : bufferIds.length).fill(null);\n\n // Resolve GLB chunks into the parallel buffers array.\n if (gltf._glb) {\n const {binChunks} = gltf._glb;\n\n for (let bufferIndex = 0; bufferIndex < bufferDefinitions.length; bufferIndex++) {\n const buffer = bufferDefinitions[bufferIndex];\n if (buffer.chunk === undefined) {\n continue;\n }\n\n assert(gltf._glb.version === 3, 'glTF buffer.chunk requires a GLB v3 container.');\n assert(\n buffer.uri === undefined,\n `glTF buffer ${bufferIndex} cannot define both uri and chunk.`\n );\n const binChunk = binChunks.find(chunk => chunk.chunkIndex === buffer.chunk);\n assert(\n binChunk,\n `glTF buffer ${bufferIndex} references missing GLB BIN chunk ${buffer.chunk}.`\n );\n assert(\n buffer.byteLength <= binChunk.byteLength,\n `glTF buffer ${bufferIndex} is larger than GLB BIN chunk ${buffer.chunk}.`\n );\n gltf.buffers[bufferIndex] = {\n arrayBuffer: binChunk.arrayBuffer,\n byteOffset: binChunk.byteOffset,\n byteLength: buffer.byteLength\n };\n }\n\n const uriLessBufferIndices = bufferDefinitions\n .map((buffer, bufferIndex) => (buffer.uri === undefined ? bufferIndex : -1))\n .filter(bufferIndex => bufferIndex !== -1);\n const implicitBinChunk = binChunks.find(chunk => chunk.chunkIndex === 1);\n const usesLegacyImplicitBuffer =\n gltf._glb.version < 3 ||\n (gltf._glb.jsonChunkIndex === 0 &&\n bufferDefinitions[0]?.chunk === undefined &&\n uriLessBufferIndices.length === 1 &&\n uriLessBufferIndices[0] === 0 &&\n Boolean(implicitBinChunk));\n const legacyImplicitBinChunk = gltf._glb.version < 3 ? binChunks[0] : implicitBinChunk;\n // glTF 1 dictionaries have no required key order. Normalization subsequently moves\n // the named body and its payload to index zero for glTF 2.\n const binaryBufferIndex =\n gltf._glb.version === 1 && !Array.isArray(buffers) ? bufferIds.indexOf('binary_glTF') : 0;\n\n if (usesLegacyImplicitBuffer && legacyImplicitBinChunk && binaryBufferIndex >= 0) {\n gltf.buffers[binaryBufferIndex] = {\n arrayBuffer: legacyImplicitBinChunk.arrayBuffer,\n byteOffset: legacyImplicitBinChunk.byteOffset,\n byteLength: legacyImplicitBinChunk.byteLength\n };\n }\n\n if (gltf._glb.version === 3) {\n for (const bufferIndex of uriLessBufferIndices) {\n assert(\n gltf.buffers[bufferIndex],\n `glTF buffer ${bufferIndex} without a uri must define a valid GLB v3 chunk.`\n );\n }\n }\n\n // TODO - this modifies JSON and is a post processing thing\n // gltf.json.buffers[0].data = gltf.buffers[0].arrayBuffer;\n // gltf.json.buffers[0].byteOffset = gltf.buffers[0].byteOffset;\n }\n\n if (!gltf._glb) {\n const chunkBufferIndex = bufferDefinitions.findIndex(buffer => buffer.chunk !== undefined);\n assert(chunkBufferIndex === -1, `glTF buffer ${chunkBufferIndex} uses chunk outside a GLB.`);\n }\n\n // Populate images\n const images = gltf.json.images || [];\n gltf.images = new Array(images.length).fill({});\n\n const files = gltf.json.files || [];\n gltf.files = new Array(files.length).fill(null);\n\n const externalAssets = gltf.json.externalAssets || [];\n gltf.externalAssets = new Array(externalAssets.length).fill(null);\n}\n\ntype ExternalAssetLoadState = {\n /** Parsed assets keyed by their resolved URI. */\n cache: Map<string, Promise<GLTFWithBuffers>>;\n /** Resolved URIs in the current recursion chain. */\n ancestors: Set<string>;\n /** Shared counter used to isolate virtual package URL namespaces. */\n packageIds: {next: number};\n};\n\nconst PACKAGE_URL_PREFIX = 'gltf-package://';\n\n/** Recursively resolve external assets instantiated by nodes. */\nasync function loadExternalAssets(\n gltf: GLTFWithBuffers,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n inheritedState?: ExternalAssetLoadState\n): Promise<void> {\n const externalAssets = gltf.json.externalAssets || [];\n const referencedIndices = new Set<number>();\n for (const node of gltf.json.nodes || []) {\n if (node.externalAsset !== undefined) {\n assert(\n node.externalAsset >= 0 && node.externalAsset < externalAssets.length,\n `glTF node references missing external asset ${node.externalAsset}.`\n );\n referencedIndices.add(node.externalAsset);\n }\n }\n\n const state =\n inheritedState ||\n createExternalAssetLoadState(context.url ? new Set([canonicalizeUrl(context.url)]) : new Set());\n for (const externalAssetIndex of referencedIndices) {\n await loadExternalAsset(gltf, externalAssetIndex, options, context, state);\n }\n}\n\n/** Parse one external asset and cache repeated file references. */\nasync function loadExternalAsset(\n gltf: GLTFWithBuffers,\n externalAssetIndex: number,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n state: ExternalAssetLoadState\n): Promise<void> {\n const externalAsset = gltf.json.externalAssets?.[externalAssetIndex];\n if (!externalAsset) {\n throw new Error(`Missing glTF external asset ${externalAssetIndex}.`);\n }\n assert(\n Number.isInteger(externalAsset.file) &&\n externalAsset.file >= 0 &&\n externalAsset.file < (gltf.json.files?.length || 0),\n `glTF external asset ${externalAssetIndex} references missing file ${externalAsset.file}.`\n );\n\n const file = await resolveGLTFFile(gltf, externalAsset.file, options, context);\n const assetKey = file.url;\n assert(\n !assetKey || !state.ancestors.has(assetKey),\n `glTF external asset cycle detected at ${assetKey}.`\n );\n\n let parsedAsset = assetKey ? state.cache.get(assetKey) : undefined;\n if (!parsedAsset) {\n const childContext = createExternalAssetContext(gltf, file, options, context, state);\n const childState: ExternalAssetLoadState = {\n ...state,\n ancestors: new Set(state.ancestors)\n };\n if (assetKey) {\n childState.ancestors.add(assetKey);\n }\n const data = sliceArrayBuffer(file.arrayBuffer, file.byteOffset, file.byteLength);\n parsedAsset = parseGLTFWithExternalAssets(\n {} as GLTFWithBuffers,\n data,\n 0,\n options,\n childContext,\n childState\n );\n if (assetKey) {\n state.cache.set(assetKey, parsedAsset);\n }\n }\n\n gltf.externalAssets = gltf.externalAssets || [];\n gltf.externalAssets[externalAssetIndex] = await parsedAsset;\n}\n\n/** Create recursive loading state for an external-asset tree. */\nfunction createExternalAssetLoadState(ancestors: Set<string>): ExternalAssetLoadState {\n return {cache: new Map(), ancestors, packageIds: {next: 0}};\n}\n\n/** Create URL and fetch semantics for a nested external asset. */\nfunction createExternalAssetContext(\n parent: GLTFWithBuffers,\n file: GLTFExternalFile,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n state: ExternalAssetLoadState\n): LoaderContext {\n if (file.url && !file.url.startsWith('data:')) {\n return {\n ...context,\n url: file.url,\n filename: getUrlFilename(file.url),\n baseUrl: getUrlBase(file.url)\n };\n }\n\n const packageBaseUrl = `${PACKAGE_URL_PREFIX}${state.packageIds.next++}`;\n const packageUrlPrefix = `${packageBaseUrl}/`;\n return {\n ...context,\n url: file.name,\n filename: file.name,\n baseUrl: packageBaseUrl,\n fetch: async (resource: string, init?: RequestInit) => {\n const url = resource;\n if (url.startsWith('data:')) {\n return await context.fetch(resource, init);\n }\n const reference = url.startsWith(packageUrlPrefix) ? url.slice(packageUrlPrefix.length) : url;\n const fileIndex = findGLTFFileIndex(parent, reference);\n assert(fileIndex >= 0, `glTF package does not contain file ${reference}.`);\n const resolvedFile = await resolveGLTFFile(parent, fileIndex, options, context);\n const data = sliceArrayBuffer(\n resolvedFile.arrayBuffer,\n resolvedFile.byteOffset,\n resolvedFile.byteLength\n );\n return new Response(data, {headers: {'content-type': resolvedFile.mimeType}});\n }\n };\n}\n\n/** Return the containing directory for a URL. */\nfunction getUrlBase(url: string): string {\n const slashIndex = url.lastIndexOf('/');\n return slashIndex >= 0 ? url.slice(0, slashIndex) : '';\n}\n\n/** Return the file name component for a URL. */\nfunction getUrlFilename(url: string): string {\n const slashIndex = url.lastIndexOf('/');\n return slashIndex >= 0 ? url.slice(slashIndex + 1) : url;\n}\n\n/** Resolve all draft glTF 2.1 unified file references. */\nasync function loadFiles(\n gltf: GLTFWithBuffers,\n options: GLTFLoaderOptions,\n context: LoaderContext\n): Promise<void> {\n const files = gltf.json.files || [];\n await Promise.all(\n files.map((_, fileIndex) => resolveGLTFFile(gltf, fileIndex, options, context))\n );\n}\n\n/** Asynchronously fetch and parse buffers, store in buffers array outside of json\n * TODO - traverse gltf and determine which buffers are actually needed\n */\nasync function loadBuffers(\n gltf: GLTFWithBuffers,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n configuredBufferIndices?: number[] | ((json: GLTF) => number[])\n) {\n // TODO\n const buffers = gltf.json.buffers || [];\n const selectedBufferIndices = configuredBufferIndices\n ? new Set(\n typeof configuredBufferIndices === 'function'\n ? configuredBufferIndices(gltf.json)\n : configuredBufferIndices\n )\n : undefined;\n for (let i = 0; i < buffers.length; ++i) {\n if (selectedBufferIndices && !selectedBufferIndices.has(i)) {\n continue;\n }\n const buffer = buffers[i];\n if (buffer.uri) {\n const {fetch} = context;\n assert(fetch);\n\n const uri = resolveUrl(buffer.uri, options, context);\n const response = await context?.fetch?.(uri);\n const arrayBuffer = await response?.arrayBuffer?.();\n\n gltf.buffers[i] = {\n arrayBuffer,\n byteOffset: 0,\n byteLength: arrayBuffer.byteLength\n };\n\n delete buffer.uri;\n } else if (gltf.buffers[i] === null) {\n gltf.buffers[i] = {\n arrayBuffer: new ArrayBuffer(buffer.byteLength),\n byteOffset: 0,\n byteLength: buffer.byteLength\n };\n }\n }\n}\n\n/**\n * Loads all images\n * TODO - traverse gltf and determine which images are actually needed\n * @param gltf\n * @param options\n * @param context\n * @returns\n */\nasync function loadImages(gltf: GLTFWithBuffers, options, context: LoaderContext) {\n const imageIndices = getReferencesImageIndices(gltf);\n\n const images = gltf.json.images || [];\n\n const promises: Promise<any>[] = [];\n for (const imageIndex of imageIndices) {\n promises.push(loadImage(gltf, images[imageIndex], imageIndex, options, context));\n }\n\n return await Promise.all(promises);\n}\n\n/** Return image indices referenced by textures or draft glTF 2.1 asset metadata. */\nfunction getReferencesImageIndices(gltf: GLTFWithBuffers): number[] {\n const imageIndices = new Set<number>();\n\n if (gltf.json.asset.thumbnail !== undefined) {\n imageIndices.add(gltf.json.asset.thumbnail);\n }\n\n const textures = gltf.json.textures || [];\n for (const texture of textures) {\n if (texture.source !== undefined) {\n imageIndices.add(texture.source);\n }\n }\n\n return Array.from(imageIndices).sort();\n}\n\n/** Asynchronously fetches and parses one image, store in images array outside of json */\nasync function loadImage(\n gltf: GLTFWithBuffers,\n image,\n index: number,\n options,\n context: LoaderContext\n) {\n let arrayBuffer;\n\n if (image.uri && !image.hasOwnProperty('bufferView')) {\n const uri = resolveUrl(image.uri, options, context);\n\n const {fetch} = context;\n const response = await fetch(uri);\n\n arrayBuffer = await response.arrayBuffer();\n image.bufferView = {\n data: arrayBuffer\n };\n }\n\n if (Number.isFinite(image.bufferView)) {\n const array = getTypedArrayForBufferView(gltf.json, gltf.buffers, image.bufferView);\n arrayBuffer = sliceArrayBuffer(array.buffer, array.byteOffset, array.byteLength);\n }\n\n assert(arrayBuffer, 'glTF image has no data');\n\n const gltfOptions = getGLTFImageOptions(options, image.mimeType);\n\n // Call `parse`\n let parsedImage = (await parseFromContext(\n arrayBuffer,\n [ImageLoader, BasisLoader],\n gltfOptions,\n context\n )) as ImageType | TextureLevel[][];\n\n if (parsedImage && parsedImage[0]) {\n parsedImage = {\n compressed: true,\n // @ts-expect-error\n mipmaps: false,\n width: parsedImage[0].width,\n height: parsedImage[0].height,\n data: parsedImage[0]\n };\n }\n // TODO making sure ImageLoader is overridable by using array of loaders\n // const parsedImage = await parse(arrayBuffer, [ImageLoader]);\n\n // Store the loaded image\n gltf.images = gltf.images || [];\n // @ts-expect-error TODO - sort out image typing asap\n gltf.images[index] = parsedImage;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable camelcase, max-statements, no-restricted-globals */\nimport type {LoaderContext} from '@loaders.gl/core/loader-utils';\nimport type {GLTFLoaderOptions} from '../../gltf-loader-types';\nimport type {GLTF} from '../types/gltf-json-schema';\nimport type {GLTFExternalFile, GLTFWithBuffers} from '../types/gltf-types';\nimport type {GLB} from '../types/glb-types';\nimport type {ParseGLBOptions} from './parse-glb';\n\nimport type {ImageType, TextureLevel} from '@loaders.gl/core/schema';\nimport {parseJSON, sliceArrayBuffer, parseFromContext} from '@loaders.gl/core/loader-utils';\nimport {ImageLoader} from '@loaders.gl/images';\nimport {BasisLoader} from '@loaders.gl/images';\n\nimport {assert} from '../utils/assert';\nimport {isGLB, parseGLBSync} from './parse-glb';\nimport {canonicalizeUrl, resolveUrl} from '../gltf-utils/resolve-url';\nimport {findGLTFFileIndex, resolveGLTFFile} from '../gltf-utils/resolve-gltf-file';\nimport {getTypedArrayForBufferView} from '../gltf-utils/get-typed-array';\nimport {preprocessExtensions, decodeExtensions} from '../api/gltf-extensions';\nimport {getDDSLoader} from '../extensions/MSFT_texture_dds';\nimport {normalizeGLTFV1WithDeferredBuffers} from '../api/normalize-gltf-v1';\n\n/** */\nexport type ParseGLTFOptions = ParseGLBOptions & {\n /** Best-effort glTF 1 conversion; strict rejects reported unsupported features. @default true */\n normalize?: boolean | 'best-effort' | 'strict';\n loadImages?: boolean;\n /** Load encoded KHR_audio_emitter clips independently of loadBuffers, without playback. @default true */\n loadAudio?: boolean;\n /** Load linked and embedded buffers; required for meshopt decompression. @default true */\n loadBuffers?: boolean;\n /** @internal Restrict linked-buffer loading after the glTF JSON is available. */\n loadBufferIndices?: number[] | ((json: GLTF) => number[]);\n /** @internal Restrict meshopt decompression to selected buffer views. */\n decompressBufferViewIndices?: number[] | ((json: GLTF) => number[]);\n /** Resolve draft glTF 2.1 `files` entries. */\n loadFiles?: boolean;\n /** Recursively parse draft glTF 2.1 external assets referenced by nodes. */\n loadExternalAssets?: boolean;\n /** Decompress Draco, `EXT_meshopt_compression`, and `KHR_meshopt_compression` data. @default true */\n decompressMeshes?: boolean;\n /** Interpret missing metadata in legacy SPZ2 Gaussian primitives using this assumed color space. */\n legacyGaussianSplatColorSpace?: 'srgb_rec709_display' | 'lin_rec709_display';\n /** Optional decoder for embedded SPZ2 Gaussian payloads; bytes are explicitly in LUF coordinates. */\n splatDecoder?: (\n data: ArrayBuffer,\n options: {sourceCoordinateSystem: 'LUF'; targetCoordinateSystem?: string}\n ) => unknown | Promise<unknown>;\n excludeExtensions?: string[];\n};\n\n/**\n * Creates options for parsing an image referenced by a glTF asset.\n * Preserves automatic Basis format selection until the worker can inspect the source codec.\n * @param options - glTF loader options.\n * @param mimeType - MIME type declared by the glTF image.\n * @returns Loader options for the referenced image.\n */\nexport function getGLTFImageOptions(\n options: GLTFLoaderOptions,\n mimeType?: string\n): GLTFLoaderOptions {\n const basisOptions = options.basis;\n return {\n ...options,\n core: {...options.core, mimeType},\n basis: {...basisOptions, format: basisOptions?.format || 'auto'}\n };\n}\n\n/** Check if an array buffer appears to contain GLTF data */\nexport function isGLTF(arrayBuffer: ArrayBuffer, options?: ParseGLTFOptions): boolean {\n const byteOffset = 0;\n return isGLB(arrayBuffer, byteOffset, options);\n}\n\nexport async function parseGLTF(\n gltf: GLTFWithBuffers,\n arrayBufferOrString,\n byteOffset = 0,\n options: GLTFLoaderOptions,\n context: LoaderContext\n): Promise<GLTFWithBuffers> {\n return await parseGLTFWithExternalAssets(gltf, arrayBufferOrString, byteOffset, options, context);\n}\n\n/** Parse glTF data while carrying recursion state through nested external assets. */\nasync function parseGLTFWithExternalAssets(\n gltf: GLTFWithBuffers,\n arrayBufferOrString,\n byteOffset: number,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n externalAssetLoadState?: ExternalAssetLoadState\n): Promise<GLTFWithBuffers> {\n parseGLTFContainerSync(gltf, arrayBufferOrString, byteOffset, options);\n\n const finishNormalization = normalizeGLTFV1WithDeferredBuffers(gltf, {\n normalize: options?.gltf?.normalize,\n log: options?.core?.log\n });\n\n await preprocessExtensions(gltf, options, context);\n\n // Load linked buffers asynchronously and decodes base64 buffers in parallel\n if (options?.gltf?.loadBuffers && gltf.json.buffers) {\n await loadBuffers(gltf, options, context, options.gltf.loadBufferIndices);\n }\n finishNormalization();\n\n if (options?.gltf?.loadFiles && gltf.json.files) {\n await loadFiles(gltf, options, context);\n }\n\n if (options?.gltf?.loadExternalAssets && gltf.json.externalAssets) {\n await loadExternalAssets(gltf, options, context, externalAssetLoadState);\n }\n\n // loadImages and decodeExtensions should not be running in parallel, because\n // decodeExtensions uses data from images taken during the loadImages call.\n if (options?.gltf?.loadImages) {\n await loadImages(gltf, options, context);\n }\n\n await decodeExtensions(gltf, options, context);\n\n return gltf;\n}\n\n/**\n *\n * @param gltf\n * @param data - can be ArrayBuffer (GLB), ArrayBuffer (Binary JSON), String (JSON), or Object (parsed JSON)\n * @param byteOffset\n * @param options\n */\nfunction parseGLTFContainerSync(gltf, data, byteOffset, options: GLTFLoaderOptions) {\n // Initialize gltf container\n if (options.core?.baseUrl) {\n gltf.baseUri = options.core?.baseUrl;\n }\n\n // If data is binary and starting with magic bytes, assume binary JSON text, convert to string\n if (data instanceof ArrayBuffer && !isGLB(data, byteOffset, options.glb)) {\n const textDecoder = new TextDecoder();\n data = textDecoder.decode(data);\n }\n\n if (typeof data === 'string') {\n // If string, try to parse as JSON\n gltf.json = parseJSON(data);\n } else if (data instanceof ArrayBuffer) {\n // If still ArrayBuffer, parse as GLB container\n const glb: GLB = {} as GLB;\n byteOffset = parseGLBSync(glb, data, byteOffset, options.glb);\n\n assert(glb.type === 'glTF', `Invalid GLB magic string ${glb.type}`);\n\n gltf._glb = glb;\n gltf.json = glb.json;\n } else if (data && typeof data === 'object') {\n // Callers that already decoded JSON can retain the parsed object. This avoids a second\n // serialization/parsing pass while preserving the normal extension and external-asset flow.\n gltf.json = data;\n } else {\n assert(false, 'GLTF: must be ArrayBuffer, string, or parsed JSON object');\n }\n\n // Populate buffers\n // Create an external buffers array to hold binary data\n const buffers = gltf.json.buffers || [];\n const bufferDefinitions = Array.isArray(buffers) ? buffers : [];\n const bufferIds = Array.isArray(buffers) ? [] : Object.keys(buffers);\n gltf.buffers = new Array(Array.isArray(buffers) ? buffers.length : bufferIds.length).fill(null);\n\n // Resolve GLB chunks into the parallel buffers array.\n if (gltf._glb) {\n const {binChunks} = gltf._glb;\n\n for (let bufferIndex = 0; bufferIndex < bufferDefinitions.length; bufferIndex++) {\n const buffer = bufferDefinitions[bufferIndex];\n if (buffer.chunk === undefined) {\n continue;\n }\n\n assert(gltf._glb.version === 3, 'glTF buffer.chunk requires a GLB v3 container.');\n assert(\n buffer.uri === undefined,\n `glTF buffer ${bufferIndex} cannot define both uri and chunk.`\n );\n const binChunk = binChunks.find(chunk => chunk.chunkIndex === buffer.chunk);\n assert(\n binChunk,\n `glTF buffer ${bufferIndex} references missing GLB BIN chunk ${buffer.chunk}.`\n );\n assert(\n buffer.byteLength <= binChunk.byteLength,\n `glTF buffer ${bufferIndex} is larger than GLB BIN chunk ${buffer.chunk}.`\n );\n gltf.buffers[bufferIndex] = {\n arrayBuffer: binChunk.arrayBuffer,\n byteOffset: binChunk.byteOffset,\n byteLength: buffer.byteLength\n };\n }\n\n const uriLessBufferIndices = bufferDefinitions\n .map((buffer, bufferIndex) => (buffer.uri === undefined ? bufferIndex : -1))\n .filter(bufferIndex => bufferIndex !== -1);\n const implicitBinChunk = binChunks.find(chunk => chunk.chunkIndex === 1);\n const usesLegacyImplicitBuffer =\n gltf._glb.version < 3 ||\n (gltf._glb.jsonChunkIndex === 0 &&\n bufferDefinitions[0]?.chunk === undefined &&\n uriLessBufferIndices.length === 1 &&\n uriLessBufferIndices[0] === 0 &&\n Boolean(implicitBinChunk));\n const legacyImplicitBinChunk = gltf._glb.version < 3 ? binChunks[0] : implicitBinChunk;\n // glTF 1 dictionaries have no required key order. Normalization subsequently moves\n // the named body and its payload to index zero for glTF 2.\n const binaryBufferIndex =\n gltf._glb.version === 1 && !Array.isArray(buffers) ? bufferIds.indexOf('binary_glTF') : 0;\n\n if (usesLegacyImplicitBuffer && legacyImplicitBinChunk && binaryBufferIndex >= 0) {\n gltf.buffers[binaryBufferIndex] = {\n arrayBuffer: legacyImplicitBinChunk.arrayBuffer,\n byteOffset: legacyImplicitBinChunk.byteOffset,\n byteLength: legacyImplicitBinChunk.byteLength\n };\n }\n\n if (gltf._glb.version === 3) {\n for (const bufferIndex of uriLessBufferIndices) {\n assert(\n gltf.buffers[bufferIndex],\n `glTF buffer ${bufferIndex} without a uri must define a valid GLB v3 chunk.`\n );\n }\n }\n\n // TODO - this modifies JSON and is a post processing thing\n // gltf.json.buffers[0].data = gltf.buffers[0].arrayBuffer;\n // gltf.json.buffers[0].byteOffset = gltf.buffers[0].byteOffset;\n }\n\n if (!gltf._glb) {\n const chunkBufferIndex = bufferDefinitions.findIndex(buffer => buffer.chunk !== undefined);\n assert(chunkBufferIndex === -1, `glTF buffer ${chunkBufferIndex} uses chunk outside a GLB.`);\n }\n\n // Populate images\n const images = gltf.json.images || [];\n gltf.images = new Array(images.length).fill({});\n\n const files = gltf.json.files || [];\n gltf.files = new Array(files.length).fill(null);\n\n const externalAssets = gltf.json.externalAssets || [];\n gltf.externalAssets = new Array(externalAssets.length).fill(null);\n}\n\ntype ExternalAssetLoadState = {\n /** Parsed assets keyed by their resolved URI. */\n cache: Map<string, Promise<GLTFWithBuffers>>;\n /** Resolved URIs in the current recursion chain. */\n ancestors: Set<string>;\n /** Shared counter used to isolate virtual package URL namespaces. */\n packageIds: {next: number};\n};\n\nconst PACKAGE_URL_PREFIX = 'gltf-package://';\n\n/** Recursively resolve external assets instantiated by nodes. */\nasync function loadExternalAssets(\n gltf: GLTFWithBuffers,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n inheritedState?: ExternalAssetLoadState\n): Promise<void> {\n const externalAssets = gltf.json.externalAssets || [];\n const referencedIndices = new Set<number>();\n for (const node of gltf.json.nodes || []) {\n if (node.externalAsset !== undefined) {\n assert(\n node.externalAsset >= 0 && node.externalAsset < externalAssets.length,\n `glTF node references missing external asset ${node.externalAsset}.`\n );\n referencedIndices.add(node.externalAsset);\n }\n }\n\n const state =\n inheritedState ||\n createExternalAssetLoadState(context.url ? new Set([canonicalizeUrl(context.url)]) : new Set());\n for (const externalAssetIndex of referencedIndices) {\n await loadExternalAsset(gltf, externalAssetIndex, options, context, state);\n }\n}\n\n/** Parse one external asset and cache repeated file references. */\nasync function loadExternalAsset(\n gltf: GLTFWithBuffers,\n externalAssetIndex: number,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n state: ExternalAssetLoadState\n): Promise<void> {\n const externalAsset = gltf.json.externalAssets?.[externalAssetIndex];\n if (!externalAsset) {\n throw new Error(`Missing glTF external asset ${externalAssetIndex}.`);\n }\n assert(\n Number.isInteger(externalAsset.file) &&\n externalAsset.file >= 0 &&\n externalAsset.file < (gltf.json.files?.length || 0),\n `glTF external asset ${externalAssetIndex} references missing file ${externalAsset.file}.`\n );\n\n const file = await resolveGLTFFile(gltf, externalAsset.file, options, context);\n const assetKey = file.url;\n assert(\n !assetKey || !state.ancestors.has(assetKey),\n `glTF external asset cycle detected at ${assetKey}.`\n );\n\n let parsedAsset = assetKey ? state.cache.get(assetKey) : undefined;\n if (!parsedAsset) {\n const childContext = createExternalAssetContext(gltf, file, options, context, state);\n const childState: ExternalAssetLoadState = {\n ...state,\n ancestors: new Set(state.ancestors)\n };\n if (assetKey) {\n childState.ancestors.add(assetKey);\n }\n const data = sliceArrayBuffer(file.arrayBuffer, file.byteOffset, file.byteLength);\n parsedAsset = parseGLTFWithExternalAssets(\n {} as GLTFWithBuffers,\n data,\n 0,\n options,\n childContext,\n childState\n );\n if (assetKey) {\n state.cache.set(assetKey, parsedAsset);\n }\n }\n\n gltf.externalAssets = gltf.externalAssets || [];\n gltf.externalAssets[externalAssetIndex] = await parsedAsset;\n}\n\n/** Create recursive loading state for an external-asset tree. */\nfunction createExternalAssetLoadState(ancestors: Set<string>): ExternalAssetLoadState {\n return {cache: new Map(), ancestors, packageIds: {next: 0}};\n}\n\n/** Create URL and fetch semantics for a nested external asset. */\nfunction createExternalAssetContext(\n parent: GLTFWithBuffers,\n file: GLTFExternalFile,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n state: ExternalAssetLoadState\n): LoaderContext {\n if (file.url && !file.url.startsWith('data:')) {\n return {\n ...context,\n url: file.url,\n filename: getUrlFilename(file.url),\n baseUrl: getUrlBase(file.url)\n };\n }\n\n const packageBaseUrl = `${PACKAGE_URL_PREFIX}${state.packageIds.next++}`;\n const packageUrlPrefix = `${packageBaseUrl}/`;\n return {\n ...context,\n url: file.name,\n filename: file.name,\n baseUrl: packageBaseUrl,\n fetch: async (resource: string, init?: RequestInit) => {\n const url = resource;\n if (url.startsWith('data:')) {\n return await context.fetch(resource, init);\n }\n const reference = url.startsWith(packageUrlPrefix) ? url.slice(packageUrlPrefix.length) : url;\n const fileIndex = findGLTFFileIndex(parent, reference);\n assert(fileIndex >= 0, `glTF package does not contain file ${reference}.`);\n const resolvedFile = await resolveGLTFFile(parent, fileIndex, options, context);\n const data = sliceArrayBuffer(\n resolvedFile.arrayBuffer,\n resolvedFile.byteOffset,\n resolvedFile.byteLength\n );\n return new Response(data, {headers: {'content-type': resolvedFile.mimeType}});\n }\n };\n}\n\n/** Return the containing directory for a URL. */\nfunction getUrlBase(url: string): string {\n const slashIndex = url.lastIndexOf('/');\n return slashIndex >= 0 ? url.slice(0, slashIndex) : '';\n}\n\n/** Return the file name component for a URL. */\nfunction getUrlFilename(url: string): string {\n const slashIndex = url.lastIndexOf('/');\n return slashIndex >= 0 ? url.slice(slashIndex + 1) : url;\n}\n\n/** Resolve all draft glTF 2.1 unified file references. */\nasync function loadFiles(\n gltf: GLTFWithBuffers,\n options: GLTFLoaderOptions,\n context: LoaderContext\n): Promise<void> {\n const files = gltf.json.files || [];\n await Promise.all(\n files.map((_, fileIndex) => resolveGLTFFile(gltf, fileIndex, options, context))\n );\n}\n\n/** Asynchronously fetch and parse buffers, store in buffers array outside of json\n * TODO - traverse gltf and determine which buffers are actually needed\n */\nasync function loadBuffers(\n gltf: GLTFWithBuffers,\n options: GLTFLoaderOptions,\n context: LoaderContext,\n configuredBufferIndices?: number[] | ((json: GLTF) => number[])\n) {\n // TODO\n const buffers = gltf.json.buffers || [];\n const selectedBufferIndices = configuredBufferIndices\n ? new Set(\n typeof configuredBufferIndices === 'function'\n ? configuredBufferIndices(gltf.json)\n : configuredBufferIndices\n )\n : undefined;\n for (let i = 0; i < buffers.length; ++i) {\n if (selectedBufferIndices && !selectedBufferIndices.has(i)) {\n continue;\n }\n const buffer = buffers[i];\n if (buffer.uri) {\n const {fetch} = context;\n assert(fetch);\n\n const uri = resolveUrl(buffer.uri, options, context);\n const response = await context?.fetch?.(uri);\n const arrayBuffer = await response?.arrayBuffer?.();\n\n gltf.buffers[i] = {\n arrayBuffer,\n byteOffset: 0,\n byteLength: arrayBuffer.byteLength\n };\n\n delete buffer.uri;\n } else if (gltf.buffers[i] === null) {\n gltf.buffers[i] = {\n arrayBuffer: new ArrayBuffer(buffer.byteLength),\n byteOffset: 0,\n byteLength: buffer.byteLength\n };\n }\n }\n}\n\n/**\n * Loads all images\n * TODO - traverse gltf and determine which images are actually needed\n * @param gltf\n * @param options\n * @param context\n * @returns\n */\nasync function loadImages(gltf: GLTFWithBuffers, options, context: LoaderContext) {\n const imageIndices = getReferencesImageIndices(gltf);\n\n const images = gltf.json.images || [];\n\n const promises: Promise<any>[] = [];\n for (const imageIndex of imageIndices) {\n promises.push(loadImage(gltf, images[imageIndex], imageIndex, options, context));\n }\n\n return await Promise.all(promises);\n}\n\n/** Return image indices referenced by textures or draft glTF 2.1 asset metadata. */\nfunction getReferencesImageIndices(gltf: GLTFWithBuffers): number[] {\n const imageIndices = new Set<number>();\n\n if (gltf.json.asset.thumbnail !== undefined) {\n imageIndices.add(gltf.json.asset.thumbnail);\n }\n\n const textures = gltf.json.textures || [];\n for (const texture of textures) {\n if (texture.source !== undefined) {\n imageIndices.add(texture.source);\n }\n }\n\n return Array.from(imageIndices).sort();\n}\n\n/** Asynchronously fetches and parses one image, store in images array outside of json */\nasync function loadImage(\n gltf: GLTFWithBuffers,\n image,\n index: number,\n options,\n context: LoaderContext\n) {\n let arrayBuffer;\n\n if (image.uri && !image.hasOwnProperty('bufferView')) {\n const uri = resolveUrl(image.uri, options, context);\n\n const {fetch} = context;\n const response = await fetch(uri);\n\n arrayBuffer = await response.arrayBuffer();\n image.bufferView = {\n data: arrayBuffer\n };\n }\n\n if (Number.isFinite(image.bufferView)) {\n const array = getTypedArrayForBufferView(gltf.json, gltf.buffers, image.bufferView);\n arrayBuffer = sliceArrayBuffer(array.buffer, array.byteOffset, array.byteLength);\n }\n\n assert(arrayBuffer, 'glTF image has no data');\n\n const gltfOptions = getGLTFImageOptions(options, image.mimeType);\n\n const ddsLoader = getDDSLoader(context);\n const ddsSelected = Boolean(\n ddsLoader &&\n !options.gltf?.excludeExtensions?.includes('MSFT_texture_dds') &&\n gltf.json.textures?.some(\n texture =>\n texture.source === index && texture.extensions?.MSFT_texture_dds?.source === index\n )\n );\n if (ddsSelected) {\n const levels = (await parseFromContext(\n arrayBuffer,\n ddsLoader!,\n options,\n context\n )) as TextureLevel[];\n assert(levels.length > 0, 'MSFT_texture_dds parser returned no texture levels');\n gltf.images = gltf.images || [];\n gltf.images[index] = {\n compressed: true,\n mipmaps: true,\n width: levels[0].width,\n height: levels[0].height,\n data: levels\n };\n return;\n }\n\n // Call `parse`\n let parsedImage = (await parseFromContext(\n arrayBuffer,\n [ImageLoader, BasisLoader],\n gltfOptions,\n context\n )) as ImageType | TextureLevel[][];\n\n if (parsedImage && parsedImage[0]) {\n parsedImage = {\n compressed: true,\n // @ts-expect-error\n mipmaps: false,\n width: parsedImage[0].width,\n height: parsedImage[0].height,\n data: parsedImage[0]\n };\n }\n // TODO making sure ImageLoader is overridable by using array of loaders\n // const parsedImage = await parse(arrayBuffer, [ImageLoader]);\n\n // Store the loaded image\n gltf.images = gltf.images || [];\n // @ts-expect-error TODO - sort out image typing asap\n gltf.images[index] = parsedImage;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_images"]
7
7
  }
@@ -22,6 +22,8 @@ export type ParseGLTFOptions = ParseGLBOptions & {
22
22
  loadExternalAssets?: boolean;
23
23
  /** Decompress Draco, `EXT_meshopt_compression`, and `KHR_meshopt_compression` data. @default true */
24
24
  decompressMeshes?: boolean;
25
+ /** Interpret missing metadata in legacy SPZ2 Gaussian primitives using this assumed color space. */
26
+ legacyGaussianSplatColorSpace?: 'srgb_rec709_display' | 'lin_rec709_display';
25
27
  /** Optional decoder for embedded SPZ2 Gaussian payloads; bytes are explicitly in LUF coordinates. */
26
28
  splatDecoder?: (data: ArrayBuffer, options: {
27
29
  sourceCoordinateSystem: 'LUF';
@@ -1 +1 @@
1
- {"version":3,"file":"parse-gltf.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/parsers/parse-gltf.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAC,iBAAiB,EAAC,mCAAgC;AAC/D,OAAO,KAAK,EAAC,IAAI,EAAC,qCAAkC;AACpD,OAAO,KAAK,EAAmB,eAAe,EAAC,+BAA4B;AAE3E,OAAO,KAAK,EAAC,eAAe,EAAC,uBAAoB;AAejD,OAAO;AACP,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yGAAyG;IACzG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC1D,yEAAyE;IACzE,2BAA2B,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IACpE,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qGAAqG;IACrG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qGAAqG;IACrG,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE;QAAC,sBAAsB,EAAE,KAAK,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAC,KACtE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,iBAAiB,CAOnB;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAGpF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,eAAe,EACrB,mBAAmB,KAAA,EACnB,UAAU,oBAAI,EACd,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,eAAe,CAAC,CAE1B"}
1
+ {"version":3,"file":"parse-gltf.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/parsers/parse-gltf.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAC,iBAAiB,EAAC,mCAAgC;AAC/D,OAAO,KAAK,EAAC,IAAI,EAAC,qCAAkC;AACpD,OAAO,KAAK,EAAmB,eAAe,EAAC,+BAA4B;AAE3E,OAAO,KAAK,EAAC,eAAe,EAAC,uBAAoB;AAgBjD,OAAO;AACP,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,iGAAiG;IACjG,SAAS,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yGAAyG;IACzG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IAC1D,yEAAyE;IACzE,2BAA2B,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC,CAAC;IACpE,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4EAA4E;IAC5E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qGAAqG;IACrG,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oGAAoG;IACpG,6BAA6B,CAAC,EAAE,qBAAqB,GAAG,oBAAoB,CAAC;IAC7E,qGAAqG;IACrG,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE;QAAC,sBAAsB,EAAE,KAAK,CAAC;QAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAAC,KACtE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,iBAAiB,CAOnB;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAGpF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,eAAe,EACrB,mBAAmB,KAAA,EACnB,UAAU,oBAAI,EACd,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,eAAe,CAAC,CAE1B"}
@@ -10,6 +10,7 @@ import { canonicalizeUrl, resolveUrl } from "../gltf-utils/resolve-url.js";
10
10
  import { findGLTFFileIndex, resolveGLTFFile } from "../gltf-utils/resolve-gltf-file.js";
11
11
  import { getTypedArrayForBufferView } from "../gltf-utils/get-typed-array.js";
12
12
  import { preprocessExtensions, decodeExtensions } from "../api/gltf-extensions.js";
13
+ import { getDDSLoader } from "../extensions/MSFT_texture_dds.js";
13
14
  import { normalizeGLTFV1WithDeferredBuffers } from "../api/normalize-gltf-v1.js";
14
15
  /**
15
16
  * Creates options for parsing an image referenced by a glTF asset.
@@ -350,6 +351,23 @@ async function loadImage(gltf, image, index, options, context) {
350
351
  }
351
352
  assert(arrayBuffer, 'glTF image has no data');
352
353
  const gltfOptions = getGLTFImageOptions(options, image.mimeType);
354
+ const ddsLoader = getDDSLoader(context);
355
+ const ddsSelected = Boolean(ddsLoader &&
356
+ !options.gltf?.excludeExtensions?.includes('MSFT_texture_dds') &&
357
+ gltf.json.textures?.some(texture => texture.source === index && texture.extensions?.MSFT_texture_dds?.source === index));
358
+ if (ddsSelected) {
359
+ const levels = (await parseFromContext(arrayBuffer, ddsLoader, options, context));
360
+ assert(levels.length > 0, 'MSFT_texture_dds parser returned no texture levels');
361
+ gltf.images = gltf.images || [];
362
+ gltf.images[index] = {
363
+ compressed: true,
364
+ mipmaps: true,
365
+ width: levels[0].width,
366
+ height: levels[0].height,
367
+ data: levels
368
+ };
369
+ return;
370
+ }
353
371
  // Call `parse`
354
372
  let parsedImage = (await parseFromContext(arrayBuffer, [ImageLoader, BasisLoader], gltfOptions, context));
355
373
  if (parsedImage && parsedImage[0]) {
@@ -1 +1 @@
1
- {"version":3,"file":"parse-gltf.js","sourceRoot":"","sources":["../../../../src/gltf/lib/parsers/parse-gltf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-gltf.js","sourceRoot":"","sources":["../../../../src/gltf/lib/parsers/parse-gltf.ts"],"names":[],"mappings":"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"}
@@ -21,9 +21,11 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var gltf_additional_extension_schemas_exports = {};
22
22
  __export(gltf_additional_extension_schemas_exports, {
23
23
  GLTFEXTMeshGPUInstancingSchema: () => GLTFEXTMeshGPUInstancingSchema,
24
+ GLTFFBGeometryMetadataSchema: () => GLTFFBGeometryMetadataSchema,
24
25
  GLTFKHRAnimationPointerSchema: () => GLTFKHRAnimationPointerSchema,
25
26
  GLTFKHRMaterialVariantMappingSchema: () => GLTFKHRMaterialVariantMappingSchema,
26
27
  GLTFKHRMaterialVariantSchema: () => GLTFKHRMaterialVariantSchema,
28
+ GLTFKHRMaterialsEmissiveStrengthSchema: () => GLTFKHRMaterialsEmissiveStrengthSchema,
27
29
  GLTFKHRMaterialsVariantsPrimitiveSchema: () => GLTFKHRMaterialsVariantsPrimitiveSchema,
28
30
  GLTFKHRMaterialsVariantsSchema: () => GLTFKHRMaterialsVariantsSchema,
29
31
  GLTFKHRNodeHoverabilitySchema: () => GLTFKHRNodeHoverabilitySchema,
@@ -105,12 +107,32 @@ var GLTFKHRXMPJSONLDReferenceSchema = import_zod.z.looseObject({
105
107
  /** Index into the document-level packets array. */
106
108
  packet: indexSchema
107
109
  });
110
+ var GLTFKHRMaterialsEmissiveStrengthSchema = import_zod.z.looseObject({
111
+ ...propertyShape,
112
+ /** Unitless multiplier; defaults to one when omitted. */
113
+ emissiveStrength: import_zod.z.number().nonnegative().optional()
114
+ });
115
+ var GLTFFBGeometryMetadataSchema = import_zod.z.looseObject({
116
+ ...propertyShape,
117
+ /** Authored count of vertices. */
118
+ vertexCount: import_zod.z.number().nonnegative().optional(),
119
+ /** Authored count of primitives. */
120
+ primitiveCount: import_zod.z.number().nonnegative().optional(),
121
+ /** Static scene-space bounding box. */
122
+ sceneBounds: import_zod.z.looseObject({
123
+ ...propertyShape,
124
+ min: import_zod.z.array(import_zod.z.number()).length(3),
125
+ max: import_zod.z.array(import_zod.z.number()).length(3)
126
+ }).optional()
127
+ });
108
128
  // Annotate the CommonJS export names for ESM import in node:
109
129
  0 && (module.exports = {
110
130
  GLTFEXTMeshGPUInstancingSchema,
131
+ GLTFFBGeometryMetadataSchema,
111
132
  GLTFKHRAnimationPointerSchema,
112
133
  GLTFKHRMaterialVariantMappingSchema,
113
134
  GLTFKHRMaterialVariantSchema,
135
+ GLTFKHRMaterialsEmissiveStrengthSchema,
114
136
  GLTFKHRMaterialsVariantsPrimitiveSchema,
115
137
  GLTFKHRMaterialsVariantsSchema,
116
138
  GLTFKHRNodeHoverabilitySchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/gltf/lib/types/gltf-additional-extension-schemas.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {z} from 'zod';\n\nconst indexSchema = z.number().int().nonnegative();\nconst propertyShape = {\n /** Nested extension declarations, including extensions unknown to this library. */\n extensions: z.record(z.string(), z.unknown()).optional(),\n /** Application-specific metadata. */\n extras: z.unknown().optional()\n};\n\n/** Permissive schema for one named material variant. */\nexport const GLTFKHRMaterialVariantSchema = z.looseObject({\n ...propertyShape,\n /** User-facing variant name. */\n name: z.string()\n});\n\n/** Permissive schema for document-level KHR_materials_variants. */\nexport const GLTFKHRMaterialsVariantsSchema = z.looseObject({\n ...propertyShape,\n /** Available variants, referenced by primitive mappings. */\n variants: z.array(GLTFKHRMaterialVariantSchema).min(1)\n});\n\n/** Permissive schema for a primitive's material-to-variant mapping. */\nexport const GLTFKHRMaterialVariantMappingSchema = z.looseObject({\n ...propertyShape,\n /** Optional application-facing mapping name. */\n name: z.string().optional(),\n /** Index into the document's materials array. */\n material: indexSchema,\n /** Indices into the document-level variant array. */\n variants: z.array(indexSchema).min(1)\n});\n\n/** Permissive schema for primitive-level KHR_materials_variants. */\nexport const GLTFKHRMaterialsVariantsPrimitiveSchema = z.looseObject({\n ...propertyShape,\n /** Material choices associated with this primitive. */\n mappings: z.array(GLTFKHRMaterialVariantMappingSchema).min(1)\n});\n\n/** Permissive schema for EXT_mesh_gpu_instancing, retaining custom instance attributes. */\nexport const GLTFEXTMeshGPUInstancingSchema = z.looseObject({\n ...propertyShape,\n /** Accessor indices for TRANSLATION, ROTATION, SCALE and custom instance attributes. */\n attributes: z.record(z.string(), indexSchema)\n});\n\n/** Permissive schema for KHR_animation_pointer on an animation channel target. */\nexport const GLTFKHRAnimationPointerSchema = z.looseObject({\n ...propertyShape,\n /** JSON Pointer identifying an animatable property in the original glTF document. */\n pointer: z.string()\n});\n\n/** Permissive schema for KHR_node_visibility; omitted visibility means true. */\nexport const GLTFKHRNodeVisibilitySchema = z.looseObject({\n ...propertyShape,\n /** Whether this node and its descendants are visible. */\n visible: z.boolean().optional()\n});\n\n/** Permissive schema for KHR_node_selectability; omitted selectability means true. */\nexport const GLTFKHRNodeSelectabilitySchema = z.looseObject({\n ...propertyShape,\n /** Whether this node and its descendants participate in selection. */\n selectable: z.boolean().optional()\n});\n\n/** Permissive schema for KHR_node_hoverability; omitted hoverability means true. */\nexport const GLTFKHRNodeHoverabilitySchema = z.looseObject({\n ...propertyShape,\n /** Whether this node and its descendants participate in hover interactions. */\n hoverable: z.boolean().optional()\n});\n\n/** Permissive XMP packet schema, retaining arbitrary JSON-LD namespaces and properties. */\nexport const GLTFKHRXMPPacketSchema = z.looseObject({\n /** Namespace declarations used by this packet. */\n '@context': z.record(z.string(), z.unknown())\n});\n\n/** Permissive schema for document-level KHR_xmp_json_ld. */\nexport const GLTFKHRXMPJSONLDSchema = z.looseObject({\n ...propertyShape,\n /** Shared metadata packets referenced by asset, scene, node and other objects. */\n packets: z.array(GLTFKHRXMPPacketSchema).min(1)\n});\n\n/** Permissive schema for an object's KHR_xmp_json_ld packet reference. */\nexport const GLTFKHRXMPJSONLDReferenceSchema = z.looseObject({\n ...propertyShape,\n /** Index into the document-level packets array. */\n packet: indexSchema\n});\n\n/** Document-level material variants with unknown extension properties preserved. */\nexport type GLTF_KHR_materials_variants = z.infer<typeof GLTFKHRMaterialsVariantsSchema>;\n/** One named material variant. */\nexport type GLTFMaterialVariant = z.infer<typeof GLTFKHRMaterialVariantSchema>;\n/** Primitive-level variant mappings. */\nexport type GLTF_KHR_materials_variants_primitive = z.infer<\n typeof GLTFKHRMaterialsVariantsPrimitiveSchema\n>;\n/** One mapping from a material to variant indices. */\nexport type GLTFMaterialVariantMapping = z.infer<typeof GLTFKHRMaterialVariantMappingSchema>;\n/** GPU instance accessor references, including custom attributes. */\nexport type GLTF_EXT_mesh_gpu_instancing = z.infer<typeof GLTFEXTMeshGPUInstancingSchema>;\n/** Animation channel target expressed as a JSON Pointer. */\nexport type GLTF_KHR_animation_pointer = z.infer<typeof GLTFKHRAnimationPointerSchema>;\n/** Local node visibility declaration. */\nexport type GLTF_KHR_node_visibility = z.infer<typeof GLTFKHRNodeVisibilitySchema>;\n/** Local node selectability declaration. */\nexport type GLTF_KHR_node_selectability = z.infer<typeof GLTFKHRNodeSelectabilitySchema>;\n/** Local node hoverability declaration. */\nexport type GLTF_KHR_node_hoverability = z.infer<typeof GLTFKHRNodeHoverabilitySchema>;\n/** Document-level XMP packet collection. */\nexport type GLTF_KHR_xmp_json_ld = z.infer<typeof GLTFKHRXMPJSONLDSchema>;\n/** One JSON-LD XMP metadata packet. */\nexport type GLTFXMPPacket = z.infer<typeof GLTFKHRXMPPacketSchema>;\n/** Reference to a shared XMP metadata packet. */\nexport type GLTF_KHR_xmp_json_ld_reference = z.infer<typeof GLTFKHRXMPJSONLDReferenceSchema>;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAgB;AAEhB,IAAM,cAAc,aAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AACjD,IAAM,gBAAgB;AAAA;AAAA,EAEpB,YAAY,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC,EAAE,SAAS;AAAA;AAAA,EAEvD,QAAQ,aAAE,QAAQ,EAAE,SAAS;AAC/B;AAGO,IAAM,+BAA+B,aAAE,YAAY;AAAA,EACxD,GAAG;AAAA;AAAA,EAEH,MAAM,aAAE,OAAO;AACjB,CAAC;AAGM,IAAM,iCAAiC,aAAE,YAAY;AAAA,EAC1D,GAAG;AAAA;AAAA,EAEH,UAAU,aAAE,MAAM,4BAA4B,EAAE,IAAI,CAAC;AACvD,CAAC;AAGM,IAAM,sCAAsC,aAAE,YAAY;AAAA,EAC/D,GAAG;AAAA;AAAA,EAEH,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAE1B,UAAU;AAAA;AAAA,EAEV,UAAU,aAAE,MAAM,WAAW,EAAE,IAAI,CAAC;AACtC,CAAC;AAGM,IAAM,0CAA0C,aAAE,YAAY;AAAA,EACnE,GAAG;AAAA;AAAA,EAEH,UAAU,aAAE,MAAM,mCAAmC,EAAE,IAAI,CAAC;AAC9D,CAAC;AAGM,IAAM,iCAAiC,aAAE,YAAY;AAAA,EAC1D,GAAG;AAAA;AAAA,EAEH,YAAY,aAAE,OAAO,aAAE,OAAO,GAAG,WAAW;AAC9C,CAAC;AAGM,IAAM,gCAAgC,aAAE,YAAY;AAAA,EACzD,GAAG;AAAA;AAAA,EAEH,SAAS,aAAE,OAAO;AACpB,CAAC;AAGM,IAAM,8BAA8B,aAAE,YAAY;AAAA,EACvD,GAAG;AAAA;AAAA,EAEH,SAAS,aAAE,QAAQ,EAAE,SAAS;AAChC,CAAC;AAGM,IAAM,iCAAiC,aAAE,YAAY;AAAA,EAC1D,GAAG;AAAA;AAAA,EAEH,YAAY,aAAE,QAAQ,EAAE,SAAS;AACnC,CAAC;AAGM,IAAM,gCAAgC,aAAE,YAAY;AAAA,EACzD,GAAG;AAAA;AAAA,EAEH,WAAW,aAAE,QAAQ,EAAE,SAAS;AAClC,CAAC;AAGM,IAAM,yBAAyB,aAAE,YAAY;AAAA;AAAA,EAElD,YAAY,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC;AAC9C,CAAC;AAGM,IAAM,yBAAyB,aAAE,YAAY;AAAA,EAClD,GAAG;AAAA;AAAA,EAEH,SAAS,aAAE,MAAM,sBAAsB,EAAE,IAAI,CAAC;AAChD,CAAC;AAGM,IAAM,kCAAkC,aAAE,YAAY;AAAA,EAC3D,GAAG;AAAA;AAAA,EAEH,QAAQ;AACV,CAAC;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {z} from 'zod';\n\nconst indexSchema = z.number().int().nonnegative();\nconst propertyShape = {\n /** Nested extension declarations, including extensions unknown to this library. */\n extensions: z.record(z.string(), z.unknown()).optional(),\n /** Application-specific metadata. */\n extras: z.unknown().optional()\n};\n\n/** Permissive schema for one named material variant. */\nexport const GLTFKHRMaterialVariantSchema = z.looseObject({\n ...propertyShape,\n /** User-facing variant name. */\n name: z.string()\n});\n\n/** Permissive schema for document-level KHR_materials_variants. */\nexport const GLTFKHRMaterialsVariantsSchema = z.looseObject({\n ...propertyShape,\n /** Available variants, referenced by primitive mappings. */\n variants: z.array(GLTFKHRMaterialVariantSchema).min(1)\n});\n\n/** Permissive schema for a primitive's material-to-variant mapping. */\nexport const GLTFKHRMaterialVariantMappingSchema = z.looseObject({\n ...propertyShape,\n /** Optional application-facing mapping name. */\n name: z.string().optional(),\n /** Index into the document's materials array. */\n material: indexSchema,\n /** Indices into the document-level variant array. */\n variants: z.array(indexSchema).min(1)\n});\n\n/** Permissive schema for primitive-level KHR_materials_variants. */\nexport const GLTFKHRMaterialsVariantsPrimitiveSchema = z.looseObject({\n ...propertyShape,\n /** Material choices associated with this primitive. */\n mappings: z.array(GLTFKHRMaterialVariantMappingSchema).min(1)\n});\n\n/** Permissive schema for EXT_mesh_gpu_instancing, retaining custom instance attributes. */\nexport const GLTFEXTMeshGPUInstancingSchema = z.looseObject({\n ...propertyShape,\n /** Accessor indices for TRANSLATION, ROTATION, SCALE and custom instance attributes. */\n attributes: z.record(z.string(), indexSchema)\n});\n\n/** Permissive schema for KHR_animation_pointer on an animation channel target. */\nexport const GLTFKHRAnimationPointerSchema = z.looseObject({\n ...propertyShape,\n /** JSON Pointer identifying an animatable property in the original glTF document. */\n pointer: z.string()\n});\n\n/** Permissive schema for KHR_node_visibility; omitted visibility means true. */\nexport const GLTFKHRNodeVisibilitySchema = z.looseObject({\n ...propertyShape,\n /** Whether this node and its descendants are visible. */\n visible: z.boolean().optional()\n});\n\n/** Permissive schema for KHR_node_selectability; omitted selectability means true. */\nexport const GLTFKHRNodeSelectabilitySchema = z.looseObject({\n ...propertyShape,\n /** Whether this node and its descendants participate in selection. */\n selectable: z.boolean().optional()\n});\n\n/** Permissive schema for KHR_node_hoverability; omitted hoverability means true. */\nexport const GLTFKHRNodeHoverabilitySchema = z.looseObject({\n ...propertyShape,\n /** Whether this node and its descendants participate in hover interactions. */\n hoverable: z.boolean().optional()\n});\n\n/** Permissive XMP packet schema, retaining arbitrary JSON-LD namespaces and properties. */\nexport const GLTFKHRXMPPacketSchema = z.looseObject({\n /** Namespace declarations used by this packet. */\n '@context': z.record(z.string(), z.unknown())\n});\n\n/** Permissive schema for document-level KHR_xmp_json_ld. */\nexport const GLTFKHRXMPJSONLDSchema = z.looseObject({\n ...propertyShape,\n /** Shared metadata packets referenced by asset, scene, node and other objects. */\n packets: z.array(GLTFKHRXMPPacketSchema).min(1)\n});\n\n/** Permissive schema for an object's KHR_xmp_json_ld packet reference. */\nexport const GLTFKHRXMPJSONLDReferenceSchema = z.looseObject({\n ...propertyShape,\n /** Index into the document-level packets array. */\n packet: indexSchema\n});\n\n/** Document-level material variants with unknown extension properties preserved. */\nexport type GLTF_KHR_materials_variants = z.infer<typeof GLTFKHRMaterialsVariantsSchema>;\n/** One named material variant. */\nexport type GLTFMaterialVariant = z.infer<typeof GLTFKHRMaterialVariantSchema>;\n/** Primitive-level variant mappings. */\nexport type GLTF_KHR_materials_variants_primitive = z.infer<\n typeof GLTFKHRMaterialsVariantsPrimitiveSchema\n>;\n/** One mapping from a material to variant indices. */\nexport type GLTFMaterialVariantMapping = z.infer<typeof GLTFKHRMaterialVariantMappingSchema>;\n/** GPU instance accessor references, including custom attributes. */\nexport type GLTF_EXT_mesh_gpu_instancing = z.infer<typeof GLTFEXTMeshGPUInstancingSchema>;\n/** Animation channel target expressed as a JSON Pointer. */\nexport type GLTF_KHR_animation_pointer = z.infer<typeof GLTFKHRAnimationPointerSchema>;\n/** Local node visibility declaration. */\nexport type GLTF_KHR_node_visibility = z.infer<typeof GLTFKHRNodeVisibilitySchema>;\n/** Local node selectability declaration. */\nexport type GLTF_KHR_node_selectability = z.infer<typeof GLTFKHRNodeSelectabilitySchema>;\n/** Local node hoverability declaration. */\nexport type GLTF_KHR_node_hoverability = z.infer<typeof GLTFKHRNodeHoverabilitySchema>;\n/** Document-level XMP packet collection. */\nexport type GLTF_KHR_xmp_json_ld = z.infer<typeof GLTFKHRXMPJSONLDSchema>;\n/** One JSON-LD XMP metadata packet. */\nexport type GLTFXMPPacket = z.infer<typeof GLTFKHRXMPPacketSchema>;\n/** Reference to a shared XMP metadata packet. */\nexport type GLTF_KHR_xmp_json_ld_reference = z.infer<typeof GLTFKHRXMPJSONLDReferenceSchema>;\n\n/** Permissive declaration for the KHR emissive-strength material extension. */\nexport const GLTFKHRMaterialsEmissiveStrengthSchema = z.looseObject({\n ...propertyShape,\n /** Unitless multiplier; defaults to one when omitted. */\n emissiveStrength: z.number().nonnegative().optional()\n});\n\n/** Authored KHR emissive-strength material declaration. */\nexport type GLTF_KHR_materials_emissive_strength = z.infer<\n typeof GLTFKHRMaterialsEmissiveStrengthSchema\n>;\n\n/** Permissive FB scene geometry summary in static scene coordinates. */\nexport const GLTFFBGeometryMetadataSchema = z.looseObject({\n ...propertyShape,\n /** Authored count of vertices. */\n vertexCount: z.number().nonnegative().optional(),\n /** Authored count of primitives. */\n primitiveCount: z.number().nonnegative().optional(),\n /** Static scene-space bounding box. */\n sceneBounds: z\n .looseObject({\n ...propertyShape,\n min: z.array(z.number()).length(3),\n max: z.array(z.number()).length(3)\n })\n .optional()\n});\n\n/** Authored FB scene geometry summary. */\nexport type GLTF_FB_geometry_metadata = z.infer<typeof GLTFFBGeometryMetadataSchema>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAgB;AAEhB,IAAM,cAAc,aAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AACjD,IAAM,gBAAgB;AAAA;AAAA,EAEpB,YAAY,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC,EAAE,SAAS;AAAA;AAAA,EAEvD,QAAQ,aAAE,QAAQ,EAAE,SAAS;AAC/B;AAGO,IAAM,+BAA+B,aAAE,YAAY;AAAA,EACxD,GAAG;AAAA;AAAA,EAEH,MAAM,aAAE,OAAO;AACjB,CAAC;AAGM,IAAM,iCAAiC,aAAE,YAAY;AAAA,EAC1D,GAAG;AAAA;AAAA,EAEH,UAAU,aAAE,MAAM,4BAA4B,EAAE,IAAI,CAAC;AACvD,CAAC;AAGM,IAAM,sCAAsC,aAAE,YAAY;AAAA,EAC/D,GAAG;AAAA;AAAA,EAEH,MAAM,aAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EAE1B,UAAU;AAAA;AAAA,EAEV,UAAU,aAAE,MAAM,WAAW,EAAE,IAAI,CAAC;AACtC,CAAC;AAGM,IAAM,0CAA0C,aAAE,YAAY;AAAA,EACnE,GAAG;AAAA;AAAA,EAEH,UAAU,aAAE,MAAM,mCAAmC,EAAE,IAAI,CAAC;AAC9D,CAAC;AAGM,IAAM,iCAAiC,aAAE,YAAY;AAAA,EAC1D,GAAG;AAAA;AAAA,EAEH,YAAY,aAAE,OAAO,aAAE,OAAO,GAAG,WAAW;AAC9C,CAAC;AAGM,IAAM,gCAAgC,aAAE,YAAY;AAAA,EACzD,GAAG;AAAA;AAAA,EAEH,SAAS,aAAE,OAAO;AACpB,CAAC;AAGM,IAAM,8BAA8B,aAAE,YAAY;AAAA,EACvD,GAAG;AAAA;AAAA,EAEH,SAAS,aAAE,QAAQ,EAAE,SAAS;AAChC,CAAC;AAGM,IAAM,iCAAiC,aAAE,YAAY;AAAA,EAC1D,GAAG;AAAA;AAAA,EAEH,YAAY,aAAE,QAAQ,EAAE,SAAS;AACnC,CAAC;AAGM,IAAM,gCAAgC,aAAE,YAAY;AAAA,EACzD,GAAG;AAAA;AAAA,EAEH,WAAW,aAAE,QAAQ,EAAE,SAAS;AAClC,CAAC;AAGM,IAAM,yBAAyB,aAAE,YAAY;AAAA;AAAA,EAElD,YAAY,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,QAAQ,CAAC;AAC9C,CAAC;AAGM,IAAM,yBAAyB,aAAE,YAAY;AAAA,EAClD,GAAG;AAAA;AAAA,EAEH,SAAS,aAAE,MAAM,sBAAsB,EAAE,IAAI,CAAC;AAChD,CAAC;AAGM,IAAM,kCAAkC,aAAE,YAAY;AAAA,EAC3D,GAAG;AAAA;AAAA,EAEH,QAAQ;AACV,CAAC;AA8BM,IAAM,yCAAyC,aAAE,YAAY;AAAA,EAClE,GAAG;AAAA;AAAA,EAEH,kBAAkB,aAAE,OAAO,EAAE,YAAY,EAAE,SAAS;AACtD,CAAC;AAQM,IAAM,+BAA+B,aAAE,YAAY;AAAA,EACxD,GAAG;AAAA;AAAA,EAEH,aAAa,aAAE,OAAO,EAAE,YAAY,EAAE,SAAS;AAAA;AAAA,EAE/C,gBAAgB,aAAE,OAAO,EAAE,YAAY,EAAE,SAAS;AAAA;AAAA,EAElD,aAAa,aACV,YAAY;AAAA,IACX,GAAG;AAAA,IACH,KAAK,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,IACjC,KAAK,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,OAAO,CAAC;AAAA,EACnC,CAAC,EACA,SAAS;AACd,CAAC;",
6
6
  "names": []
7
7
  }
@@ -107,4 +107,27 @@ export type GLTF_KHR_xmp_json_ld = z.infer<typeof GLTFKHRXMPJSONLDSchema>;
107
107
  export type GLTFXMPPacket = z.infer<typeof GLTFKHRXMPPacketSchema>;
108
108
  /** Reference to a shared XMP metadata packet. */
109
109
  export type GLTF_KHR_xmp_json_ld_reference = z.infer<typeof GLTFKHRXMPJSONLDReferenceSchema>;
110
+ /** Permissive declaration for the KHR emissive-strength material extension. */
111
+ export declare const GLTFKHRMaterialsEmissiveStrengthSchema: z.ZodObject<{
112
+ emissiveStrength: z.ZodOptional<z.ZodNumber>;
113
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
114
+ extras: z.ZodOptional<z.ZodUnknown>;
115
+ }, z.core.$loose>;
116
+ /** Authored KHR emissive-strength material declaration. */
117
+ export type GLTF_KHR_materials_emissive_strength = z.infer<typeof GLTFKHRMaterialsEmissiveStrengthSchema>;
118
+ /** Permissive FB scene geometry summary in static scene coordinates. */
119
+ export declare const GLTFFBGeometryMetadataSchema: z.ZodObject<{
120
+ vertexCount: z.ZodOptional<z.ZodNumber>;
121
+ primitiveCount: z.ZodOptional<z.ZodNumber>;
122
+ sceneBounds: z.ZodOptional<z.ZodObject<{
123
+ min: z.ZodArray<z.ZodNumber>;
124
+ max: z.ZodArray<z.ZodNumber>;
125
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
126
+ extras: z.ZodOptional<z.ZodUnknown>;
127
+ }, z.core.$loose>>;
128
+ extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
129
+ extras: z.ZodOptional<z.ZodUnknown>;
130
+ }, z.core.$loose>;
131
+ /** Authored FB scene geometry summary. */
132
+ export type GLTF_FB_geometry_metadata = z.infer<typeof GLTFFBGeometryMetadataSchema>;
110
133
  //# sourceMappingURL=gltf-additional-extension-schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-additional-extension-schemas.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/types/gltf-additional-extension-schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAUtB,wDAAwD;AACxD,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AAEH,mEAAmE;AACnE,eAAO,MAAM,8BAA8B;;;;;;;;iBAIzC,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,mCAAmC;;;;;;iBAQ9C,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,uCAAuC;;;;;;;;;;iBAIlD,CAAC;AAEH,2FAA2F;AAC3F,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AAEH,sFAAsF;AACtF,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB;;iBAGjC,CAAC;AAEH,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB;;;;;;iBAIjC,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,oFAAoF;AACpF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACzF,kCAAkC;AAClC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAC/E,wCAAwC;AACxC,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,uCAAuC,CAC/C,CAAC;AACF,sDAAsD;AACtD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAC7F,qEAAqE;AACrE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAC1F,4DAA4D;AAC5D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACvF,yCAAyC;AACzC,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AACnF,4CAA4C;AAC5C,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACzF,2CAA2C;AAC3C,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACvF,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC1E,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACnE,iDAAiD;AACjD,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC"}
1
+ {"version":3,"file":"gltf-additional-extension-schemas.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/types/gltf-additional-extension-schemas.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAUtB,wDAAwD;AACxD,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAC;AAEH,mEAAmE;AACnE,eAAO,MAAM,8BAA8B;;;;;;;;iBAIzC,CAAC;AAEH,uEAAuE;AACvE,eAAO,MAAM,mCAAmC;;;;;;iBAQ9C,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,uCAAuC;;;;;;;;;;iBAIlD,CAAC;AAEH,2FAA2F;AAC3F,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,gFAAgF;AAChF,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAC;AAEH,sFAAsF;AACtF,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB;;iBAGjC,CAAC;AAEH,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB;;;;;;iBAIjC,CAAC;AAEH,0EAA0E;AAC1E,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAC;AAEH,oFAAoF;AACpF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACzF,kCAAkC;AAClC,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAC/E,wCAAwC;AACxC,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,uCAAuC,CAC/C,CAAC;AACF,sDAAsD;AACtD,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC;AAC7F,qEAAqE;AACrE,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAC1F,4DAA4D;AAC5D,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACvF,yCAAyC;AACzC,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AACnF,4CAA4C;AAC5C,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACzF,2CAA2C;AAC3C,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACvF,4CAA4C;AAC5C,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC1E,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACnE,iDAAiD;AACjD,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAE7F,+EAA+E;AAC/E,eAAO,MAAM,sCAAsC;;;;iBAIjD,CAAC;AAEH,2DAA2D;AAC3D,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,sCAAsC,CAC9C,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAcvC,CAAC;AAEH,0CAA0C;AAC1C,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -84,4 +84,26 @@ export const GLTFKHRXMPJSONLDReferenceSchema = z.looseObject({
84
84
  /** Index into the document-level packets array. */
85
85
  packet: indexSchema
86
86
  });
87
+ /** Permissive declaration for the KHR emissive-strength material extension. */
88
+ export const GLTFKHRMaterialsEmissiveStrengthSchema = z.looseObject({
89
+ ...propertyShape,
90
+ /** Unitless multiplier; defaults to one when omitted. */
91
+ emissiveStrength: z.number().nonnegative().optional()
92
+ });
93
+ /** Permissive FB scene geometry summary in static scene coordinates. */
94
+ export const GLTFFBGeometryMetadataSchema = z.looseObject({
95
+ ...propertyShape,
96
+ /** Authored count of vertices. */
97
+ vertexCount: z.number().nonnegative().optional(),
98
+ /** Authored count of primitives. */
99
+ primitiveCount: z.number().nonnegative().optional(),
100
+ /** Static scene-space bounding box. */
101
+ sceneBounds: z
102
+ .looseObject({
103
+ ...propertyShape,
104
+ min: z.array(z.number()).length(3),
105
+ max: z.array(z.number()).length(3)
106
+ })
107
+ .optional()
108
+ });
87
109
  //# sourceMappingURL=gltf-additional-extension-schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-additional-extension-schemas.js","sourceRoot":"","sources":["../../../../src/gltf/lib/types/gltf-additional-extension-schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltf-additional-extension-schemas.js","sourceRoot":"","sources":["../../../../src/gltf/lib/types/gltf-additional-extension-schemas.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\n/* eslint-disable camelcase */\n\n/** JSON representation of the ratified KHR_gaussian_splatting primitive extension. */\nexport type GLTF_KHR_gaussian_splatting = {\n /** Gaussian kernel name, currently `ellipse` for the ratified extension. */\n kernel: string;\n /** Color space of reconstructed splat colors. */\n colorSpace: string;\n /** Projection method, defaulting to perspective. */\n projection?: string;\n /** Sorting method, defaulting to cameraDistance. */\n sortingMethod?: string;\n /** Optional nested compression extensions. */\n extensions?: {\n KHR_gaussian_splatting_compression_spz_2?: GLTF_KHR_gaussian_splatting_compression_spz_2;\n [key: string]: unknown;\n };\n};\n\n/** JSON representation of the draft SPZ2 compression extension. */\nexport type GLTF_KHR_gaussian_splatting_compression_spz_2 = {\n /** Buffer view containing the complete SPZ payload. */\n bufferView: number;\n};\n\n/** A normalized reference to one Gaussian splat primitive in a glTF asset. */\nexport type GLTFGaussianSplatPrimitive = {\n /** Mesh index containing the primitive. */\n meshIndex: number;\n /** Primitive index within the mesh. */\n primitiveIndex: number;\n /** Accessor indices for the standard and KHR splat attributes. */\n attributes: Readonly<Record<string, number>>;\n /** Parsed base-extension declaration. */\n extension: GLTF_KHR_gaussian_splatting;\n /** Optional SPZ2 compressed buffer-view index. */\n compressedBufferView?: number;\n /** Preserved compressed SPZ2 bytes for native or GPU decoders. */\n compressedBytes?: Uint8Array;\n /** Result returned by an injected SPZ2 decoder, when one was supplied. */\n decoded?: unknown;\n};\n"],
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\n/* eslint-disable camelcase */\n\n/** JSON representation of the ratified KHR_gaussian_splatting primitive extension. */\nexport type GLTF_KHR_gaussian_splatting = {\n /** Gaussian kernel name, currently `ellipse` for the ratified extension. */\n kernel: string;\n /** Color space of reconstructed splat colors. */\n colorSpace: string;\n /** Projection method, defaulting to perspective. */\n projection?: string;\n /** Sorting method, defaulting to cameraDistance. */\n sortingMethod?: string;\n /** Optional nested compression extensions. */\n extensions?: {\n KHR_gaussian_splatting_compression_spz_2?: GLTF_KHR_gaussian_splatting_compression_spz_2;\n [key: string]: unknown;\n };\n};\n\n/** JSON representation of the draft SPZ2 compression extension. */\nexport type GLTF_KHR_gaussian_splatting_compression_spz_2 = {\n /** Buffer view containing the complete SPZ payload. */\n bufferView: number;\n};\n\n/** A normalized reference to one Gaussian splat primitive in a glTF asset. */\nexport type GLTFGaussianSplatPrimitive = {\n /** Mesh index containing the primitive. */\n meshIndex: number;\n /** Primitive index within the mesh. */\n primitiveIndex: number;\n /** Accessor indices for the standard and KHR splat attributes. */\n attributes: Readonly<Record<string, number>>;\n /** Parsed base-extension declaration. */\n extension: GLTF_KHR_gaussian_splatting;\n /** Optional SPZ2 compressed buffer-view index. */\n compressedBufferView?: number;\n /** Preserved compressed SPZ2 bytes for native or GPU decoders. */\n compressedBytes?: Uint8Array;\n /** Result returned by an injected SPZ loader or legacy decoder, when supplied. */\n decoded?: unknown;\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -33,7 +33,7 @@ export type GLTFGaussianSplatPrimitive = {
33
33
  compressedBufferView?: number;
34
34
  /** Preserved compressed SPZ2 bytes for native or GPU decoders. */
35
35
  compressedBytes?: Uint8Array;
36
- /** Result returned by an injected SPZ2 decoder, when one was supplied. */
36
+ /** Result returned by an injected SPZ loader or legacy decoder, when supplied. */
37
37
  decoded?: unknown;
38
38
  };
39
39
  //# sourceMappingURL=gltf-ext-gaussian-splatting-schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-ext-gaussian-splatting-schema.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts"],"names":[],"mappings":"AAMA,sFAAsF;AACtF,MAAM,MAAM,2BAA2B,GAAG;IACxC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,UAAU,CAAC,EAAE;QACX,wCAAwC,CAAC,EAAE,6CAA6C,CAAC;QACzF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,6CAA6C,GAAG;IAC1D,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,0BAA0B,GAAG;IACvC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,yCAAyC;IACzC,SAAS,EAAE,2BAA2B,CAAC;IACvC,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"gltf-ext-gaussian-splatting-schema.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts"],"names":[],"mappings":"AAMA,sFAAsF;AACtF,MAAM,MAAM,2BAA2B,GAAG;IACxC,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,UAAU,CAAC,EAAE;QACX,wCAAwC,CAAC,EAAE,6CAA6C,CAAC;QACzF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,mEAAmE;AACnE,MAAM,MAAM,6CAA6C,GAAG;IAC1D,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,0BAA0B,GAAG;IACvC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,yCAAyC;IACzC,SAAS,EAAE,2BAA2B,CAAC;IACvC,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kEAAkE;IAClE,eAAe,CAAC,EAAE,UAAU,CAAC;IAC7B,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var gltf_extension_schemas_exports = {};
22
22
  __export(gltf_extension_schemas_exports, {
23
23
  GLTFAnimationTargetExtensionsSchema: () => GLTFAnimationTargetExtensionsSchema,
24
+ GLTFMaterialExtensionsSchema: () => GLTFMaterialExtensionsSchema,
24
25
  GLTFMeshPrimitiveExtensionsSchema: () => GLTFMeshPrimitiveExtensionsSchema,
25
26
  GLTFNodeExtensionsSchema: () => GLTFNodeExtensionsSchema,
26
27
  GLTFPropertyExtensionsSchema: () => GLTFPropertyExtensionsSchema,
@@ -35,6 +36,10 @@ var GLTFPropertyExtensionsSchema = import_zod.z.looseObject({
35
36
  /** Shared XMP packet reference. */
36
37
  KHR_xmp_json_ld: import_gltf_additional_extension_schemas.GLTFKHRXMPJSONLDReferenceSchema.optional()
37
38
  });
39
+ var GLTFMaterialExtensionsSchema = GLTFPropertyExtensionsSchema.extend({
40
+ /** Emissive intensity multiplier. */
41
+ KHR_materials_emissive_strength: import_gltf_additional_extension_schemas.GLTFKHRMaterialsEmissiveStrengthSchema.optional()
42
+ });
38
43
  var GLTFRootExtensionsSchema = import_zod.z.looseObject({
39
44
  /** Shared material variant declarations. */
40
45
  KHR_materials_variants: import_gltf_additional_extension_schemas.GLTFKHRMaterialsVariantsSchema.optional(),
@@ -60,6 +65,8 @@ var GLTFNodeExtensionsSchema = GLTFPropertyExtensionsSchema.extend({
60
65
  MPEG_audio_spatial: import_gltf_audio_extension_schemas.GLTFMPEGAudioSpatialSchema.optional()
61
66
  });
62
67
  var GLTFSceneExtensionsSchema = GLTFPropertyExtensionsSchema.extend({
68
+ /** Authored static geometry summary. */
69
+ FB_geometry_metadata: import_gltf_additional_extension_schemas.GLTFFBGeometryMetadataSchema.optional(),
63
70
  /** Attached global KHR audio emitters. */
64
71
  KHR_audio_emitter: import_gltf_audio_extension_schemas.GLTFKHRAudioAttachmentSchema.optional()
65
72
  });
@@ -74,6 +81,7 @@ var GLTFAnimationTargetExtensionsSchema = import_zod.z.looseObject({
74
81
  // Annotate the CommonJS export names for ESM import in node:
75
82
  0 && (module.exports = {
76
83
  GLTFAnimationTargetExtensionsSchema,
84
+ GLTFMaterialExtensionsSchema,
77
85
  GLTFMeshPrimitiveExtensionsSchema,
78
86
  GLTFNodeExtensionsSchema,
79
87
  GLTFPropertyExtensionsSchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/gltf/lib/types/gltf-extension-schemas.ts"],
4
- "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {z} from 'zod';\nimport {\n GLTFKHRMaterialsVariantsSchema,\n GLTFKHRMaterialsVariantsPrimitiveSchema,\n GLTFEXTMeshGPUInstancingSchema,\n GLTFKHRAnimationPointerSchema,\n GLTFKHRNodeVisibilitySchema,\n GLTFKHRNodeSelectabilitySchema,\n GLTFKHRNodeHoverabilitySchema,\n GLTFKHRXMPJSONLDSchema,\n GLTFKHRXMPJSONLDReferenceSchema\n} from './gltf-additional-extension-schemas';\nimport {\n GLTFKHRAudioEmitterExtensionSchema,\n GLTFKHRAudioAttachmentSchema,\n GLTFMPEGAudioSpatialSchema\n} from './gltf-audio-extension-schemas';\n\n/** Permissive extension map for objects that can reference an XMP packet. */\nexport const GLTFPropertyExtensionsSchema = z.looseObject({\n /** Shared XMP packet reference. */\n KHR_xmp_json_ld: GLTFKHRXMPJSONLDReferenceSchema.optional()\n});\n\n/** Permissive document-level extension map. */\nexport const GLTFRootExtensionsSchema = z.looseObject({\n /** Shared material variant declarations. */\n KHR_materials_variants: GLTFKHRMaterialsVariantsSchema.optional(),\n /** Shared XMP metadata packets. */\n KHR_xmp_json_ld: GLTFKHRXMPJSONLDSchema.optional(),\n /** Shared KHR audio resources, sources and emitters. */\n KHR_audio_emitter: GLTFKHRAudioEmitterExtensionSchema.optional(),\n /** Root-level MPEG spatial audio declaration. */\n MPEG_audio_spatial: GLTFMPEGAudioSpatialSchema.optional()\n});\n\n/** Permissive node-level extension map. */\nexport const GLTFNodeExtensionsSchema = GLTFPropertyExtensionsSchema.extend({\n /** Accessors defining GPU instance attributes. */\n EXT_mesh_gpu_instancing: GLTFEXTMeshGPUInstancingSchema.optional(),\n /** Local visibility affecting the entire subtree. */\n KHR_node_visibility: GLTFKHRNodeVisibilitySchema.optional(),\n /** Local selectability affecting the entire subtree. */\n KHR_node_selectability: GLTFKHRNodeSelectabilitySchema.optional(),\n /** Local hoverability affecting the entire subtree. */\n KHR_node_hoverability: GLTFKHRNodeHoverabilitySchema.optional(),\n /** Attached KHR audio emitters. */\n KHR_audio_emitter: GLTFKHRAudioAttachmentSchema.optional(),\n /** Node-level MPEG spatial audio declaration. */\n MPEG_audio_spatial: GLTFMPEGAudioSpatialSchema.optional()\n});\n\n/** Permissive scene-level extension map. */\nexport const GLTFSceneExtensionsSchema = GLTFPropertyExtensionsSchema.extend({\n /** Attached global KHR audio emitters. */\n KHR_audio_emitter: GLTFKHRAudioAttachmentSchema.optional()\n});\n\n/** Permissive mesh-primitive extension map. */\nexport const GLTFMeshPrimitiveExtensionsSchema = z.looseObject({\n /** Material-to-variant mappings for this primitive. */\n KHR_materials_variants: GLTFKHRMaterialsVariantsPrimitiveSchema.optional()\n});\n\n/** Permissive animation-target extension map. */\nexport const GLTFAnimationTargetExtensionsSchema = z.looseObject({\n /** JSON Pointer identifying the animated property. */\n KHR_animation_pointer: GLTFKHRAnimationPointerSchema.optional()\n});\n\n/** Typed document-level extensions with arbitrary additional extension names. */\nexport type GLTFRootExtensions = z.infer<typeof GLTFRootExtensionsSchema>;\n/** Typed node-level extensions with arbitrary additional extension names. */\nexport type GLTFNodeExtensions = z.infer<typeof GLTFNodeExtensionsSchema>;\n/** Typed scene-level extensions with arbitrary additional extension names. */\nexport type GLTFSceneExtensions = z.infer<typeof GLTFSceneExtensionsSchema>;\n/** Typed primitive-level extensions with arbitrary additional extension names. */\nexport type GLTFMeshPrimitiveExtensions = z.infer<typeof GLTFMeshPrimitiveExtensionsSchema>;\n/** Typed animation-target extensions with arbitrary additional extension names. */\nexport type GLTFAnimationTargetExtensions = z.infer<typeof GLTFAnimationTargetExtensionsSchema>;\n\n/** Typed shared metadata extensions with arbitrary additional extension names. */\nexport type GLTFPropertyExtensions = z.infer<typeof GLTFPropertyExtensionsSchema>;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAgB;AAChB,+CAUO;AACP,0CAIO;AAGA,IAAM,+BAA+B,aAAE,YAAY;AAAA;AAAA,EAExD,iBAAiB,yEAAgC,SAAS;AAC5D,CAAC;AAGM,IAAM,2BAA2B,aAAE,YAAY;AAAA;AAAA,EAEpD,wBAAwB,wEAA+B,SAAS;AAAA;AAAA,EAEhE,iBAAiB,gEAAuB,SAAS;AAAA;AAAA,EAEjD,mBAAmB,uEAAmC,SAAS;AAAA;AAAA,EAE/D,oBAAoB,+DAA2B,SAAS;AAC1D,CAAC;AAGM,IAAM,2BAA2B,6BAA6B,OAAO;AAAA;AAAA,EAE1E,yBAAyB,wEAA+B,SAAS;AAAA;AAAA,EAEjE,qBAAqB,qEAA4B,SAAS;AAAA;AAAA,EAE1D,wBAAwB,wEAA+B,SAAS;AAAA;AAAA,EAEhE,uBAAuB,uEAA8B,SAAS;AAAA;AAAA,EAE9D,mBAAmB,iEAA6B,SAAS;AAAA;AAAA,EAEzD,oBAAoB,+DAA2B,SAAS;AAC1D,CAAC;AAGM,IAAM,4BAA4B,6BAA6B,OAAO;AAAA;AAAA,EAE3E,mBAAmB,iEAA6B,SAAS;AAC3D,CAAC;AAGM,IAAM,oCAAoC,aAAE,YAAY;AAAA;AAAA,EAE7D,wBAAwB,iFAAwC,SAAS;AAC3E,CAAC;AAGM,IAAM,sCAAsC,aAAE,YAAY;AAAA;AAAA,EAE/D,uBAAuB,uEAA8B,SAAS;AAChE,CAAC;",
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport {z} from 'zod';\nimport {\n GLTFKHRMaterialsVariantsSchema,\n GLTFKHRMaterialsVariantsPrimitiveSchema,\n GLTFEXTMeshGPUInstancingSchema,\n GLTFKHRAnimationPointerSchema,\n GLTFKHRNodeVisibilitySchema,\n GLTFKHRNodeSelectabilitySchema,\n GLTFKHRNodeHoverabilitySchema,\n GLTFKHRMaterialsEmissiveStrengthSchema,\n GLTFFBGeometryMetadataSchema,\n GLTFKHRXMPJSONLDSchema,\n GLTFKHRXMPJSONLDReferenceSchema\n} from './gltf-additional-extension-schemas';\nimport {\n GLTFKHRAudioEmitterExtensionSchema,\n GLTFKHRAudioAttachmentSchema,\n GLTFMPEGAudioSpatialSchema\n} from './gltf-audio-extension-schemas';\n\n/** Permissive extension map for objects that can reference an XMP packet. */\nexport const GLTFPropertyExtensionsSchema = z.looseObject({\n /** Shared XMP packet reference. */\n KHR_xmp_json_ld: GLTFKHRXMPJSONLDReferenceSchema.optional()\n});\n\n/** Permissive material extension map. */\nexport const GLTFMaterialExtensionsSchema = GLTFPropertyExtensionsSchema.extend({\n /** Emissive intensity multiplier. */\n KHR_materials_emissive_strength: GLTFKHRMaterialsEmissiveStrengthSchema.optional()\n});\n\n/** Permissive document-level extension map. */\nexport const GLTFRootExtensionsSchema = z.looseObject({\n /** Shared material variant declarations. */\n KHR_materials_variants: GLTFKHRMaterialsVariantsSchema.optional(),\n /** Shared XMP metadata packets. */\n KHR_xmp_json_ld: GLTFKHRXMPJSONLDSchema.optional(),\n /** Shared KHR audio resources, sources and emitters. */\n KHR_audio_emitter: GLTFKHRAudioEmitterExtensionSchema.optional(),\n /** Root-level MPEG spatial audio declaration. */\n MPEG_audio_spatial: GLTFMPEGAudioSpatialSchema.optional()\n});\n\n/** Permissive node-level extension map. */\nexport const GLTFNodeExtensionsSchema = GLTFPropertyExtensionsSchema.extend({\n /** Accessors defining GPU instance attributes. */\n EXT_mesh_gpu_instancing: GLTFEXTMeshGPUInstancingSchema.optional(),\n /** Local visibility affecting the entire subtree. */\n KHR_node_visibility: GLTFKHRNodeVisibilitySchema.optional(),\n /** Local selectability affecting the entire subtree. */\n KHR_node_selectability: GLTFKHRNodeSelectabilitySchema.optional(),\n /** Local hoverability affecting the entire subtree. */\n KHR_node_hoverability: GLTFKHRNodeHoverabilitySchema.optional(),\n /** Attached KHR audio emitters. */\n KHR_audio_emitter: GLTFKHRAudioAttachmentSchema.optional(),\n /** Node-level MPEG spatial audio declaration. */\n MPEG_audio_spatial: GLTFMPEGAudioSpatialSchema.optional()\n});\n\n/** Permissive scene-level extension map. */\nexport const GLTFSceneExtensionsSchema = GLTFPropertyExtensionsSchema.extend({\n /** Authored static geometry summary. */\n FB_geometry_metadata: GLTFFBGeometryMetadataSchema.optional(),\n /** Attached global KHR audio emitters. */\n KHR_audio_emitter: GLTFKHRAudioAttachmentSchema.optional()\n});\n\n/** Permissive mesh-primitive extension map. */\nexport const GLTFMeshPrimitiveExtensionsSchema = z.looseObject({\n /** Material-to-variant mappings for this primitive. */\n KHR_materials_variants: GLTFKHRMaterialsVariantsPrimitiveSchema.optional()\n});\n\n/** Permissive animation-target extension map. */\nexport const GLTFAnimationTargetExtensionsSchema = z.looseObject({\n /** JSON Pointer identifying the animated property. */\n KHR_animation_pointer: GLTFKHRAnimationPointerSchema.optional()\n});\n\n/** Typed document-level extensions with arbitrary additional extension names. */\nexport type GLTFRootExtensions = z.infer<typeof GLTFRootExtensionsSchema>;\n/** Typed material extensions with arbitrary additional extension names. */\nexport type GLTFMaterialExtensions = z.infer<typeof GLTFMaterialExtensionsSchema>;\n/** Typed node-level extensions with arbitrary additional extension names. */\nexport type GLTFNodeExtensions = z.infer<typeof GLTFNodeExtensionsSchema>;\n/** Typed scene-level extensions with arbitrary additional extension names. */\nexport type GLTFSceneExtensions = z.infer<typeof GLTFSceneExtensionsSchema>;\n/** Typed primitive-level extensions with arbitrary additional extension names. */\nexport type GLTFMeshPrimitiveExtensions = z.infer<typeof GLTFMeshPrimitiveExtensionsSchema>;\n/** Typed animation-target extensions with arbitrary additional extension names. */\nexport type GLTFAnimationTargetExtensions = z.infer<typeof GLTFAnimationTargetExtensionsSchema>;\n\n/** Typed shared metadata extensions with arbitrary additional extension names. */\nexport type GLTFPropertyExtensions = z.infer<typeof GLTFPropertyExtensionsSchema>;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,iBAAgB;AAChB,+CAYO;AACP,0CAIO;AAGA,IAAM,+BAA+B,aAAE,YAAY;AAAA;AAAA,EAExD,iBAAiB,yEAAgC,SAAS;AAC5D,CAAC;AAGM,IAAM,+BAA+B,6BAA6B,OAAO;AAAA;AAAA,EAE9E,iCAAiC,gFAAuC,SAAS;AACnF,CAAC;AAGM,IAAM,2BAA2B,aAAE,YAAY;AAAA;AAAA,EAEpD,wBAAwB,wEAA+B,SAAS;AAAA;AAAA,EAEhE,iBAAiB,gEAAuB,SAAS;AAAA;AAAA,EAEjD,mBAAmB,uEAAmC,SAAS;AAAA;AAAA,EAE/D,oBAAoB,+DAA2B,SAAS;AAC1D,CAAC;AAGM,IAAM,2BAA2B,6BAA6B,OAAO;AAAA;AAAA,EAE1E,yBAAyB,wEAA+B,SAAS;AAAA;AAAA,EAEjE,qBAAqB,qEAA4B,SAAS;AAAA;AAAA,EAE1D,wBAAwB,wEAA+B,SAAS;AAAA;AAAA,EAEhE,uBAAuB,uEAA8B,SAAS;AAAA;AAAA,EAE9D,mBAAmB,iEAA6B,SAAS;AAAA;AAAA,EAEzD,oBAAoB,+DAA2B,SAAS;AAC1D,CAAC;AAGM,IAAM,4BAA4B,6BAA6B,OAAO;AAAA;AAAA,EAE3E,sBAAsB,sEAA6B,SAAS;AAAA;AAAA,EAE5D,mBAAmB,iEAA6B,SAAS;AAC3D,CAAC;AAGM,IAAM,oCAAoC,aAAE,YAAY;AAAA;AAAA,EAE7D,wBAAwB,iFAAwC,SAAS;AAC3E,CAAC;AAGM,IAAM,sCAAsC,aAAE,YAAY;AAAA;AAAA,EAE/D,uBAAuB,uEAA8B,SAAS;AAChE,CAAC;",
6
6
  "names": []
7
7
  }