@loaders.gl/scene 5.0.0-beta.1 → 5.0.0-beta.4

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 (541) hide show
  1. package/DRACO-README.md +15 -0
  2. package/README.md +7 -1
  3. package/THIRD-PARTY-NOTICES.md +4 -1
  4. package/dist/dist.dev.js +8894 -5137
  5. package/dist/dist.min.js +32 -24
  6. package/dist/draco/bundled.cjs +37 -0
  7. package/dist/draco/bundled.cjs.map +7 -0
  8. package/dist/draco/bundled.d.ts +6 -0
  9. package/dist/draco/bundled.d.ts.map +1 -0
  10. package/dist/draco/bundled.js +7 -0
  11. package/dist/draco/bundled.js.map +1 -0
  12. package/dist/draco/draco-format.cjs +41 -0
  13. package/dist/draco/draco-format.cjs.map +7 -0
  14. package/dist/draco/draco-format.d.ts +15 -0
  15. package/dist/draco/draco-format.d.ts.map +1 -0
  16. package/dist/draco/draco-format.js +18 -0
  17. package/dist/draco/draco-format.js.map +1 -0
  18. package/dist/draco/draco-javascript-loader-with-parser.cjs +44 -0
  19. package/dist/draco/draco-javascript-loader-with-parser.cjs.map +7 -0
  20. package/dist/draco/draco-javascript-loader-with-parser.d.ts +34 -0
  21. package/dist/draco/draco-javascript-loader-with-parser.d.ts.map +1 -0
  22. package/dist/draco/draco-javascript-loader-with-parser.js +14 -0
  23. package/dist/draco/draco-javascript-loader-with-parser.js.map +1 -0
  24. package/dist/draco/draco-libraries.cjs +61 -0
  25. package/dist/draco/draco-libraries.cjs.map +7 -0
  26. package/dist/draco/draco-libraries.d.ts +28 -0
  27. package/dist/draco/draco-libraries.d.ts.map +1 -0
  28. package/dist/draco/draco-libraries.js +33 -0
  29. package/dist/draco/draco-libraries.js.map +1 -0
  30. package/dist/draco/draco-library-options.cjs +80 -0
  31. package/dist/draco/draco-library-options.cjs.map +7 -0
  32. package/dist/draco/draco-library-options.d.ts +16 -0
  33. package/dist/draco/draco-library-options.d.ts.map +1 -0
  34. package/dist/draco/draco-library-options.js +52 -0
  35. package/dist/draco/draco-library-options.js.map +1 -0
  36. package/dist/draco/draco-loader-options.cjs +37 -0
  37. package/dist/draco/draco-loader-options.cjs.map +7 -0
  38. package/dist/draco/draco-loader-options.d.ts +27 -0
  39. package/dist/draco/draco-loader-options.d.ts.map +1 -0
  40. package/dist/draco/draco-loader-options.js +12 -0
  41. package/dist/draco/draco-loader-options.js.map +1 -0
  42. package/dist/draco/draco-loader-types.cjs +88 -0
  43. package/dist/draco/draco-loader-types.cjs.map +7 -0
  44. package/dist/draco/draco-loader-types.d.ts +69 -0
  45. package/dist/draco/draco-loader-types.d.ts.map +1 -0
  46. package/dist/draco/draco-loader-types.js +54 -0
  47. package/dist/draco/draco-loader-types.js.map +1 -0
  48. package/dist/draco/draco-loader.cjs +51 -0
  49. package/dist/draco/draco-loader.cjs.map +7 -0
  50. package/dist/draco/draco-loader.d.ts +39 -0
  51. package/dist/draco/draco-loader.d.ts.map +1 -0
  52. package/dist/draco/draco-loader.js +22 -0
  53. package/dist/draco/draco-loader.js.map +1 -0
  54. package/dist/draco/draco-wasm-loader-with-parser.cjs +48 -0
  55. package/dist/draco/draco-wasm-loader-with-parser.cjs.map +7 -0
  56. package/dist/draco/draco-wasm-loader-with-parser.d.ts +34 -0
  57. package/dist/draco/draco-wasm-loader-with-parser.d.ts.map +1 -0
  58. package/dist/draco/draco-wasm-loader-with-parser.js +14 -0
  59. package/dist/draco/draco-wasm-loader-with-parser.js.map +1 -0
  60. package/dist/draco/draco-writer.cjs +183 -0
  61. package/dist/draco/draco-writer.cjs.map +7 -0
  62. package/dist/draco/draco-writer.d.ts +97 -0
  63. package/dist/draco/draco-writer.d.ts.map +1 -0
  64. package/dist/draco/draco-writer.js +166 -0
  65. package/dist/draco/draco-writer.js.map +1 -0
  66. package/dist/draco/draco3d/draco3d-types.cjs +76 -0
  67. package/dist/draco/draco3d/draco3d-types.cjs.map +7 -0
  68. package/dist/draco/draco3d/draco3d-types.d.ts +303 -0
  69. package/dist/draco/draco3d/draco3d-types.d.ts.map +1 -0
  70. package/dist/draco/draco3d/draco3d-types.js +47 -0
  71. package/dist/draco/draco3d/draco3d-types.js.map +1 -0
  72. package/dist/draco/draco3d-loader-with-parser.cjs +50 -0
  73. package/dist/draco/draco3d-loader-with-parser.cjs.map +7 -0
  74. package/dist/draco/draco3d-loader-with-parser.d.ts +34 -0
  75. package/dist/draco/draco3d-loader-with-parser.d.ts.map +1 -0
  76. package/dist/draco/draco3d-loader-with-parser.js +21 -0
  77. package/dist/draco/draco3d-loader-with-parser.js.map +1 -0
  78. package/dist/draco/index.cjs +54 -0
  79. package/dist/draco/index.cjs.map +7 -0
  80. package/dist/draco/index.d.ts +13 -0
  81. package/dist/draco/index.d.ts.map +1 -0
  82. package/dist/draco/index.js +13 -0
  83. package/dist/draco/index.js.map +1 -0
  84. package/dist/draco/lib/draco-builder.cjs +660 -0
  85. package/dist/draco/lib/draco-builder.cjs.map +7 -0
  86. package/dist/draco/lib/draco-builder.d.ts +175 -0
  87. package/dist/draco/lib/draco-builder.d.ts.map +1 -0
  88. package/dist/draco/lib/draco-builder.js +612 -0
  89. package/dist/draco/lib/draco-builder.js.map +1 -0
  90. package/dist/draco/lib/draco-library-loader.cjs +47 -0
  91. package/dist/draco/lib/draco-library-loader.cjs.map +7 -0
  92. package/dist/draco/lib/draco-library-loader.d.ts +5 -0
  93. package/dist/draco/lib/draco-library-loader.d.ts.map +1 -0
  94. package/dist/draco/lib/draco-library-loader.js +23 -0
  95. package/dist/draco/lib/draco-library-loader.js.map +1 -0
  96. package/dist/draco/lib/draco-module-loader.cjs +281 -0
  97. package/dist/draco/lib/draco-module-loader.cjs.map +7 -0
  98. package/dist/draco/lib/draco-module-loader.d.ts +25 -0
  99. package/dist/draco/lib/draco-module-loader.d.ts.map +1 -0
  100. package/dist/draco/lib/draco-module-loader.js +220 -0
  101. package/dist/draco/lib/draco-module-loader.js.map +1 -0
  102. package/dist/draco/lib/draco-parser.cjs +598 -0
  103. package/dist/draco/lib/draco-parser.cjs.map +7 -0
  104. package/dist/draco/lib/draco-parser.d.ts +142 -0
  105. package/dist/draco/lib/draco-parser.d.ts.map +1 -0
  106. package/dist/draco/lib/draco-parser.js +595 -0
  107. package/dist/draco/lib/draco-parser.js.map +1 -0
  108. package/dist/draco/lib/draco-types.cjs +19 -0
  109. package/dist/draco/lib/draco-types.cjs.map +7 -0
  110. package/dist/draco/lib/draco-types.d.ts +59 -0
  111. package/dist/draco/lib/draco-types.d.ts.map +1 -0
  112. package/dist/draco/lib/draco-types.js +5 -0
  113. package/dist/draco/lib/draco-types.js.map +1 -0
  114. package/dist/draco/lib/parse-draco.cjs +59 -0
  115. package/dist/draco/lib/parse-draco.cjs.map +7 -0
  116. package/dist/draco/lib/parse-draco.d.ts +22 -0
  117. package/dist/draco/lib/parse-draco.d.ts.map +1 -0
  118. package/dist/draco/lib/parse-draco.js +32 -0
  119. package/dist/draco/lib/parse-draco.js.map +1 -0
  120. package/dist/draco/lib/utils/get-draco-schema.cjs +74 -0
  121. package/dist/draco/lib/utils/get-draco-schema.cjs.map +7 -0
  122. package/dist/draco/lib/utils/get-draco-schema.d.ts +7 -0
  123. package/dist/draco/lib/utils/get-draco-schema.d.ts.map +1 -0
  124. package/dist/draco/lib/utils/get-draco-schema.js +45 -0
  125. package/dist/draco/lib/utils/get-draco-schema.js.map +1 -0
  126. package/dist/draco/lib/utils/version.cjs +31 -0
  127. package/dist/draco/lib/utils/version.cjs.map +7 -0
  128. package/dist/draco/lib/utils/version.d.ts +2 -0
  129. package/dist/draco/lib/utils/version.d.ts.map +1 -0
  130. package/dist/draco/lib/utils/version.js +8 -0
  131. package/dist/draco/lib/utils/version.js.map +1 -0
  132. package/dist/draco/unbundled.cjs +33 -0
  133. package/dist/draco/unbundled.cjs.map +7 -0
  134. package/dist/draco/unbundled.d.ts +3 -0
  135. package/dist/draco/unbundled.d.ts.map +1 -0
  136. package/dist/draco/unbundled.js +5 -0
  137. package/dist/draco/unbundled.js.map +1 -0
  138. package/dist/draco/workers/draco-worker-node.cjs +8 -0
  139. package/dist/draco/workers/draco-worker-node.cjs.map +7 -0
  140. package/dist/draco/workers/draco-worker-node.d.ts +2 -0
  141. package/dist/draco/workers/draco-worker-node.d.ts.map +1 -0
  142. package/dist/draco/workers/draco-worker-node.js +9 -0
  143. package/dist/draco/workers/draco-worker-node.js.map +1 -0
  144. package/dist/draco/workers/draco-worker.cjs +7 -0
  145. package/dist/draco/workers/draco-worker.cjs.map +7 -0
  146. package/dist/draco/workers/draco-worker.d.ts +2 -0
  147. package/dist/draco/workers/draco-worker.d.ts.map +1 -0
  148. package/dist/draco/workers/draco-worker.js +7 -0
  149. package/dist/draco/workers/draco-worker.js.map +1 -0
  150. package/dist/draco/workers/draco-writer-worker-node.cjs +11 -0
  151. package/dist/draco/workers/draco-writer-worker-node.cjs.map +7 -0
  152. package/dist/draco/workers/draco-writer-worker-node.d.cts +2 -0
  153. package/dist/draco/workers/draco-writer-worker-node.d.cts.map +1 -0
  154. package/dist/draco/workers/draco-writer-worker-node.d.ts +2 -0
  155. package/dist/draco/workers/draco-writer-worker-node.d.ts.map +1 -0
  156. package/dist/draco/workers/draco-writer-worker-node.js +9 -0
  157. package/dist/draco/workers/draco-writer-worker-node.js.map +1 -0
  158. package/dist/draco/workers/draco-writer-worker.cjs +10 -0
  159. package/dist/draco/workers/draco-writer-worker.cjs.map +7 -0
  160. package/dist/draco/workers/draco-writer-worker.d.ts +2 -0
  161. package/dist/draco/workers/draco-writer-worker.d.ts.map +1 -0
  162. package/dist/draco/workers/draco-writer-worker.js +7 -0
  163. package/dist/draco/workers/draco-writer-worker.js.map +1 -0
  164. package/dist/draco-javascript-loader.cjs +25 -0
  165. package/dist/draco-javascript-loader.cjs.map +7 -0
  166. package/dist/draco-javascript-loader.d.ts +2 -0
  167. package/dist/draco-javascript-loader.d.ts.map +1 -0
  168. package/dist/draco-javascript-loader.js +3 -0
  169. package/dist/draco-javascript-loader.js.map +1 -0
  170. package/dist/draco-library-options.cjs +36 -0
  171. package/dist/draco-library-options.cjs.map +7 -0
  172. package/dist/draco-library-options.d.ts +3 -0
  173. package/dist/draco-library-options.d.ts.map +1 -0
  174. package/dist/draco-library-options.js +4 -0
  175. package/dist/draco-library-options.js.map +1 -0
  176. package/dist/draco-loader-types.cjs +25 -0
  177. package/dist/draco-loader-types.cjs.map +7 -0
  178. package/dist/draco-loader-types.d.ts +2 -0
  179. package/dist/draco-loader-types.d.ts.map +1 -0
  180. package/dist/draco-loader-types.js +3 -0
  181. package/dist/draco-loader-types.js.map +1 -0
  182. package/dist/draco-loader.cjs +25 -0
  183. package/dist/draco-loader.cjs.map +7 -0
  184. package/dist/draco-loader.d.ts +2 -0
  185. package/dist/draco-loader.d.ts.map +1 -0
  186. package/dist/draco-loader.js +3 -0
  187. package/dist/draco-loader.js.map +1 -0
  188. package/dist/draco-wasm-loader.cjs +25 -0
  189. package/dist/draco-wasm-loader.cjs.map +7 -0
  190. package/dist/draco-wasm-loader.d.ts +2 -0
  191. package/dist/draco-wasm-loader.d.ts.map +1 -0
  192. package/dist/draco-wasm-loader.js +3 -0
  193. package/dist/draco-wasm-loader.js.map +1 -0
  194. package/dist/draco-worker-node.js +28640 -0
  195. package/dist/draco-worker-node.js.map +7 -0
  196. package/dist/draco-worker.js +18481 -0
  197. package/dist/draco-worker.js.map +7 -0
  198. package/dist/draco-writer-worker-node.cjs +28855 -0
  199. package/dist/draco-writer-worker-node.cjs.map +7 -0
  200. package/dist/draco-writer-worker.js +18617 -0
  201. package/dist/draco-writer-worker.js.map +7 -0
  202. package/dist/draco-writer.cjs +25 -0
  203. package/dist/draco-writer.cjs.map +7 -0
  204. package/dist/draco-writer.d.ts +2 -0
  205. package/dist/draco-writer.d.ts.map +1 -0
  206. package/dist/draco-writer.js +3 -0
  207. package/dist/draco-writer.js.map +1 -0
  208. package/dist/draco3d-loader.cjs +25 -0
  209. package/dist/draco3d-loader.cjs.map +7 -0
  210. package/dist/draco3d-loader.d.ts +2 -0
  211. package/dist/draco3d-loader.d.ts.map +1 -0
  212. package/dist/draco3d-loader.js +3 -0
  213. package/dist/draco3d-loader.js.map +1 -0
  214. package/dist/glb-loader-types.cjs +61 -0
  215. package/dist/glb-loader-types.cjs.map +7 -0
  216. package/dist/glb-loader-types.d.ts +2 -0
  217. package/dist/glb-loader-types.d.ts.map +1 -0
  218. package/dist/glb-loader-types.js +2 -0
  219. package/dist/glb-loader-types.js.map +1 -0
  220. package/dist/glb-loader.cjs +48 -0
  221. package/dist/glb-loader.cjs.map +7 -0
  222. package/dist/glb-loader.d.ts +2 -0
  223. package/dist/glb-loader.d.ts.map +1 -0
  224. package/dist/glb-loader.js +2 -0
  225. package/dist/glb-loader.js.map +1 -0
  226. package/dist/glb-writer.cjs +53 -0
  227. package/dist/glb-writer.cjs.map +7 -0
  228. package/dist/glb-writer.d.ts +2 -0
  229. package/dist/glb-writer.d.ts.map +1 -0
  230. package/dist/glb-writer.js +2 -0
  231. package/dist/glb-writer.js.map +1 -0
  232. package/dist/gltf/glb-loader-types.cjs +1 -1
  233. package/dist/gltf/glb-loader-types.cjs.map +2 -2
  234. package/dist/gltf/glb-loader-types.d.ts +2 -2
  235. package/dist/gltf/glb-loader-types.js +1 -1
  236. package/dist/gltf/glb-loader-types.js.map +1 -1
  237. package/dist/gltf/gltf-loader-types.cjs +1 -1
  238. package/dist/gltf/gltf-loader-types.cjs.map +2 -2
  239. package/dist/gltf/gltf-loader-types.d.ts +11 -5
  240. package/dist/gltf/gltf-loader-types.d.ts.map +1 -1
  241. package/dist/gltf/gltf-loader-types.js +1 -1
  242. package/dist/gltf/gltf-loader-types.js.map +1 -1
  243. package/dist/gltf/gltf-loader.cjs.map +1 -1
  244. package/dist/gltf/gltf-loader.d.ts +4 -4
  245. package/dist/gltf/gltf-loader.d.ts.map +1 -1
  246. package/dist/gltf/index.cjs +2 -0
  247. package/dist/gltf/index.cjs.map +2 -2
  248. package/dist/gltf/index.d.ts +2 -2
  249. package/dist/gltf/index.d.ts.map +1 -1
  250. package/dist/gltf/index.js +1 -1
  251. package/dist/gltf/index.js.map +1 -1
  252. package/dist/gltf/lib/api/gltf-extensions.cjs +7 -2
  253. package/dist/gltf/lib/api/gltf-extensions.cjs.map +2 -2
  254. package/dist/gltf/lib/api/gltf-extensions.d.ts.map +1 -1
  255. package/dist/gltf/lib/api/gltf-extensions.js +7 -5
  256. package/dist/gltf/lib/api/gltf-extensions.js.map +1 -1
  257. package/dist/gltf/lib/encoders/encode-gltf-draco.cjs +12 -2
  258. package/dist/gltf/lib/encoders/encode-gltf-draco.cjs.map +2 -2
  259. package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts +1 -1
  260. package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts.map +1 -1
  261. package/dist/gltf/lib/encoders/encode-gltf-draco.js +1 -1
  262. package/dist/gltf/lib/encoders/encode-gltf-draco.js.map +1 -1
  263. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs +1 -0
  264. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs.map +2 -2
  265. package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
  266. package/dist/gltf/lib/extensions/EXT_texture_webp.js +3 -0
  267. package/dist/gltf/lib/extensions/EXT_texture_webp.js.map +1 -1
  268. package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs +45 -0
  269. package/dist/gltf/lib/extensions/KHR_accessor_float64.cjs.map +7 -0
  270. package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts +6 -0
  271. package/dist/gltf/lib/extensions/KHR_accessor_float64.d.ts.map +1 -0
  272. package/dist/gltf/lib/extensions/KHR_accessor_float64.js +20 -0
  273. package/dist/gltf/lib/extensions/KHR_accessor_float64.js.map +1 -0
  274. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs +2 -2
  275. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs.map +2 -2
  276. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
  277. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js +1 -1
  278. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
  279. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs +12 -3
  280. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs.map +2 -2
  281. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts +2 -1
  282. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts.map +1 -1
  283. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js +9 -3
  284. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js.map +1 -1
  285. package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs +64 -0
  286. package/dist/gltf/lib/extensions/MSFT_texture_dds.cjs.map +7 -0
  287. package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts +12 -0
  288. package/dist/gltf/lib/extensions/MSFT_texture_dds.d.ts.map +1 -0
  289. package/dist/gltf/lib/extensions/MSFT_texture_dds.js +39 -0
  290. package/dist/gltf/lib/extensions/MSFT_texture_dds.js.map +1 -0
  291. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs +1 -1
  292. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs.map +2 -2
  293. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -1
  294. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js +3 -1
  295. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js.map +1 -1
  296. package/dist/gltf/lib/parsers/parse-gltf.cjs +27 -2
  297. package/dist/gltf/lib/parsers/parse-gltf.cjs.map +3 -3
  298. package/dist/gltf/lib/parsers/parse-gltf.d.ts.map +1 -1
  299. package/dist/gltf/lib/parsers/parse-gltf.js +23 -5
  300. package/dist/gltf/lib/parsers/parse-gltf.js.map +1 -1
  301. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs.map +1 -1
  302. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts +1 -1
  303. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts.map +1 -1
  304. package/dist/gltf/lib/types/gltf-texture-procedurals.cjs +19 -0
  305. package/dist/gltf/lib/types/gltf-texture-procedurals.cjs.map +7 -0
  306. package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts +45 -0
  307. package/dist/gltf/lib/types/gltf-texture-procedurals.d.ts.map +1 -0
  308. package/dist/gltf/lib/types/gltf-texture-procedurals.js +5 -0
  309. package/dist/gltf/lib/types/gltf-texture-procedurals.js.map +1 -0
  310. package/dist/gltf/lib/types/gltf-types.cjs.map +1 -1
  311. package/dist/gltf/lib/types/gltf-types.d.ts +7 -0
  312. package/dist/gltf/lib/types/gltf-types.d.ts.map +1 -1
  313. package/dist/gltf/lib/types/gltf-zod-schema.cjs +3 -0
  314. package/dist/gltf/lib/types/gltf-zod-schema.cjs.map +2 -2
  315. package/dist/gltf/lib/types/gltf-zod-schema.d.ts +6 -1
  316. package/dist/gltf/lib/types/gltf-zod-schema.d.ts.map +1 -1
  317. package/dist/gltf/lib/types/gltf-zod-schema.js +4 -0
  318. package/dist/gltf/lib/types/gltf-zod-schema.js.map +1 -1
  319. package/dist/gltf/lib/utils/version.cjs +1 -1
  320. package/dist/gltf/lib/utils/version.js +1 -1
  321. package/dist/gltf/schema.cjs +3 -0
  322. package/dist/gltf/schema.cjs.map +2 -2
  323. package/dist/gltf/schema.d.ts +1 -0
  324. package/dist/gltf/schema.d.ts.map +1 -1
  325. package/dist/gltf/schema.js +1 -0
  326. package/dist/gltf/schema.js.map +1 -1
  327. package/dist/gltf-loader-types.cjs +73 -0
  328. package/dist/gltf-loader-types.cjs.map +7 -0
  329. package/dist/gltf-loader-types.d.ts +2 -0
  330. package/dist/gltf-loader-types.d.ts.map +1 -0
  331. package/dist/gltf-loader-types.js +2 -0
  332. package/dist/gltf-loader-types.js.map +1 -0
  333. package/dist/gltf-loader.cjs +48 -0
  334. package/dist/gltf-loader.cjs.map +7 -0
  335. package/dist/gltf-loader.d.ts +2 -0
  336. package/dist/gltf-loader.d.ts.map +1 -0
  337. package/dist/gltf-loader.js +2 -0
  338. package/dist/gltf-loader.js.map +1 -0
  339. package/dist/gltf-source.cjs +238 -0
  340. package/dist/gltf-source.cjs.map +7 -0
  341. package/dist/gltf-source.d.ts +2 -0
  342. package/dist/gltf-source.d.ts.map +1 -0
  343. package/dist/gltf-source.js +2 -0
  344. package/dist/gltf-source.js.map +1 -0
  345. package/dist/gltf-writer.cjs +69 -0
  346. package/dist/gltf-writer.cjs.map +7 -0
  347. package/dist/gltf-writer.d.ts +2 -0
  348. package/dist/gltf-writer.d.ts.map +1 -0
  349. package/dist/gltf-writer.js +2 -0
  350. package/dist/gltf-writer.js.map +1 -0
  351. package/dist/index.cjs +16 -0
  352. package/dist/index.cjs.map +2 -2
  353. package/dist/index.d.ts +6 -0
  354. package/dist/index.d.ts.map +1 -1
  355. package/dist/index.js +4 -0
  356. package/dist/index.js.map +1 -1
  357. package/dist/libs/DRACO-LICENSE +252 -0
  358. package/dist/libs/README.md +20 -0
  359. package/dist/libs/draco_decoder.js +34 -0
  360. package/dist/libs/draco_decoder.mjs +37 -0
  361. package/dist/libs/draco_decoder.wasm +0 -0
  362. package/dist/libs/draco_decoder_gltf.wasm +0 -0
  363. package/dist/libs/draco_encoder.js +98 -0
  364. package/dist/libs/draco_encoder.mjs +101 -0
  365. package/dist/libs/draco_encoder.wasm +0 -0
  366. package/dist/libs/draco_wasm_wrapper.js +117 -0
  367. package/dist/libs/draco_wasm_wrapper.mjs +120 -0
  368. package/dist/libs/draco_wasm_wrapper_gltf.js +116 -0
  369. package/dist/libs/draco_wasm_wrapper_gltf.mjs +119 -0
  370. package/dist/materialx/parse-materialx.cjs +61 -0
  371. package/dist/materialx/parse-materialx.cjs.map +7 -0
  372. package/dist/materialx/parse-materialx.d.ts +23 -0
  373. package/dist/materialx/parse-materialx.d.ts.map +1 -0
  374. package/dist/materialx/parse-materialx.js +39 -0
  375. package/dist/materialx/parse-materialx.js.map +1 -0
  376. package/dist/materialx/procedural-graph.cjs +77 -0
  377. package/dist/materialx/procedural-graph.cjs.map +7 -0
  378. package/dist/materialx/procedural-graph.d.ts +40 -0
  379. package/dist/materialx/procedural-graph.d.ts.map +1 -0
  380. package/dist/materialx/procedural-graph.js +59 -0
  381. package/dist/materialx/procedural-graph.js.map +1 -0
  382. package/dist/materialx-loader-types.cjs +57 -0
  383. package/dist/materialx-loader-types.cjs.map +7 -0
  384. package/dist/materialx-loader-types.d.ts +34 -0
  385. package/dist/materialx-loader-types.d.ts.map +1 -0
  386. package/dist/materialx-loader-types.js +20 -0
  387. package/dist/materialx-loader-types.js.map +1 -0
  388. package/dist/materialx-loader.cjs +40 -0
  389. package/dist/materialx-loader.cjs.map +7 -0
  390. package/dist/materialx-loader.d.ts +19 -0
  391. package/dist/materialx-loader.d.ts.map +1 -0
  392. package/dist/materialx-loader.js +14 -0
  393. package/dist/materialx-loader.js.map +1 -0
  394. package/dist/mtl-loader-types.cjs +64 -0
  395. package/dist/mtl-loader-types.cjs.map +7 -0
  396. package/dist/mtl-loader-types.d.ts +2 -0
  397. package/dist/mtl-loader-types.d.ts.map +1 -0
  398. package/dist/mtl-loader-types.js +2 -0
  399. package/dist/mtl-loader-types.js.map +1 -0
  400. package/dist/mtl-loader.cjs +47 -0
  401. package/dist/mtl-loader.cjs.map +7 -0
  402. package/dist/mtl-loader.d.ts +2 -0
  403. package/dist/mtl-loader.d.ts.map +1 -0
  404. package/dist/mtl-loader.js +2 -0
  405. package/dist/mtl-loader.js.map +1 -0
  406. package/dist/obj/mtl-loader-types.cjs +2 -2
  407. package/dist/obj/mtl-loader-types.cjs.map +2 -2
  408. package/dist/obj/mtl-loader-types.d.ts +2 -2
  409. package/dist/obj/mtl-loader-types.js +2 -2
  410. package/dist/obj/mtl-loader-types.js.map +1 -1
  411. package/dist/obj/mtl-loader.cjs +1 -1
  412. package/dist/obj/mtl-loader.cjs.map +2 -2
  413. package/dist/obj/mtl-loader.js +1 -1
  414. package/dist/obj/mtl-loader.js.map +1 -1
  415. package/dist/obj/obj-loader-types.cjs +2 -2
  416. package/dist/obj/obj-loader-types.cjs.map +2 -2
  417. package/dist/obj/obj-loader-types.js +2 -2
  418. package/dist/obj/obj-loader-types.js.map +1 -1
  419. package/dist/obj/obj-writer.cjs +1 -1
  420. package/dist/obj/obj-writer.js +1 -1
  421. package/dist/obj-loader-types.cjs +71 -0
  422. package/dist/obj-loader-types.cjs.map +7 -0
  423. package/dist/obj-loader-types.d.ts +2 -0
  424. package/dist/obj-loader-types.d.ts.map +1 -0
  425. package/dist/obj-loader-types.js +2 -0
  426. package/dist/obj-loader-types.js.map +1 -0
  427. package/dist/obj-loader.cjs +163 -0
  428. package/dist/obj-loader.cjs.map +7 -0
  429. package/dist/obj-loader.d.ts +2 -0
  430. package/dist/obj-loader.d.ts.map +1 -0
  431. package/dist/obj-loader.js +2 -0
  432. package/dist/obj-loader.js.map +1 -0
  433. package/dist/obj-worker.js +586 -117
  434. package/dist/obj-writer.cjs +167 -0
  435. package/dist/obj-writer.cjs.map +7 -0
  436. package/dist/obj-writer.d.ts +2 -0
  437. package/dist/obj-writer.d.ts.map +1 -0
  438. package/dist/obj-writer.js +2 -0
  439. package/dist/obj-writer.js.map +1 -0
  440. package/dist/usd/usd-loader-types.cjs +2 -2
  441. package/dist/usd/usd-loader-types.cjs.map +2 -2
  442. package/dist/usd/usd-loader-types.js +2 -2
  443. package/dist/usd/usd-loader-types.js.map +1 -1
  444. package/dist/usd-loader-types.cjs +69 -0
  445. package/dist/usd-loader-types.cjs.map +7 -0
  446. package/dist/usd-loader-types.d.ts +2 -0
  447. package/dist/usd-loader-types.d.ts.map +1 -0
  448. package/dist/usd-loader-types.js +2 -0
  449. package/dist/usd-loader-types.js.map +1 -0
  450. package/dist/usd-loader.cjs +43 -0
  451. package/dist/usd-loader.cjs.map +7 -0
  452. package/dist/usd-loader.d.ts +2 -0
  453. package/dist/usd-loader.d.ts.map +1 -0
  454. package/dist/usd-loader.js +2 -0
  455. package/dist/usd-loader.js.map +1 -0
  456. package/package.json +136 -71
  457. package/src/draco/bundled.ts +10 -0
  458. package/src/draco/draco-format.ts +20 -0
  459. package/src/draco/draco-javascript-loader-with-parser.ts +26 -0
  460. package/src/draco/draco-libraries.ts +35 -0
  461. package/src/draco/draco-library-options.ts +76 -0
  462. package/src/draco/draco-loader-options.ts +33 -0
  463. package/src/draco/draco-loader-types.ts +78 -0
  464. package/src/draco/draco-loader.ts +45 -0
  465. package/src/draco/draco-wasm-loader-with-parser.ts +31 -0
  466. package/src/draco/draco-writer.ts +252 -0
  467. package/src/draco/draco3d/draco3d-types.ts +498 -0
  468. package/src/draco/draco3d-loader-with-parser.ts +34 -0
  469. package/src/draco/index.ts +46 -0
  470. package/src/draco/lib/draco-builder.ts +935 -0
  471. package/src/draco/lib/draco-library-loader.ts +38 -0
  472. package/src/draco/lib/draco-module-loader.ts +370 -0
  473. package/src/draco/lib/draco-parser.ts +776 -0
  474. package/src/draco/lib/draco-types.ts +72 -0
  475. package/src/draco/lib/parse-draco.ts +51 -0
  476. package/src/draco/lib/utils/get-draco-schema.ts +65 -0
  477. package/src/draco/lib/utils/version.ts +8 -0
  478. package/src/draco/libs/DRACO-LICENSE +252 -0
  479. package/src/draco/libs/README.md +20 -0
  480. package/src/draco/libs/draco_decoder.js +34 -0
  481. package/src/draco/libs/draco_decoder.wasm +0 -0
  482. package/src/draco/libs/draco_decoder_gltf.wasm +0 -0
  483. package/src/draco/libs/draco_encoder.js +98 -0
  484. package/src/draco/libs/draco_encoder.wasm +0 -0
  485. package/src/draco/libs/draco_wasm_wrapper.js +117 -0
  486. package/src/draco/libs/draco_wasm_wrapper_gltf.js +116 -0
  487. package/src/draco/unbundled.ts +6 -0
  488. package/src/draco/workers/draco-worker-node.ts +10 -0
  489. package/src/draco/workers/draco-worker.ts +8 -0
  490. package/src/draco/workers/draco-writer-worker-node.cjs +21 -0
  491. package/src/draco/workers/draco-writer-worker-node.ts +13 -0
  492. package/src/draco/workers/draco-writer-worker.ts +11 -0
  493. package/src/draco-javascript-loader.ts +2 -0
  494. package/src/draco-library-options.ts +6 -0
  495. package/src/draco-loader-types.ts +2 -0
  496. package/src/draco-loader.ts +2 -0
  497. package/src/draco-wasm-loader.ts +2 -0
  498. package/src/draco-writer.ts +2 -0
  499. package/src/draco3d-loader.ts +2 -0
  500. package/src/glb-loader-types.ts +1 -0
  501. package/src/glb-loader.ts +1 -0
  502. package/src/glb-writer.ts +1 -0
  503. package/src/gltf/glb-loader-types.ts +1 -1
  504. package/src/gltf/gltf-loader-types.ts +11 -5
  505. package/src/gltf/gltf-loader.ts +4 -4
  506. package/src/gltf/index.ts +4 -1
  507. package/src/gltf/lib/api/gltf-extensions.ts +7 -2
  508. package/src/gltf/lib/encoders/encode-gltf-draco.ts +2 -2
  509. package/src/gltf/lib/extensions/EXT_texture_webp.ts +3 -0
  510. package/src/gltf/lib/extensions/KHR_accessor_float64.ts +22 -0
  511. package/src/gltf/lib/extensions/KHR_draco_mesh_compression.ts +2 -1
  512. package/src/gltf/lib/extensions/KHR_gaussian_splatting.ts +17 -3
  513. package/src/gltf/lib/extensions/MSFT_texture_dds.ts +52 -0
  514. package/src/gltf/lib/extensions/utils/3d-tiles-utils.ts +5 -1
  515. package/src/gltf/lib/parsers/parse-gltf.ts +34 -5
  516. package/src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts +1 -1
  517. package/src/gltf/lib/types/gltf-texture-procedurals.ts +67 -0
  518. package/src/gltf/lib/types/gltf-types.ts +8 -0
  519. package/src/gltf/lib/types/gltf-zod-schema.ts +5 -0
  520. package/src/gltf/schema.ts +1 -0
  521. package/src/gltf-loader-types.ts +1 -0
  522. package/src/gltf-loader.ts +1 -0
  523. package/src/gltf-source.ts +1 -0
  524. package/src/gltf-writer.ts +1 -0
  525. package/src/index.ts +8 -0
  526. package/src/materialx/README.md +5 -0
  527. package/src/materialx/parse-materialx.ts +70 -0
  528. package/src/materialx/procedural-graph.ts +94 -0
  529. package/src/materialx-loader-types.ts +24 -0
  530. package/src/materialx-loader.ts +15 -0
  531. package/src/mtl-loader-types.ts +1 -0
  532. package/src/mtl-loader.ts +1 -0
  533. package/src/obj/mtl-loader-types.ts +1 -1
  534. package/src/obj/mtl-loader.ts +1 -1
  535. package/src/obj/obj-loader-types.ts +1 -1
  536. package/src/obj-loader-types.ts +1 -0
  537. package/src/obj-loader.ts +1 -0
  538. package/src/obj-writer.ts +1 -0
  539. package/src/usd/usd-loader-types.ts +1 -1
  540. package/src/usd-loader-types.ts +1 -0
  541. package/src/usd-loader.ts +1 -0
@@ -0,0 +1,498 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+
3
+ // A set of typescript types manually adapted from the Draco 1.5.7 web IDL.
4
+ // Draco JS is a bit tricky to work with due to the C++ emscripten code base
5
+ // sparse documentation, so these types provide an extra safety net.
6
+
7
+ // Typescript defs adapted from the release-pinned draco3d emscripten IDL:
8
+ // https://raw.githubusercontent.com/google/draco/8786740086a9f4d83f44aa83badfbea4dce7a1b5/src/draco/javascript/emscripten/draco_web_decoder.idl
9
+ // https://raw.githubusercontent.com/google/draco/8786740086a9f4d83f44aa83badfbea4dce7a1b5/src/draco/javascript/emscripten/draco_web_encoder.idl
10
+ // Interface exposed to emscripten's WebIDL Binder.
11
+ // http://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/WebIDL-Binder.html
12
+
13
+ /* eslint-disable camelcase */
14
+
15
+ /** Byte offset into Draco's WebAssembly memory. */
16
+ type VoidPtr = number;
17
+
18
+ // DRACO WEB DECODER IDL
19
+
20
+ /** Draco3D geometry attribute type */
21
+ export enum draco_GeometryAttribute_Type {
22
+ 'draco_GeometryAttribute::INVALID',
23
+ 'draco_GeometryAttribute::POSITION',
24
+ 'draco_GeometryAttribute::NORMAL',
25
+ 'draco_GeometryAttribute::COLOR',
26
+ 'draco_GeometryAttribute::TEX_COORD',
27
+ 'draco_GeometryAttribute::GENERIC'
28
+ }
29
+
30
+ /** Draco3D encoded geometry type */
31
+ export enum draco_EncodedGeometryType {
32
+ 'draco::INVALID_GEOMETRY_TYPE',
33
+ 'draco::POINT_CLOUD',
34
+ 'draco::TRIANGULAR_MESH'
35
+ }
36
+
37
+ /** Draco3D data type */
38
+ export enum draco_DataType {
39
+ 'draco::DT_INVALID',
40
+ 'draco::DT_INT8',
41
+ 'draco::DT_UINT8',
42
+ 'draco::DT_INT16',
43
+ 'draco::DT_UINT16',
44
+ 'draco::DT_INT32',
45
+ 'draco::DT_UINT32',
46
+ 'draco::DT_INT64',
47
+ 'draco::DT_UINT64',
48
+ 'draco::DT_FLOAT32',
49
+ 'draco::DT_FLOAT64',
50
+ 'draco::DT_BOOL',
51
+ 'draco::DT_TYPES_COUNT'
52
+ }
53
+
54
+ /** Draco3D status code */
55
+ export enum draco_StatusCode {
56
+ 'draco_Status::OK',
57
+ 'draco_Status::DRACO_ERROR',
58
+ 'draco_Status::IO_ERROR',
59
+ 'draco_Status::INVALID_PARAMETER',
60
+ 'draco_Status::UNSUPPORTED_VERSION',
61
+ 'draco_Status::UNKNOWN_VERSION'
62
+ }
63
+
64
+ /** Draco3D decoder buffer allocated on emscripten heap */
65
+ export declare class DecoderBuffer {
66
+ constructor();
67
+ Init(data: Int8Array, data_size: number): void;
68
+ }
69
+
70
+ /** Draco3D attribute transform data */
71
+ export declare class AttributeTransformData {
72
+ constructor();
73
+ transform_type(): number;
74
+ }
75
+
76
+ /** Draco3D geometry attribute */
77
+ export declare class GeometryAttribute {
78
+ constructor();
79
+ }
80
+
81
+ /** Draco3D point attribute */
82
+ export declare class PointAttribute {
83
+ ptr: VoidPtr;
84
+
85
+ constructor();
86
+ size(): number;
87
+ GetAttributeTransformData(): AttributeTransformData;
88
+
89
+ // From GeometryAttribute
90
+ attribute_type(): number;
91
+ data_type(): number;
92
+ num_components(): number;
93
+ normalized(): boolean;
94
+ byte_stride(): number;
95
+ byte_offset(): number;
96
+ unique_id(): number;
97
+ }
98
+
99
+ /** Draco3D attribute transform */
100
+ export declare class AttributeQuantizationTransform {
101
+ constructor();
102
+ InitFromAttribute(att: PointAttribute): boolean;
103
+ quantization_bits(): number;
104
+ min_value(axis: number): number;
105
+ range(): number;
106
+ }
107
+
108
+ /** Draco3D attribute transform */
109
+ export declare class AttributeOctahedronTransform {
110
+ constructor();
111
+ InitFromAttribute(att: PointAttribute): boolean;
112
+ quantization_bits(): number;
113
+ }
114
+
115
+ /** Draco3D point cloud */
116
+ export declare class PointCloud {
117
+ ptr: VoidPtr;
118
+
119
+ constructor();
120
+ num_attributes(): number;
121
+ num_points(): number;
122
+ }
123
+
124
+ /** Draco3D mesh */
125
+ export declare class Mesh extends PointCloud {
126
+ constructor();
127
+ num_faces(): number;
128
+ }
129
+
130
+ /** Draco3D metadata */
131
+ export declare class Metadata {
132
+ ptr: VoidPtr;
133
+
134
+ constructor();
135
+ }
136
+
137
+ /** Draco3D status */
138
+ export declare class Status {
139
+ constructor();
140
+ code(): draco_StatusCode;
141
+ ok(): boolean;
142
+ error_msg(): string;
143
+ }
144
+
145
+ /** Draco3D Float32Array allocated on the emscripten heap */
146
+ export declare class DracoFloat32Array {
147
+ constructor();
148
+ GetValue(index: number): number;
149
+ size(): number;
150
+ }
151
+
152
+ /** Draco3D Int8Array allocated on the emscripten heap */
153
+ export declare class DracoInt8Array {
154
+ constructor();
155
+ GetValue(index: number): number;
156
+ size(): number;
157
+ }
158
+
159
+ /** Draco3D Uint8Array allocated on the emscripten heap */
160
+ export declare class DracoUInt8Array {
161
+ GetValue(index: number): number;
162
+ size(): number;
163
+ }
164
+
165
+ /** Draco3D Int16Array allocated on the emscripten heap */
166
+ export declare class DracoInt16Array {
167
+ constructor();
168
+ GetValue(index: number): number;
169
+ size(): number;
170
+ }
171
+
172
+ /** Draco3D Uint16Array allocated on the emscripten heap */
173
+ export declare class DracoUInt16Array {
174
+ constructor();
175
+ GetValue(index: number): number;
176
+ size(): number;
177
+ }
178
+
179
+ /** Draco3D Int32Array allocated on the emscripten heap */
180
+ export declare class DracoInt32Array {
181
+ constructor();
182
+ GetValue(index: number): number;
183
+ size(): number;
184
+ }
185
+
186
+ /** Draco3D Uint32Array allocated on the emscripten heap */
187
+ export declare class DracoUInt32Array {
188
+ constructor();
189
+ GetValue(index: number): number;
190
+ size(): number;
191
+ }
192
+
193
+ /** Draco3D metadata querier */
194
+ export declare class MetadataQuerier {
195
+ constructor();
196
+
197
+ HasEntry(metadata: Metadata, entry_name: string): string;
198
+ GetIntEntry(metadata: Metadata, entry_name: string);
199
+ GetIntEntryArray(metadata: Metadata, entry_name: string, out_values: DracoInt32Array);
200
+ GetDoubleEntry(metadata: Metadata, entry_name: string): number;
201
+ GetStringEntry(metadata: Metadata, entry_name: string): string;
202
+
203
+ NumEntries(metadata: Metadata): number;
204
+ GetEntryName(metadata: Metadata, entry_id: number): string;
205
+ }
206
+
207
+ /**
208
+ * Draco3D Decoder class
209
+ */
210
+ export declare class Decoder {
211
+ constructor();
212
+
213
+ GetEncodedGeometryType(data: Int8Array): draco_EncodedGeometryType;
214
+
215
+ DecodeArrayToPointCloud(data: Int8Array, data_size: number, out_point_cloud: PointCloud): Status;
216
+ DecodeArrayToMesh(data: Int8Array, data_size: number, out_mesh: Mesh): Status;
217
+
218
+ /** @deprecated Use `DecodeArrayToPointCloud`. */
219
+ DecodeBufferToPointCloud(in_buffer: DecoderBuffer, out_point_cloud: PointCloud): Status;
220
+ /** @deprecated Use `DecodeArrayToMesh`. */
221
+ DecodeBufferToMesh(in_buffer: DecoderBuffer, out_mesh: Mesh): Status;
222
+
223
+ GetAttributeId(pc: PointCloud, type: draco_GeometryAttribute_Type): number;
224
+ GetAttributeIdByName(pc: PointCloud, name: string): number;
225
+ GetAttributeIdByMetadataEntry(pc: PointCloud, name: string, value: string): number;
226
+
227
+ GetAttribute(pc: PointCloud, att_id: number): PointAttribute;
228
+ GetAttributeByUniqueId(pc: PointCloud, unique_id: number): PointAttribute;
229
+
230
+ GetMetadata(pc: PointCloud): Metadata;
231
+ GetAttributeMetadata(pc: PointCloud, att_id: number): Metadata;
232
+
233
+ GetFaceFromMesh(m: Mesh, face_id: number, out_values: DracoInt32Array): boolean;
234
+ GetTriangleStripsFromMesh(m: Mesh, strip_values: DracoInt32Array);
235
+
236
+ GetTrianglesUInt16Array(m: Mesh, out_size: number, out_values: VoidPtr): boolean;
237
+ GetTrianglesUInt32Array(m: Mesh, out_size: number, out_values: VoidPtr): boolean;
238
+
239
+ GetAttributeFloat(pa: PointAttribute, att_index: number, out_values: DracoFloat32Array): boolean;
240
+
241
+ GetAttributeFloatForAllPoints(
242
+ pc: PointCloud,
243
+ pa: PointAttribute,
244
+ out_values: DracoFloat32Array
245
+ ): boolean;
246
+
247
+ // Deprecated, use GetAttributeInt32ForAllPoints instead.
248
+ GetAttributeIntForAllPoints(
249
+ pc: PointCloud,
250
+ pa: PointAttribute,
251
+ out_values: DracoInt32Array
252
+ ): boolean;
253
+
254
+ GetAttributeInt8ForAllPoints(
255
+ pc: PointCloud,
256
+ pa: PointAttribute,
257
+ out_values: DracoInt8Array
258
+ ): boolean;
259
+ GetAttributeUInt8ForAllPoints(
260
+ pc: PointCloud,
261
+ pa: PointAttribute,
262
+ out_values: DracoUInt8Array
263
+ ): boolean;
264
+ GetAttributeInt16ForAllPoints(
265
+ pc: PointCloud,
266
+ pa: PointAttribute,
267
+ out_values: DracoInt16Array
268
+ ): boolean;
269
+ GetAttributeUInt16ForAllPoints(
270
+ pc: PointCloud,
271
+ pa: PointAttribute,
272
+ out_values: DracoUInt16Array
273
+ ): boolean;
274
+ GetAttributeInt32ForAllPoints(
275
+ pc: PointCloud,
276
+ pa: PointAttribute,
277
+ out_values: DracoInt32Array
278
+ ): boolean;
279
+ GetAttributeUInt32ForAllPoints(
280
+ pc: PointCloud,
281
+ pa: PointAttribute,
282
+ out_values: DracoUInt32Array
283
+ ): boolean;
284
+
285
+ GetAttributeDataArrayForAllPoints(
286
+ pc: PointCloud,
287
+ pa: PointAttribute,
288
+ data_type: draco_DataType,
289
+ out_size: number,
290
+ out_values: VoidPtr
291
+ ): boolean;
292
+
293
+ SkipAttributeTransform(att_type: draco_GeometryAttribute_Type): void;
294
+ }
295
+
296
+ // DRACO WEB ENCODER IDL
297
+
298
+ /** Draco3D metadata builder */
299
+ export declare class MetadataBuilder {
300
+ constructor();
301
+ AddStringEntry(metadata: Metadata, entry_name: string, entry_value: string);
302
+ AddIntEntry(metadata: Metadata, entry_name: string, entry_value: number);
303
+ AddDoubleEntry(metadata: Metadata, entry_name: string, entry_value: number);
304
+ AddIntEntryArray(
305
+ metadata: Metadata,
306
+ entry_name: string,
307
+ entry_value: Int32Array,
308
+ num_values: number
309
+ );
310
+ }
311
+
312
+ /** Draco3D point cloud builder */
313
+
314
+ export declare class PointCloudBuilder {
315
+ constructor();
316
+ PointCloudBuilder(): void;
317
+ AddFloatAttribute(
318
+ pc: PointCloud,
319
+ type: draco_GeometryAttribute_Type,
320
+ num_vertices: number,
321
+ num_components: number,
322
+ att_values: Float32Array
323
+ );
324
+ AddInt8Attribute(
325
+ pc: PointCloud,
326
+ type: draco_GeometryAttribute_Type,
327
+ num_vertices: number,
328
+ num_components: number,
329
+ att_values: Int8Array
330
+ );
331
+ AddUInt8Attribute(
332
+ pc: PointCloud,
333
+ type: draco_GeometryAttribute_Type,
334
+ num_vertices: number,
335
+ num_components: number,
336
+ att_values: Uint8Array
337
+ );
338
+ AddInt16Attribute(
339
+ pc: PointCloud,
340
+ type: draco_GeometryAttribute_Type,
341
+ num_vertices: number,
342
+ num_components: number,
343
+ att_values: Int16Array
344
+ );
345
+ AddUInt16Attribute(
346
+ pc: PointCloud,
347
+ type: draco_GeometryAttribute_Type,
348
+ num_vertices: number,
349
+ num_components: number,
350
+ att_values: Uint16Array
351
+ );
352
+ AddInt32Attribute(
353
+ pc: PointCloud,
354
+ type: draco_GeometryAttribute_Type,
355
+ num_vertices: number,
356
+ num_components: number,
357
+ att_values: Int32Array
358
+ );
359
+ AddUInt32Attribute(
360
+ pc: PointCloud,
361
+ type: draco_GeometryAttribute_Type,
362
+ num_vertices: number,
363
+ num_components: number,
364
+ att_values: Uint32Array
365
+ );
366
+
367
+ AddMetadata(pc: PointCloud, metadata: Metadata): boolean;
368
+ SetMetadataForAttribute(pc: PointCloud, attribute_id: number, metadata: Metadata);
369
+ SetNormalizedFlagForAttribute(pc: PointCloud, attribute_id: number, normalized: boolean): boolean;
370
+ }
371
+
372
+ /** Draco3D mesh builder */
373
+ export declare class MeshBuilder extends PointCloudBuilder {
374
+ constructor();
375
+ AddFacesToMesh(mesh: Mesh, num_faces: number, faces: Uint16Array | Uint32Array): boolean;
376
+ }
377
+
378
+ /** Draco3D encoder */
379
+ export declare class Encoder {
380
+ constructor();
381
+ Encoder(): void;
382
+ SetEncodingMethod(method: number): void;
383
+ SetAttributeQuantization(type: draco_GeometryAttribute_Type, quantization_bits: number);
384
+ SetAttributeExplicitQuantization(
385
+ type: draco_GeometryAttribute_Type,
386
+ quantization_bits: number,
387
+ num_components: number,
388
+ origin: number[],
389
+ range: number
390
+ );
391
+ SetSpeedOptions(encoding_speed: number, decoding_speed: number): void;
392
+ SetTrackEncodedProperties(flag: boolean): void;
393
+
394
+ EncodeMeshToDracoBuffer(mesh: Mesh, encoded_data: DracoInt8Array);
395
+ EncodePointCloudToDracoBuffer(
396
+ pc: PointCloud,
397
+ deduplicate_values: boolean,
398
+ encoded_data: DracoInt8Array
399
+ );
400
+
401
+ // Returns the number of encoded points or faces from the last Encode
402
+ // operation. Returns 0 if SetTrackEncodedProperties was not set to true.
403
+ GetNumberOfEncodedPoints(): number;
404
+ GetNumberOfEncodedFaces(): number;
405
+ }
406
+
407
+ /** Draco3D expert encoder */
408
+ export declare class ExpertEncoder {
409
+ constructor(pointCloud: PointCloud);
410
+ SetEncodingMethod(method: number): void;
411
+ SetAttributeQuantization(att_id: number, quantization_bits: number);
412
+ SetAttributeExplicitQuantization(
413
+ att_id: number,
414
+ quantization_bits: number,
415
+ num_components: number,
416
+ origin: number[],
417
+ range: number
418
+ );
419
+ SetSpeedOptions(encoding_speed: number, decoding_speed: number): void;
420
+ SetTrackEncodedProperties(flag: boolean): void;
421
+
422
+ EncodeToDracoBuffer(deduplicate_values: boolean, encoded_data: DracoInt8Array);
423
+
424
+ // Returns the number of encoded points or faces from the last Encode
425
+ // operation. Returns 0 if SetTrackEncodedProperties was not set to true.
426
+ GetNumberOfEncodedPoints(): number;
427
+ GetNumberOfEncodedFaces(): number;
428
+ }
429
+
430
+ /** Draco3D module interface */
431
+ export interface Draco3D {
432
+ // ENUMS
433
+
434
+ // draco_EncodedGeometryType
435
+ readonly INVALID_GEOMETRY_TYPE: draco_EncodedGeometryType;
436
+ readonly POINT_CLOUD: draco_EncodedGeometryType;
437
+ readonly TRIANGULAR_MESH: draco_EncodedGeometryType;
438
+
439
+ // enum draco_GeometryAttribute_Type
440
+ readonly INVALID: draco_GeometryAttribute_Type;
441
+ readonly POSITION: draco_GeometryAttribute_Type;
442
+ readonly NORMAL: draco_GeometryAttribute_Type;
443
+ readonly COLOR: draco_GeometryAttribute_Type;
444
+ readonly TEX_COORD: draco_GeometryAttribute_Type;
445
+ readonly GENERIC: draco_GeometryAttribute_Type;
446
+
447
+ readonly MESH_SEQUENTIAL_ENCODING: number;
448
+ readonly MESH_EDGEBREAKER_ENCODING: number;
449
+
450
+ // enum draco_DataType
451
+ readonly DT_INVALID: draco_DataType;
452
+ readonly DT_INT8: draco_DataType;
453
+ readonly DT_UINT8: draco_DataType;
454
+ readonly DT_INT16: draco_DataType;
455
+ readonly DT_UINT16: draco_DataType;
456
+ readonly DT_INT32: draco_DataType;
457
+ readonly DT_UINT32: draco_DataType;
458
+ readonly DT_INT64: draco_DataType;
459
+ readonly DT_UINT64: draco_DataType;
460
+ readonly DT_FLOAT32: draco_DataType;
461
+ readonly DT_FLOAT64: draco_DataType;
462
+ readonly DT_BOOL: draco_DataType;
463
+ readonly DT_TYPES_COUNT: draco_DataType;
464
+
465
+ readonly Mesh: typeof Mesh;
466
+ readonly PointCloud: typeof PointCloud;
467
+ readonly Metadata: typeof Metadata;
468
+
469
+ readonly Encoder: typeof Encoder;
470
+ readonly ExpertEncoder: typeof ExpertEncoder;
471
+ readonly MeshBuilder: typeof MeshBuilder;
472
+ readonly MetadataBuilder: typeof MetadataBuilder;
473
+
474
+ readonly MetadataQuerier: typeof MetadataQuerier;
475
+ readonly Decoder: typeof Decoder;
476
+ readonly DecoderBuffer: typeof DecoderBuffer;
477
+
478
+ readonly DracoFloat32Array: typeof DracoFloat32Array;
479
+ readonly DracoInt8Array: typeof DracoInt8Array;
480
+ readonly DracoUInt8Array: typeof DracoUInt8Array;
481
+ readonly DracoInt16Array: typeof DracoInt16Array;
482
+ readonly DracoUInt16Array: typeof DracoUInt16Array;
483
+ readonly DracoInt32Array: typeof DracoInt32Array;
484
+ readonly DracoUInt32Array: typeof DracoUInt32Array;
485
+
486
+ readonly AttributeQuantizationTransform: typeof AttributeQuantizationTransform;
487
+ readonly AttributeOctahedronTransform: typeof AttributeOctahedronTransform;
488
+
489
+ // createEncoderModule(): Encoder;
490
+ // createDecoderModule(): Decoder;
491
+ destroy(resource: object): void;
492
+ _malloc(byteLength: number): number;
493
+ _free(ptr: number): void;
494
+
495
+ HEAPU8: {
496
+ buffer: ArrayBuffer;
497
+ };
498
+ }
@@ -0,0 +1,34 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ import type {LoaderWithParser, LoaderContext} from '@loaders.gl/core/loader-utils';
6
+ import type {ArrowTable} from '@loaders.gl/core/schema';
7
+ import type {DracoMesh} from './lib/draco-types';
8
+ import {loadDracoDecoderModuleFromDraco3D} from './lib/draco-module-loader';
9
+ import {parseDraco} from './lib/parse-draco';
10
+ import {DracoLoader as DracoLoaderMetadata} from './draco-loader-types';
11
+ import type {DracoLoaderOptions} from './draco-loader-options';
12
+
13
+ const {preload: _DracoLoaderPreload, ...DracoLoaderMetadataWithoutPreload} = DracoLoaderMetadata;
14
+
15
+ /** Parser-bearing Draco loader backed by an injected `draco3d` package. */
16
+ export const Draco3DLoaderWithParser = {
17
+ ...DracoLoaderMetadataWithoutPreload,
18
+ parse: async (arrayBuffer: ArrayBuffer, options?: DracoLoaderOptions, context?: LoaderContext) =>
19
+ await parseDraco(
20
+ arrayBuffer,
21
+ options,
22
+ async () => await loadDracoDecoderModuleFromDraco3D(getDraco3DModule(options)),
23
+ context
24
+ )
25
+ } as const satisfies LoaderWithParser<DracoMesh | ArrowTable, never, DracoLoaderOptions>;
26
+
27
+ /** Extracts the injected `draco3d` package from loader options. */
28
+ function getDraco3DModule(options?: DracoLoaderOptions): unknown {
29
+ const draco3DModule = options?.modules?.draco3d;
30
+ if (!draco3DModule) {
31
+ throw new Error('DracoLoader: backend "draco3d" requires options.modules.draco3d');
32
+ }
33
+ return draco3DModule;
34
+ }
@@ -0,0 +1,46 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+
5
+ // Module constants
6
+ export {DRACO_EXTERNAL_LIBRARIES, DRACO_EXTERNAL_LIBRARY_URLS} from './lib/draco-module-loader';
7
+ export type {DracoDecoderProfile} from './lib/draco-module-loader';
8
+
9
+ // Draco data types
10
+
11
+ export type {DracoMesh, DracoLoaderData} from './lib/draco-types';
12
+ export {DracoFormat} from './draco-format';
13
+
14
+ // Draco Writer
15
+
16
+ export type {
17
+ DracoBatchOptions,
18
+ DracoBatchProgress,
19
+ DracoWriterAttributes,
20
+ DracoWriterInput,
21
+ DracoWriterInputBatch,
22
+ DracoWriterOptions
23
+ } from './draco-writer';
24
+ export {encodeDraco, encodeDracoBatch, encodeDracoInBatches} from './draco-writer';
25
+ export type {
26
+ DracoAttributeQuantization,
27
+ DracoAttributeType,
28
+ DracoBuilderMesh,
29
+ DracoBuildOptions,
30
+ DracoEncodingMethod,
31
+ DracoEncodingAttributeReport,
32
+ DracoEncodingReport,
33
+ DracoEncodingResult,
34
+ DracoExplicitQuantization,
35
+ DracoMetadata
36
+ } from './lib/draco-builder';
37
+ export {DracoWriterWorker, DracoWriter} from './draco-writer';
38
+
39
+ // Draco Loader
40
+
41
+ export type {DracoLoaderOptions} from './draco-loader-types';
42
+ export {DracoLoader} from './draco-loader-types';
43
+
44
+ // DEPRECATED EXPORTS
45
+ /** @deprecated Use DracoLoader. */
46
+ export {DracoWorkerLoader} from './draco-loader-types';