@loaders.gl/gltf 3.1.3 → 4.0.0-alpha.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 (211) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/bundle.js.map +1 -0
  3. package/dist/dist.min.js +13 -13
  4. package/dist/glb-loader.js +28 -33
  5. package/dist/glb-loader.js.map +1 -0
  6. package/dist/glb-writer.js +26 -34
  7. package/dist/glb-writer.js.map +1 -0
  8. package/dist/gltf-loader.js +43 -46
  9. package/dist/gltf-loader.js.map +1 -0
  10. package/dist/gltf-writer.js +26 -29
  11. package/dist/gltf-writer.js.map +1 -0
  12. package/dist/index.js +7 -21
  13. package/dist/index.js.map +1 -0
  14. package/dist/lib/api/gltf-extensions.js +31 -71
  15. package/dist/lib/api/gltf-extensions.js.map +1 -0
  16. package/dist/lib/api/gltf-scenegraph.js +512 -550
  17. package/dist/lib/api/gltf-scenegraph.js.map +1 -0
  18. package/dist/lib/api/normalize-gltf-v1.js +229 -274
  19. package/dist/lib/api/normalize-gltf-v1.js.map +1 -0
  20. package/dist/lib/api/post-process-gltf.js +376 -324
  21. package/dist/lib/api/post-process-gltf.js.map +1 -0
  22. package/dist/lib/encoders/encode-glb.js +58 -56
  23. package/dist/lib/encoders/encode-glb.js.map +1 -0
  24. package/dist/lib/encoders/encode-gltf.js +12 -25
  25. package/dist/lib/encoders/encode-gltf.js.map +1 -0
  26. package/dist/lib/extensions/EXT_meshopt_compression.js +49 -47
  27. package/dist/lib/extensions/EXT_meshopt_compression.js.map +1 -0
  28. package/dist/lib/extensions/EXT_texture_webp.js +28 -34
  29. package/dist/lib/extensions/EXT_texture_webp.js.map +1 -0
  30. package/dist/lib/extensions/KHR_binary_gltf.js +23 -39
  31. package/dist/lib/extensions/KHR_binary_gltf.js.map +1 -0
  32. package/dist/lib/extensions/KHR_draco_mesh_compression.js +111 -126
  33. package/dist/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
  34. package/dist/lib/extensions/KHR_texture_basisu.js +19 -28
  35. package/dist/lib/extensions/KHR_texture_basisu.js.map +1 -0
  36. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +44 -57
  37. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
  38. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +32 -42
  39. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
  40. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +62 -75
  41. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
  42. package/dist/lib/gltf-utils/get-typed-array.js +14 -39
  43. package/dist/lib/gltf-utils/get-typed-array.js.map +1 -0
  44. package/dist/lib/gltf-utils/gltf-attribute-utils.js +65 -65
  45. package/dist/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
  46. package/dist/lib/gltf-utils/gltf-constants.js +30 -36
  47. package/dist/lib/gltf-utils/gltf-constants.js.map +1 -0
  48. package/dist/lib/gltf-utils/gltf-utils.js +45 -52
  49. package/dist/lib/gltf-utils/gltf-utils.js.map +1 -0
  50. package/dist/lib/gltf-utils/resolve-url.js +15 -17
  51. package/dist/lib/gltf-utils/resolve-url.js.map +1 -0
  52. package/dist/lib/parsers/parse-glb.js +107 -120
  53. package/dist/lib/parsers/parse-glb.js.map +1 -0
  54. package/dist/lib/parsers/parse-gltf.js +154 -173
  55. package/dist/lib/parsers/parse-gltf.js.map +1 -0
  56. package/dist/lib/types/glb-types.js +2 -2
  57. package/dist/{es5/lib → lib}/types/glb-types.js.map +0 -0
  58. package/dist/lib/types/gltf-json-schema.js +2 -4
  59. package/dist/{es5/lib → lib}/types/gltf-json-schema.js.map +0 -0
  60. package/dist/lib/types/gltf-postprocessed-schema.js +2 -4
  61. package/dist/{es5/lib → lib}/types/gltf-postprocessed-schema.js.map +0 -0
  62. package/dist/lib/types/gltf-types.js +2 -3
  63. package/dist/{es5/lib → lib}/types/gltf-types.js.map +0 -0
  64. package/dist/lib/utils/assert.js +5 -11
  65. package/dist/lib/utils/assert.js.map +1 -0
  66. package/dist/lib/utils/version.js +2 -7
  67. package/dist/lib/utils/version.js.map +1 -0
  68. package/dist/meshopt/meshopt-decoder.js +82 -97
  69. package/dist/meshopt/meshopt-decoder.js.map +1 -0
  70. package/dist/{es5/meshopt → meshopt}/meshopt-encoder.ts.disabled +0 -0
  71. package/dist/webp/webp.js +23 -32
  72. package/dist/webp/webp.js.map +1 -0
  73. package/package.json +8 -11
  74. package/src/lib/parsers/parse-gltf.ts +1 -1
  75. package/dist/es5/bundle.js +0 -7
  76. package/dist/es5/bundle.js.map +0 -1
  77. package/dist/es5/glb-loader.js +0 -70
  78. package/dist/es5/glb-loader.js.map +0 -1
  79. package/dist/es5/glb-writer.js +0 -41
  80. package/dist/es5/glb-writer.js.map +0 -1
  81. package/dist/es5/gltf-loader.js +0 -97
  82. package/dist/es5/gltf-loader.js.map +0 -1
  83. package/dist/es5/gltf-writer.js +0 -40
  84. package/dist/es5/gltf-writer.js.map +0 -1
  85. package/dist/es5/index.js +0 -56
  86. package/dist/es5/index.js.map +0 -1
  87. package/dist/es5/lib/api/gltf-extensions.js +0 -146
  88. package/dist/es5/lib/api/gltf-extensions.js.map +0 -1
  89. package/dist/es5/lib/api/gltf-scenegraph.js +0 -623
  90. package/dist/es5/lib/api/gltf-scenegraph.js.map +0 -1
  91. package/dist/es5/lib/api/normalize-gltf-v1.js +0 -392
  92. package/dist/es5/lib/api/normalize-gltf-v1.js.map +0 -1
  93. package/dist/es5/lib/api/post-process-gltf.js +0 -502
  94. package/dist/es5/lib/api/post-process-gltf.js.map +0 -1
  95. package/dist/es5/lib/encoders/encode-glb.js +0 -75
  96. package/dist/es5/lib/encoders/encode-glb.js.map +0 -1
  97. package/dist/es5/lib/encoders/encode-gltf.js +0 -26
  98. package/dist/es5/lib/encoders/encode-gltf.js.map +0 -1
  99. package/dist/es5/lib/extensions/EXT_meshopt_compression.js +0 -137
  100. package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +0 -1
  101. package/dist/es5/lib/extensions/EXT_texture_webp.js +0 -60
  102. package/dist/es5/lib/extensions/EXT_texture_webp.js.map +0 -1
  103. package/dist/es5/lib/extensions/KHR_binary_gltf.js +0 -53
  104. package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +0 -1
  105. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +0 -331
  106. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
  107. package/dist/es5/lib/extensions/KHR_texture_basisu.js +0 -49
  108. package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +0 -1
  109. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +0 -129
  110. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
  111. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +0 -97
  112. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
  113. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +0 -139
  114. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
  115. package/dist/es5/lib/gltf-utils/get-typed-array.js +0 -26
  116. package/dist/es5/lib/gltf-utils/get-typed-array.js.map +0 -1
  117. package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js +0 -85
  118. package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
  119. package/dist/es5/lib/gltf-utils/gltf-constants.js +0 -48
  120. package/dist/es5/lib/gltf-utils/gltf-constants.js.map +0 -1
  121. package/dist/es5/lib/gltf-utils/gltf-utils.js +0 -69
  122. package/dist/es5/lib/gltf-utils/gltf-utils.js.map +0 -1
  123. package/dist/es5/lib/gltf-utils/resolve-url.js +0 -23
  124. package/dist/es5/lib/gltf-utils/resolve-url.js.map +0 -1
  125. package/dist/es5/lib/parsers/parse-glb.js +0 -142
  126. package/dist/es5/lib/parsers/parse-glb.js.map +0 -1
  127. package/dist/es5/lib/parsers/parse-gltf.js +0 -353
  128. package/dist/es5/lib/parsers/parse-gltf.js.map +0 -1
  129. package/dist/es5/lib/types/glb-types.js +0 -2
  130. package/dist/es5/lib/types/gltf-json-schema.js +0 -2
  131. package/dist/es5/lib/types/gltf-postprocessed-schema.js +0 -2
  132. package/dist/es5/lib/types/gltf-types.js +0 -2
  133. package/dist/es5/lib/utils/assert.js +0 -13
  134. package/dist/es5/lib/utils/assert.js.map +0 -1
  135. package/dist/es5/lib/utils/version.js +0 -9
  136. package/dist/es5/lib/utils/version.js.map +0 -1
  137. package/dist/es5/meshopt/meshopt-decoder.js +0 -270
  138. package/dist/es5/meshopt/meshopt-decoder.js.map +0 -1
  139. package/dist/es5/webp/webp.js +0 -104
  140. package/dist/es5/webp/webp.js.map +0 -1
  141. package/dist/esm/bundle.js +0 -5
  142. package/dist/esm/bundle.js.map +0 -1
  143. package/dist/esm/glb-loader.js +0 -34
  144. package/dist/esm/glb-loader.js.map +0 -1
  145. package/dist/esm/glb-writer.js +0 -29
  146. package/dist/esm/glb-writer.js.map +0 -1
  147. package/dist/esm/gltf-loader.js +0 -47
  148. package/dist/esm/gltf-loader.js.map +0 -1
  149. package/dist/esm/gltf-writer.js +0 -29
  150. package/dist/esm/gltf-writer.js.map +0 -1
  151. package/dist/esm/index.js +0 -7
  152. package/dist/esm/index.js.map +0 -1
  153. package/dist/esm/lib/api/gltf-extensions.js +0 -35
  154. package/dist/esm/lib/api/gltf-extensions.js.map +0 -1
  155. package/dist/esm/lib/api/gltf-scenegraph.js +0 -515
  156. package/dist/esm/lib/api/gltf-scenegraph.js.map +0 -1
  157. package/dist/esm/lib/api/normalize-gltf-v1.js +0 -250
  158. package/dist/esm/lib/api/normalize-gltf-v1.js.map +0 -1
  159. package/dist/esm/lib/api/post-process-gltf.js +0 -422
  160. package/dist/esm/lib/api/post-process-gltf.js.map +0 -1
  161. package/dist/esm/lib/encoders/encode-glb.js +0 -63
  162. package/dist/esm/lib/encoders/encode-glb.js.map +0 -1
  163. package/dist/esm/lib/encoders/encode-gltf.js +0 -14
  164. package/dist/esm/lib/encoders/encode-gltf.js.map +0 -1
  165. package/dist/esm/lib/extensions/EXT_meshopt_compression.js +0 -56
  166. package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +0 -1
  167. package/dist/esm/lib/extensions/EXT_texture_webp.js +0 -32
  168. package/dist/esm/lib/extensions/EXT_texture_webp.js.map +0 -1
  169. package/dist/esm/lib/extensions/KHR_binary_gltf.js +0 -26
  170. package/dist/esm/lib/extensions/KHR_binary_gltf.js.map +0 -1
  171. package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js +0 -126
  172. package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
  173. package/dist/esm/lib/extensions/KHR_texture_basisu.js +0 -22
  174. package/dist/esm/lib/extensions/KHR_texture_basisu.js.map +0 -1
  175. package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js +0 -49
  176. package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
  177. package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js +0 -37
  178. package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
  179. package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js +0 -68
  180. package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
  181. package/dist/esm/lib/gltf-utils/get-typed-array.js +0 -16
  182. package/dist/esm/lib/gltf-utils/get-typed-array.js.map +0 -1
  183. package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js +0 -73
  184. package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
  185. package/dist/esm/lib/gltf-utils/gltf-constants.js +0 -37
  186. package/dist/esm/lib/gltf-utils/gltf-constants.js.map +0 -1
  187. package/dist/esm/lib/gltf-utils/gltf-utils.js +0 -56
  188. package/dist/esm/lib/gltf-utils/gltf-utils.js.map +0 -1
  189. package/dist/esm/lib/gltf-utils/resolve-url.js +0 -16
  190. package/dist/esm/lib/gltf-utils/resolve-url.js.map +0 -1
  191. package/dist/esm/lib/parsers/parse-glb.js +0 -128
  192. package/dist/esm/lib/parsers/parse-glb.js.map +0 -1
  193. package/dist/esm/lib/parsers/parse-gltf.js +0 -170
  194. package/dist/esm/lib/parsers/parse-gltf.js.map +0 -1
  195. package/dist/esm/lib/types/glb-types.js +0 -2
  196. package/dist/esm/lib/types/glb-types.js.map +0 -1
  197. package/dist/esm/lib/types/gltf-json-schema.js +0 -2
  198. package/dist/esm/lib/types/gltf-json-schema.js.map +0 -1
  199. package/dist/esm/lib/types/gltf-postprocessed-schema.js +0 -2
  200. package/dist/esm/lib/types/gltf-postprocessed-schema.js.map +0 -1
  201. package/dist/esm/lib/types/gltf-types.js +0 -2
  202. package/dist/esm/lib/types/gltf-types.js.map +0 -1
  203. package/dist/esm/lib/utils/assert.js +0 -6
  204. package/dist/esm/lib/utils/assert.js.map +0 -1
  205. package/dist/esm/lib/utils/version.js +0 -2
  206. package/dist/esm/lib/utils/version.js.map +0 -1
  207. package/dist/esm/meshopt/meshopt-decoder.js +0 -103
  208. package/dist/esm/meshopt/meshopt-decoder.js.map +0 -1
  209. package/dist/esm/meshopt/meshopt-encoder.ts.disabled +0 -409
  210. package/dist/esm/webp/webp.js +0 -29
  211. package/dist/esm/webp/webp.js.map +0 -1
package/dist/bundle.js CHANGED
@@ -1,5 +1,5 @@
1
- "use strict";
2
- // @ts-nocheck
3
1
  const moduleExports = require('./index');
2
+
4
3
  globalThis.loaders = globalThis.loaders || {};
5
4
  module.exports = Object.assign(globalThis.loaders, moduleExports);
5
+ //# sourceMappingURL=bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":"AACA,MAAMA,aAAa,GAAGC,OAAO,CAAC,SAAD,CAA7B;;AACAC,UAAU,CAACC,OAAX,GAAqBD,UAAU,CAACC,OAAX,IAAsB,EAA3C;AACAC,MAAM,CAACC,OAAP,GAAiBC,MAAM,CAACC,MAAP,CAAcL,UAAU,CAACC,OAAzB,EAAkCH,aAAlC,CAAjB","sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"file":"bundle.js"}
package/dist/dist.min.js CHANGED
@@ -41,7 +41,7 @@
41
41
  var VERSION2;
42
42
  var init_version2 = __esm({
43
43
  "../textures/src/lib/utils/version.ts"() {
44
- VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
44
+ VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
45
45
  }
46
46
  });
47
47
 
@@ -49,7 +49,7 @@
49
49
  var DEFAULT_VERSION, VERSION3;
50
50
  var init_version3 = __esm({
51
51
  "../worker-utils/src/lib/env-utils/version.ts"() {
52
- DEFAULT_VERSION = "latest";
52
+ DEFAULT_VERSION = "beta";
53
53
  VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
54
54
  if (typeof __VERSION__ === "undefined") {
55
55
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
@@ -168,7 +168,7 @@
168
168
  node = __toModule(require_require_utils());
169
169
  init_assert();
170
170
  init_version3();
171
- LATEST = "latest";
171
+ LATEST = "beta";
172
172
  VERSION4 = typeof VERSION3 !== "undefined" ? VERSION3 : LATEST;
173
173
  loadLibraryPromises = {};
174
174
  }
@@ -248,7 +248,7 @@
248
248
  var init_basis_module_loader = __esm({
249
249
  "../textures/src/lib/parsers/basis-module-loader.ts"() {
250
250
  init_src();
251
- VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
251
+ VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
252
252
  BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION5}/dist/libs/basis_encoder.wasm`;
253
253
  BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION5}/dist/libs/basis_encoder.js`;
254
254
  }
@@ -445,7 +445,7 @@
445
445
  const basisFile = new BasisFile(new Uint8Array(data));
446
446
  try {
447
447
  if (!basisFile.startTranscoding()) {
448
- return null;
448
+ throw new Error("Failed to start basis transcoding");
449
449
  }
450
450
  const imageCount = basisFile.getNumImages();
451
451
  const images = [];
@@ -471,22 +471,22 @@
471
471
  const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
472
472
  const decodedData = new Uint8Array(decodedSize);
473
473
  if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
474
- return null;
474
+ throw new Error("failed to start Basis transcoding");
475
475
  }
476
476
  return {
477
477
  width,
478
478
  height,
479
479
  data: decodedData,
480
480
  compressed,
481
- hasAlpha,
482
- format
481
+ format,
482
+ hasAlpha
483
483
  };
484
484
  }
485
485
  function parseKTX2File(KTX2File, data, options) {
486
486
  const ktx2File = new KTX2File(new Uint8Array(data));
487
487
  try {
488
488
  if (!ktx2File.startTranscoding()) {
489
- return null;
489
+ throw new Error("failed to start KTX2 transcoding");
490
490
  }
491
491
  const levelsCount = ktx2File.getLevels();
492
492
  const levels = [];
@@ -494,7 +494,7 @@
494
494
  levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
495
495
  break;
496
496
  }
497
- return levels;
497
+ return [levels];
498
498
  } finally {
499
499
  ktx2File.close();
500
500
  ktx2File.delete();
@@ -506,14 +506,14 @@
506
506
  const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
507
507
  const decodedData = new Uint8Array(decodedSize);
508
508
  if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
509
- return null;
509
+ throw new Error("Failed to transcode KTX2 image");
510
510
  }
511
511
  return {
512
512
  width,
513
513
  height,
514
514
  data: decodedData,
515
515
  compressed,
516
- alphaFlag,
516
+ hasAlpha: alphaFlag,
517
517
  format
518
518
  };
519
519
  }
@@ -4277,7 +4277,7 @@
4277
4277
  mipmaps: false,
4278
4278
  width: parsedImage[0].width,
4279
4279
  height: parsedImage[0].height,
4280
- data: parsedImage
4280
+ data: parsedImage[0]
4281
4281
  };
4282
4282
  }
4283
4283
  gltf.images = gltf.images || [];
@@ -1,39 +1,34 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._TypecheckGLBLoader = exports.GLBLoader = void 0;
7
- const version_1 = require("./lib/utils/version");
8
- const parse_glb_1 = __importDefault(require("./lib/parsers/parse-glb"));
9
- /**
10
- * GLB Loader -
11
- * GLB is the binary container format for GLTF
12
- */
13
- exports.GLBLoader = {
14
- name: 'GLB',
15
- id: 'glb',
16
- module: 'gltf',
17
- version: version_1.VERSION,
18
- extensions: ['glb'],
19
- mimeTypes: ['model/gltf-binary'],
20
- binary: true,
21
- parse,
22
- parseSync,
23
- options: {
24
- glb: {
25
- strict: false // Enables deprecated XVIZ support (illegal CHUNK formats)
26
- }
1
+ import { VERSION } from './lib/utils/version';
2
+ import parseGLBSync from './lib/parsers/parse-glb';
3
+ export const GLBLoader = {
4
+ name: 'GLB',
5
+ id: 'glb',
6
+ module: 'gltf',
7
+ version: VERSION,
8
+ extensions: ['glb'],
9
+ mimeTypes: ['model/gltf-binary'],
10
+ binary: true,
11
+ parse,
12
+ parseSync,
13
+ options: {
14
+ glb: {
15
+ strict: false
27
16
  }
17
+ }
28
18
  };
19
+
29
20
  async function parse(arrayBuffer, options) {
30
- return parseSync(arrayBuffer, options);
21
+ return parseSync(arrayBuffer, options);
31
22
  }
23
+
32
24
  function parseSync(arrayBuffer, options) {
33
- const { byteOffset = 0 } = options || {};
34
- const glb = {};
35
- (0, parse_glb_1.default)(glb, arrayBuffer, byteOffset, options?.glb);
36
- return glb;
25
+ const {
26
+ byteOffset = 0
27
+ } = options || {};
28
+ const glb = {};
29
+ parseGLBSync(glb, arrayBuffer, byteOffset, options === null || options === void 0 ? void 0 : options.glb);
30
+ return glb;
37
31
  }
38
- // TYPE TESTS - TODO find a better way than exporting junk
39
- exports._TypecheckGLBLoader = exports.GLBLoader;
32
+
33
+ export const _TypecheckGLBLoader = GLBLoader;
34
+ //# sourceMappingURL=glb-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/glb-loader.ts"],"names":["VERSION","parseGLBSync","GLBLoader","name","id","module","version","extensions","mimeTypes","binary","parse","parseSync","options","glb","strict","arrayBuffer","byteOffset","_TypecheckGLBLoader"],"mappings":"AAGA,SAAQA,OAAR,QAAsB,qBAAtB;AACA,OAAOC,YAAP,MAAyB,yBAAzB;AAWA,OAAO,MAAMC,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,KADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,MAHiC;AAIzCC,EAAAA,OAAO,EAAEN,OAJgC;AAKzCO,EAAAA,UAAU,EAAE,CAAC,KAAD,CAL6B;AAMzCC,EAAAA,SAAS,EAAE,CAAC,mBAAD,CAN8B;AAOzCC,EAAAA,MAAM,EAAE,IAPiC;AAQzCC,EAAAA,KARyC;AASzCC,EAAAA,SATyC;AAUzCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE;AACHC,MAAAA,MAAM,EAAE;AADL;AADE;AAVgC,CAApC;;AAiBP,eAAeJ,KAAf,CAAqBK,WAArB,EAA+CH,OAA/C,EAAyF;AACvF,SAAOD,SAAS,CAACI,WAAD,EAAcH,OAAd,CAAhB;AACD;;AAED,SAASD,SAAT,CAAmBI,WAAnB,EAA6CH,OAA7C,EAA8E;AAC5E,QAAM;AAACI,IAAAA,UAAU,GAAG;AAAd,MAAmBJ,OAAO,IAAI,EAApC;AACA,QAAMC,GAAQ,GAAG,EAAjB;AACAZ,EAAAA,YAAY,CAACY,GAAD,EAAME,WAAN,EAAmBC,UAAnB,EAA+BJ,OAA/B,aAA+BA,OAA/B,uBAA+BA,OAAO,CAAEC,GAAxC,CAAZ;AACA,SAAOA,GAAP;AACD;;AAGD,OAAO,MAAMI,mBAAqC,GAAGf,SAA9C","sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {GLB} from './lib/types/glb-types';\nimport type {GLBParseOptions} from './lib/parsers/parse-glb';\nimport {VERSION} from './lib/utils/version';\nimport parseGLBSync from './lib/parsers/parse-glb';\n\nexport type GLBLoaderOptions = LoaderOptions & {\n glb?: GLBParseOptions;\n byteOffset?: number;\n};\n\n/**\n * GLB Loader -\n * GLB is the binary container format for GLTF\n */\nexport const GLBLoader: LoaderWithParser = {\n name: 'GLB',\n id: 'glb',\n module: 'gltf',\n version: VERSION,\n extensions: ['glb'],\n mimeTypes: ['model/gltf-binary'],\n binary: true,\n parse,\n parseSync,\n options: {\n glb: {\n strict: false // Enables deprecated XVIZ support (illegal CHUNK formats)\n }\n }\n};\n\nasync function parse(arrayBuffer: ArrayBuffer, options?: GLBLoaderOptions): Promise<GLB> {\n return parseSync(arrayBuffer, options);\n}\n\nfunction parseSync(arrayBuffer: ArrayBuffer, options?: GLBLoaderOptions): GLB {\n const {byteOffset = 0} = options || {};\n const glb: GLB = {} as GLB;\n parseGLBSync(glb, arrayBuffer, byteOffset, options?.glb);\n return glb;\n}\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckGLBLoader: LoaderWithParser = GLBLoader;\n"],"file":"glb-loader.js"}
@@ -1,37 +1,29 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports._TypecheckGLBLoader = exports.GLBWriter = void 0;
7
- const version_1 = require("./lib/utils/version");
8
- const encode_glb_1 = __importDefault(require("./lib/encoders/encode-glb"));
9
- /**
10
- * GLB exporter
11
- * GLB is the binary container format for GLTF
12
- */
13
- exports.GLBWriter = {
14
- name: 'GLB',
15
- id: 'glb',
16
- module: 'gltf',
17
- version: version_1.VERSION,
18
- extensions: ['glb'],
19
- mimeTypes: ['model/gltf-binary'],
20
- binary: true,
21
- encodeSync,
22
- options: {
23
- glb: {}
24
- }
1
+ import { VERSION } from './lib/utils/version';
2
+ import encodeGLBSync from './lib/encoders/encode-glb';
3
+ export const GLBWriter = {
4
+ name: 'GLB',
5
+ id: 'glb',
6
+ module: 'gltf',
7
+ version: VERSION,
8
+ extensions: ['glb'],
9
+ mimeTypes: ['model/gltf-binary'],
10
+ binary: true,
11
+ encodeSync,
12
+ options: {
13
+ glb: {}
14
+ }
25
15
  };
16
+
26
17
  function encodeSync(glb, options) {
27
- const { byteOffset = 0 } = options;
28
- // Calculate length and allocate buffer
29
- const byteLength = (0, encode_glb_1.default)(glb, null, byteOffset, options);
30
- const arrayBuffer = new ArrayBuffer(byteLength);
31
- // Encode into buffer
32
- const dataView = new DataView(arrayBuffer);
33
- (0, encode_glb_1.default)(glb, dataView, byteOffset, options);
34
- return arrayBuffer;
18
+ const {
19
+ byteOffset = 0
20
+ } = options;
21
+ const byteLength = encodeGLBSync(glb, null, byteOffset, options);
22
+ const arrayBuffer = new ArrayBuffer(byteLength);
23
+ const dataView = new DataView(arrayBuffer);
24
+ encodeGLBSync(glb, dataView, byteOffset, options);
25
+ return arrayBuffer;
35
26
  }
36
- // TYPE TESTS - TODO find a better way than exporting junk
37
- exports._TypecheckGLBLoader = exports.GLBWriter;
27
+
28
+ export const _TypecheckGLBLoader = GLBWriter;
29
+ //# sourceMappingURL=glb-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/glb-writer.ts"],"names":["VERSION","encodeGLBSync","GLBWriter","name","id","module","version","extensions","mimeTypes","binary","encodeSync","options","glb","byteOffset","byteLength","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"mappings":"AACA,SAAQA,OAAR,QAAsB,qBAAtB;AACA,OAAOC,aAAP,MAA0B,2BAA1B;AAMA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,KADiB;AAEvBC,EAAAA,EAAE,EAAE,KAFmB;AAGvBC,EAAAA,MAAM,EAAE,MAHe;AAIvBC,EAAAA,OAAO,EAAEN,OAJc;AAMvBO,EAAAA,UAAU,EAAE,CAAC,KAAD,CANW;AAOvBC,EAAAA,SAAS,EAAE,CAAC,mBAAD,CAPY;AAQvBC,EAAAA,MAAM,EAAE,IARe;AAUvBC,EAAAA,UAVuB;AAYvBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE;AADE;AAZc,CAAlB;;AAiBP,SAASF,UAAT,CAAoBE,GAApB,EAAyBD,OAAzB,EAAkC;AAChC,QAAM;AAACE,IAAAA,UAAU,GAAG;AAAd,MAAmBF,OAAzB;AAGA,QAAMG,UAAU,GAAGb,aAAa,CAACW,GAAD,EAAM,IAAN,EAAYC,UAAZ,EAAwBF,OAAxB,CAAhC;AACA,QAAMI,WAAW,GAAG,IAAIC,WAAJ,CAAgBF,UAAhB,CAApB;AAGA,QAAMG,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACAd,EAAAA,aAAa,CAACW,GAAD,EAAMK,QAAN,EAAgBJ,UAAhB,EAA4BF,OAA5B,CAAb;AAEA,SAAOI,WAAP;AACD;;AAGD,OAAO,MAAMI,mBAA2B,GAAGjB,SAApC","sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport encodeGLBSync from './lib/encoders/encode-glb';\n\n/**\n * GLB exporter\n * GLB is the binary container format for GLTF\n */\nexport const GLBWriter = {\n name: 'GLB',\n id: 'glb',\n module: 'gltf',\n version: VERSION,\n\n extensions: ['glb'],\n mimeTypes: ['model/gltf-binary'],\n binary: true,\n\n encodeSync,\n\n options: {\n glb: {}\n }\n};\n\nfunction encodeSync(glb, options) {\n const {byteOffset = 0} = options;\n\n // Calculate length and allocate buffer\n const byteLength = encodeGLBSync(glb, null, byteOffset, options);\n const arrayBuffer = new ArrayBuffer(byteLength);\n\n // Encode into buffer\n const dataView = new DataView(arrayBuffer);\n encodeGLBSync(glb, dataView, byteOffset, options);\n\n return arrayBuffer;\n}\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckGLBLoader: Writer = GLBWriter;\n"],"file":"glb-writer.js"}
@@ -1,50 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parse = exports.GLTFLoader = void 0;
4
- const version_1 = require("./lib/utils/version");
5
- const parse_gltf_1 = require("./lib/parsers/parse-gltf");
6
- /**
7
- * GLTF loader
8
- */
9
- exports.GLTFLoader = {
10
- name: 'glTF',
11
- id: 'gltf',
12
- module: 'gltf',
13
- version: version_1.VERSION,
14
- extensions: ['gltf', 'glb'],
15
- mimeTypes: ['model/gltf+json', 'model/gltf-binary'],
16
- text: true,
17
- binary: true,
18
- tests: ['glTF'],
19
- parse,
20
- options: {
21
- gltf: {
22
- normalize: true,
23
- loadBuffers: true,
24
- loadImages: true,
25
- decompressMeshes: true,
26
- postProcess: true // Postprocess glTF and return json structure directly
27
- },
28
- // common?
29
- log: console // eslint-disable-line
1
+ import { VERSION } from './lib/utils/version';
2
+ import { parseGLTF } from './lib/parsers/parse-gltf';
3
+ export const GLTFLoader = {
4
+ name: 'glTF',
5
+ id: 'gltf',
6
+ module: 'gltf',
7
+ version: VERSION,
8
+ extensions: ['gltf', 'glb'],
9
+ mimeTypes: ['model/gltf+json', 'model/gltf-binary'],
10
+ text: true,
11
+ binary: true,
12
+ tests: ['glTF'],
13
+ parse,
14
+ options: {
15
+ gltf: {
16
+ normalize: true,
17
+ loadBuffers: true,
18
+ loadImages: true,
19
+ decompressMeshes: true,
20
+ postProcess: true
30
21
  },
31
- deprecatedOptions: {
32
- fetchImages: 'gltf.loadImages',
33
- createImages: 'gltf.loadImages',
34
- decompress: 'gltf.decompressMeshes',
35
- postProcess: 'gltf.postProcess',
36
- gltf: {
37
- decompress: 'gltf.decompressMeshes'
38
- }
22
+ log: console
23
+ },
24
+ deprecatedOptions: {
25
+ fetchImages: 'gltf.loadImages',
26
+ createImages: 'gltf.loadImages',
27
+ decompress: 'gltf.decompressMeshes',
28
+ postProcess: 'gltf.postProcess',
29
+ gltf: {
30
+ decompress: 'gltf.decompressMeshes'
39
31
  }
32
+ }
40
33
  };
41
- async function parse(arrayBuffer, options = {}, context) {
42
- // Apps can call the parse method directly, we so apply default options here
43
- options = { ...exports.GLTFLoader.options, ...options };
44
- // @ts-ignore
45
- options.gltf = { ...exports.GLTFLoader.options.gltf, ...options.gltf };
46
- const { byteOffset = 0 } = options;
47
- const gltf = {};
48
- return await (0, parse_gltf_1.parseGLTF)(gltf, arrayBuffer, byteOffset, options, context);
34
+ export async function parse(arrayBuffer, options = {}, context) {
35
+ options = { ...GLTFLoader.options,
36
+ ...options
37
+ };
38
+ options.gltf = { ...GLTFLoader.options.gltf,
39
+ ...options.gltf
40
+ };
41
+ const {
42
+ byteOffset = 0
43
+ } = options;
44
+ const gltf = {};
45
+ return await parseGLTF(gltf, arrayBuffer, byteOffset, options, context);
49
46
  }
50
- exports.parse = parse;
47
+ //# sourceMappingURL=gltf-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/gltf-loader.ts"],"names":["VERSION","parseGLTF","GLTFLoader","name","id","module","version","extensions","mimeTypes","text","binary","tests","parse","options","gltf","normalize","loadBuffers","loadImages","decompressMeshes","postProcess","log","console","deprecatedOptions","fetchImages","createImages","decompress","arrayBuffer","context","byteOffset"],"mappings":"AAEA,SAAQA,OAAR,QAAsB,qBAAtB;AAKA,SAAQC,SAAR,QAAwB,0BAAxB;AAiBA,OAAO,MAAMC,UAA4B,GAAG;AAC1CC,EAAAA,IAAI,EAAE,MADoC;AAE1CC,EAAAA,EAAE,EAAE,MAFsC;AAG1CC,EAAAA,MAAM,EAAE,MAHkC;AAI1CC,EAAAA,OAAO,EAAEN,OAJiC;AAK1CO,EAAAA,UAAU,EAAE,CAAC,MAAD,EAAS,KAAT,CAL8B;AAM1CC,EAAAA,SAAS,EAAE,CAAC,iBAAD,EAAoB,mBAApB,CAN+B;AAQ1CC,EAAAA,IAAI,EAAE,IARoC;AAS1CC,EAAAA,MAAM,EAAE,IATkC;AAU1CC,EAAAA,KAAK,EAAE,CAAC,MAAD,CAVmC;AAW1CC,EAAAA,KAX0C;AAa1CC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AACJC,MAAAA,SAAS,EAAE,IADP;AAEJC,MAAAA,WAAW,EAAE,IAFT;AAGJC,MAAAA,UAAU,EAAE,IAHR;AAIJC,MAAAA,gBAAgB,EAAE,IAJd;AAKJC,MAAAA,WAAW,EAAE;AALT,KADC;AAUPC,IAAAA,GAAG,EAAEC;AAVE,GAbiC;AAyB1CC,EAAAA,iBAAiB,EAAE;AACjBC,IAAAA,WAAW,EAAE,iBADI;AAEjBC,IAAAA,YAAY,EAAE,iBAFG;AAGjBC,IAAAA,UAAU,EAAE,uBAHK;AAIjBN,IAAAA,WAAW,EAAE,kBAJI;AAKjBL,IAAAA,IAAI,EAAE;AACJW,MAAAA,UAAU,EAAE;AADR;AALW;AAzBuB,CAArC;AAoCP,OAAO,eAAeb,KAAf,CAAqBc,WAArB,EAAkCb,OAA0B,GAAG,EAA/D,EAAmEc,OAAnE,EAA4E;AAEjFd,EAAAA,OAAO,GAAG,EAAC,GAAGX,UAAU,CAACW,OAAf;AAAwB,OAAGA;AAA3B,GAAV;AAEAA,EAAAA,OAAO,CAACC,IAAR,GAAe,EAAC,GAAGZ,UAAU,CAACW,OAAX,CAAmBC,IAAvB;AAA6B,OAAGD,OAAO,CAACC;AAAxC,GAAf;AAEA,QAAM;AAACc,IAAAA,UAAU,GAAG;AAAd,MAAmBf,OAAzB;AACA,QAAMC,IAAI,GAAG,EAAb;AACA,SAAO,MAAMb,SAAS,CAACa,IAAD,EAA0BY,WAA1B,EAAuCE,UAAvC,EAAmDf,OAAnD,EAA4Dc,OAA5D,CAAtB;AACD","sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {DracoLoaderOptions} from '@loaders.gl/draco';\nimport {VERSION} from './lib/utils/version';\nimport type {ImageLoaderOptions} from '@loaders.gl/images';\nimport type {TextureLoaderOptions} from '@loaders.gl/textures';\nimport type {GLTFParseOptions} from './lib/parsers/parse-gltf';\nimport type {GLTFWithBuffers} from './lib/types/gltf-types';\nimport {parseGLTF} from './lib/parsers/parse-gltf';\nimport {GLBLoaderOptions} from './glb-loader';\n\n/**\n * GLTF loader options\n */\nexport type GLTFLoaderOptions = LoaderOptions &\n ImageLoaderOptions &\n TextureLoaderOptions &\n GLBLoaderOptions &\n DracoLoaderOptions & {\n gltf?: GLTFParseOptions;\n };\n\n/**\n * GLTF loader\n */\nexport const GLTFLoader: LoaderWithParser = {\n name: 'glTF',\n id: 'gltf',\n module: 'gltf',\n version: VERSION,\n extensions: ['gltf', 'glb'],\n mimeTypes: ['model/gltf+json', 'model/gltf-binary'],\n\n text: true,\n binary: true,\n tests: ['glTF'],\n parse,\n\n options: {\n gltf: {\n normalize: true, // Normalize glTF v1 to glTF v2 format (not yet stable)\n loadBuffers: true, // Fetch any linked .BIN buffers, decode base64\n loadImages: true, // Create image objects\n decompressMeshes: true, // Decompress Draco encoded meshes\n postProcess: true // Postprocess glTF and return json structure directly\n },\n\n // common?\n log: console // eslint-disable-line\n },\n deprecatedOptions: {\n fetchImages: 'gltf.loadImages',\n createImages: 'gltf.loadImages',\n decompress: 'gltf.decompressMeshes',\n postProcess: 'gltf.postProcess',\n gltf: {\n decompress: 'gltf.decompressMeshes'\n }\n }\n};\n\nexport async function parse(arrayBuffer, options: GLTFLoaderOptions = {}, context) {\n // Apps can call the parse method directly, we so apply default options here\n options = {...GLTFLoader.options, ...options};\n // @ts-ignore\n options.gltf = {...GLTFLoader.options.gltf, ...options.gltf};\n\n const {byteOffset = 0} = options;\n const gltf = {};\n return await parseGLTF(gltf as GLTFWithBuffers, arrayBuffer, byteOffset, options, context);\n}\n"],"file":"gltf-loader.js"}
@@ -1,32 +1,29 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._TypecheckGLBLoader = exports.GLTFWriter = void 0;
4
- const version_1 = require("./lib/utils/version");
5
- const encode_gltf_1 = require("./lib/encoders/encode-gltf");
6
- /**
7
- * GLTF exporter
8
- */
9
- exports.GLTFWriter = {
10
- name: 'glTF',
11
- id: 'gltf',
12
- module: 'gltf',
13
- version: version_1.VERSION,
14
- extensions: ['glb'],
15
- mimeTypes: ['model/gltf-binary'],
16
- binary: true,
17
- encodeSync,
18
- options: {
19
- gltf: {}
20
- }
1
+ import { VERSION } from './lib/utils/version';
2
+ import { encodeGLTFSync } from './lib/encoders/encode-gltf';
3
+ export const GLTFWriter = {
4
+ name: 'glTF',
5
+ id: 'gltf',
6
+ module: 'gltf',
7
+ version: VERSION,
8
+ extensions: ['glb'],
9
+ mimeTypes: ['model/gltf-binary'],
10
+ binary: true,
11
+ encodeSync,
12
+ options: {
13
+ gltf: {}
14
+ }
21
15
  };
16
+
22
17
  function encodeSync(gltf, options = {}) {
23
- const { byteOffset = 0 } = options;
24
- // Calculate length, then create arraybuffer and encode
25
- const byteLength = (0, encode_gltf_1.encodeGLTFSync)(gltf, null, byteOffset, options);
26
- const arrayBuffer = new ArrayBuffer(byteLength);
27
- const dataView = new DataView(arrayBuffer);
28
- (0, encode_gltf_1.encodeGLTFSync)(gltf, dataView, byteOffset, options);
29
- return arrayBuffer;
18
+ const {
19
+ byteOffset = 0
20
+ } = options;
21
+ const byteLength = encodeGLTFSync(gltf, null, byteOffset, options);
22
+ const arrayBuffer = new ArrayBuffer(byteLength);
23
+ const dataView = new DataView(arrayBuffer);
24
+ encodeGLTFSync(gltf, dataView, byteOffset, options);
25
+ return arrayBuffer;
30
26
  }
31
- // TYPE TESTS - TODO find a better way than exporting junk
32
- exports._TypecheckGLBLoader = exports.GLTFWriter;
27
+
28
+ export const _TypecheckGLBLoader = GLTFWriter;
29
+ //# sourceMappingURL=gltf-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/gltf-writer.ts"],"names":["VERSION","encodeGLTFSync","GLTFWriter","name","id","module","version","extensions","mimeTypes","binary","encodeSync","options","gltf","byteOffset","byteLength","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"mappings":"AACA,SAAQA,OAAR,QAAsB,qBAAtB;AACA,SAAQC,cAAR,QAA6B,4BAA7B;AAUA,OAAO,MAAMC,UAAU,GAAG;AACxBC,EAAAA,IAAI,EAAE,MADkB;AAExBC,EAAAA,EAAE,EAAE,MAFoB;AAGxBC,EAAAA,MAAM,EAAE,MAHgB;AAIxBC,EAAAA,OAAO,EAAEN,OAJe;AAMxBO,EAAAA,UAAU,EAAE,CAAC,KAAD,CANY;AAOxBC,EAAAA,SAAS,EAAE,CAAC,mBAAD,CAPa;AAQxBC,EAAAA,MAAM,EAAE,IARgB;AAUxBC,EAAAA,UAVwB;AAYxBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAZe,CAAnB;;AAiBP,SAASF,UAAT,CAAoBE,IAApB,EAA0BD,OAA0B,GAAG,EAAvD,EAA2D;AACzD,QAAM;AAACE,IAAAA,UAAU,GAAG;AAAd,MAAmBF,OAAzB;AAGA,QAAMG,UAAU,GAAGb,cAAc,CAACW,IAAD,EAAO,IAAP,EAAaC,UAAb,EAAyBF,OAAzB,CAAjC;AACA,QAAMI,WAAW,GAAG,IAAIC,WAAJ,CAAgBF,UAAhB,CAApB;AACA,QAAMG,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACAd,EAAAA,cAAc,CAACW,IAAD,EAAOK,QAAP,EAAiBJ,UAAjB,EAA6BF,OAA7B,CAAd;AAEA,SAAOI,WAAP;AACD;;AAGD,OAAO,MAAMI,mBAA2B,GAAGjB,UAApC","sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {encodeGLTFSync} from './lib/encoders/encode-gltf';\n\nexport type GLTFWriterOptions = {\n gltf?: {};\n byteOffset?: number;\n};\n\n/**\n * GLTF exporter\n */\nexport const GLTFWriter = {\n name: 'glTF',\n id: 'gltf',\n module: 'gltf',\n version: VERSION,\n\n extensions: ['glb'], // We only support encoding to binary GLB, not to JSON GLTF\n mimeTypes: ['model/gltf-binary'], // 'model/gltf+json',\n binary: true,\n\n encodeSync,\n\n options: {\n gltf: {}\n }\n};\n\nfunction encodeSync(gltf, options: GLTFWriterOptions = {}) {\n const {byteOffset = 0} = options;\n\n // Calculate length, then create arraybuffer and encode\n const byteLength = encodeGLTFSync(gltf, null, byteOffset, options);\n const arrayBuffer = new ArrayBuffer(byteLength);\n const dataView = new DataView(arrayBuffer);\n encodeGLTFSync(gltf, dataView, byteOffset, options);\n\n return arrayBuffer;\n}\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckGLBLoader: Writer = GLTFWriter;\n"],"file":"gltf-writer.js"}
package/dist/index.js CHANGED
@@ -1,21 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.postProcessGLTF = exports.GLTFScenegraph = exports.GLBWriter = exports.GLBLoader = exports.GLTFWriter = exports.GLTFLoader = void 0;
7
- // glTF loader/writer definition objects
8
- var gltf_loader_1 = require("./gltf-loader");
9
- Object.defineProperty(exports, "GLTFLoader", { enumerable: true, get: function () { return gltf_loader_1.GLTFLoader; } });
10
- var gltf_writer_1 = require("./gltf-writer");
11
- Object.defineProperty(exports, "GLTFWriter", { enumerable: true, get: function () { return gltf_writer_1.GLTFWriter; } });
12
- // GLB Loader & Writer (for custom formats that want to leverage the GLB binary "envelope")
13
- var glb_loader_1 = require("./glb-loader");
14
- Object.defineProperty(exports, "GLBLoader", { enumerable: true, get: function () { return glb_loader_1.GLBLoader; } });
15
- var glb_writer_1 = require("./glb-writer");
16
- Object.defineProperty(exports, "GLBWriter", { enumerable: true, get: function () { return glb_writer_1.GLBWriter; } });
17
- // glTF Data Access Helper Class
18
- var gltf_scenegraph_1 = require("./lib/api/gltf-scenegraph");
19
- Object.defineProperty(exports, "GLTFScenegraph", { enumerable: true, get: function () { return __importDefault(gltf_scenegraph_1).default; } });
20
- var post_process_gltf_1 = require("./lib/api/post-process-gltf");
21
- Object.defineProperty(exports, "postProcessGLTF", { enumerable: true, get: function () { return post_process_gltf_1.postProcessGLTF; } });
1
+ export { GLTFLoader } from './gltf-loader';
2
+ export { GLTFWriter } from './gltf-writer';
3
+ export { GLBLoader } from './glb-loader';
4
+ export { GLBWriter } from './glb-writer';
5
+ export { default as GLTFScenegraph } from './lib/api/gltf-scenegraph';
6
+ export { postProcessGLTF } from './lib/api/post-process-gltf';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["GLTFLoader","GLTFWriter","GLBLoader","GLBWriter","default","GLTFScenegraph","postProcessGLTF"],"mappings":"AA0BA,SAAQA,UAAR,QAAyB,eAAzB;AACA,SAAQC,UAAR,QAAyB,eAAzB;AAGA,SAAQC,SAAR,QAAwB,cAAxB;AACA,SAAQC,SAAR,QAAwB,cAAxB;AAGA,SAAQC,OAAO,IAAIC,cAAnB,QAAwC,2BAAxC;AACA,SAAQC,eAAR,QAA8B,6BAA9B","sourcesContent":["/* eslint-disable camelcase, indent */\nexport type {GLB} from './lib/types/glb-types';\nexport type {\n GLTF,\n GLTFAccessor,\n GLTFBuffer,\n GLTFBufferView,\n GLTFMeshPrimitive,\n GLTFMesh,\n GLTFNode,\n GLTFMaterial,\n GLTFSampler,\n GLTFScene,\n GLTFSkin,\n GLTFTexture,\n GLTFImage,\n GLTFImagePostprocessed,\n // The following extensions are handled by the GLTFLoader and removed from the parsed glTF (disable via options.gltf.excludeExtensions)\n GLTF_KHR_binary_glTF,\n GLTF_KHR_draco_mesh_compression,\n GLTF_KHR_texture_basisu,\n GLTF_EXT_meshopt_compression,\n GLTF_EXT_texture_webp\n} from './lib/types/gltf-types';\n\n// glTF loader/writer definition objects\nexport {GLTFLoader} from './gltf-loader';\nexport {GLTFWriter} from './gltf-writer';\n\n// GLB Loader & Writer (for custom formats that want to leverage the GLB binary \"envelope\")\nexport {GLBLoader} from './glb-loader';\nexport {GLBWriter} from './glb-writer';\n\n// glTF Data Access Helper Class\nexport {default as GLTFScenegraph} from './lib/api/gltf-scenegraph';\nexport {postProcessGLTF} from './lib/api/post-process-gltf';\nexport type {Mesh} from './lib/types/gltf-json-schema';\nexport type {GLTFObject} from './lib/types/gltf-types';\n"],"file":"index.js"}
@@ -1,75 +1,35 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.decodeExtensions = exports.preprocessExtensions = exports.EXTENSIONS = void 0;
23
- // GLTF 1.0 extensions (decode only)
24
- // import * as KHR_binary_gltf from './KHR_draco_mesh_compression.js';
25
- // GLTF 2.0 Khronos extensions (decode/encode)
26
- const EXT_meshopt_compression = __importStar(require("../extensions/EXT_meshopt_compression"));
27
- const EXT_texture_webp = __importStar(require("../extensions/EXT_texture_webp"));
28
- const KHR_texture_basisu = __importStar(require("../extensions/KHR_texture_basisu"));
29
- const KHR_draco_mesh_compression = __importStar(require("../extensions/KHR_draco_mesh_compression"));
30
- // Deprecated. These should be handled by rendering library (e.g. luma.gl), not the loader.
31
- const KHR_lights_punctual = __importStar(require("../extensions/deprecated/KHR_lights_punctual"));
32
- const KHR_materials_unlit = __importStar(require("../extensions/deprecated/KHR_materials_unlit"));
33
- const KHR_techniques_webgl = __importStar(require("../extensions/deprecated/KHR_techniques_webgl"));
34
- /**
35
- * List of extensions processed by the GLTFLoader
36
- * Note that may extensions can only be handled on the rendering stage and are left out here
37
- * These are just extensions that can be handled fully or partially during loading.
38
- */
39
- exports.EXTENSIONS = [
40
- // 1.0
41
- // KHR_binary_gltf is handled separately - must be processed before other parsing starts
42
- // KHR_binary_gltf,
43
- // 2.0
44
- EXT_meshopt_compression,
45
- EXT_texture_webp,
46
- // Basisu should come after webp, we want basisu to be preferred if both are provided
47
- KHR_texture_basisu,
48
- KHR_draco_mesh_compression,
49
- KHR_lights_punctual,
50
- KHR_materials_unlit,
51
- KHR_techniques_webgl
52
- ];
53
- /** Call before any resource loading starts */
54
- function preprocessExtensions(gltf, options = {}, context) {
55
- const extensions = exports.EXTENSIONS.filter((extension) => useExtension(extension.name, options));
56
- for (const extension of extensions) {
57
- extension.preprocess?.(gltf, options, context);
58
- }
1
+ import * as EXT_meshopt_compression from '../extensions/EXT_meshopt_compression';
2
+ import * as EXT_texture_webp from '../extensions/EXT_texture_webp';
3
+ import * as KHR_texture_basisu from '../extensions/KHR_texture_basisu';
4
+ import * as KHR_draco_mesh_compression from '../extensions/KHR_draco_mesh_compression';
5
+ import * as KHR_lights_punctual from '../extensions/deprecated/KHR_lights_punctual';
6
+ import * as KHR_materials_unlit from '../extensions/deprecated/KHR_materials_unlit';
7
+ import * as KHR_techniques_webgl from '../extensions/deprecated/KHR_techniques_webgl';
8
+ export const EXTENSIONS = [EXT_meshopt_compression, EXT_texture_webp, KHR_texture_basisu, KHR_draco_mesh_compression, KHR_lights_punctual, KHR_materials_unlit, KHR_techniques_webgl];
9
+ export function preprocessExtensions(gltf, options = {}, context) {
10
+ const extensions = EXTENSIONS.filter(extension => useExtension(extension.name, options));
11
+
12
+ for (const extension of extensions) {
13
+ var _extension$preprocess;
14
+
15
+ (_extension$preprocess = extension.preprocess) === null || _extension$preprocess === void 0 ? void 0 : _extension$preprocess.call(extension, gltf, options, context);
16
+ }
59
17
  }
60
- exports.preprocessExtensions = preprocessExtensions;
61
- /** Call after resource loading */
62
- async function decodeExtensions(gltf, options = {}, context) {
63
- const extensions = exports.EXTENSIONS.filter((extension) => useExtension(extension.name, options));
64
- for (const extension of extensions) {
65
- // Note: We decode async extensions sequentially, this might not be necessary
66
- // Currently we only have Draco, but when we add Basis we may revisit
67
- await extension.decode?.(gltf, options, context);
68
- }
18
+ export async function decodeExtensions(gltf, options = {}, context) {
19
+ const extensions = EXTENSIONS.filter(extension => useExtension(extension.name, options));
20
+
21
+ for (const extension of extensions) {
22
+ var _extension$decode;
23
+
24
+ await ((_extension$decode = extension.decode) === null || _extension$decode === void 0 ? void 0 : _extension$decode.call(extension, gltf, options, context));
25
+ }
69
26
  }
70
- exports.decodeExtensions = decodeExtensions;
27
+
71
28
  function useExtension(extensionName, options) {
72
- const excludes = options?.gltf?.excludeExtensions || {};
73
- const exclude = extensionName in excludes && !excludes[extensionName];
74
- return !exclude;
29
+ var _options$gltf;
30
+
31
+ const excludes = (options === null || options === void 0 ? void 0 : (_options$gltf = options.gltf) === null || _options$gltf === void 0 ? void 0 : _options$gltf.excludeExtensions) || {};
32
+ const exclude = extensionName in excludes && !excludes[extensionName];
33
+ return !exclude;
75
34
  }
35
+ //# sourceMappingURL=gltf-extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/api/gltf-extensions.ts"],"names":["EXT_meshopt_compression","EXT_texture_webp","KHR_texture_basisu","KHR_draco_mesh_compression","KHR_lights_punctual","KHR_materials_unlit","KHR_techniques_webgl","EXTENSIONS","preprocessExtensions","gltf","options","context","extensions","filter","extension","useExtension","name","preprocess","decodeExtensions","decode","extensionName","excludes","excludeExtensions","exclude"],"mappings":"AAQA,OAAO,KAAKA,uBAAZ,MAAyC,uCAAzC;AACA,OAAO,KAAKC,gBAAZ,MAAkC,gCAAlC;AACA,OAAO,KAAKC,kBAAZ,MAAoC,kCAApC;AACA,OAAO,KAAKC,0BAAZ,MAA4C,0CAA5C;AAGA,OAAO,KAAKC,mBAAZ,MAAqC,8CAArC;AACA,OAAO,KAAKC,mBAAZ,MAAqC,8CAArC;AACA,OAAO,KAAKC,oBAAZ,MAAsC,+CAAtC;AAgBA,OAAO,MAAMC,UAAiC,GAAG,CAM/CP,uBAN+C,EAO/CC,gBAP+C,EAS/CC,kBAT+C,EAU/CC,0BAV+C,EAW/CC,mBAX+C,EAY/CC,mBAZ+C,EAa/CC,oBAb+C,CAA1C;AAiBP,OAAO,SAASE,oBAAT,CAA8BC,IAA9B,EAAoCC,OAA0B,GAAG,EAAjE,EAAqEC,OAArE,EAA+E;AACpF,QAAMC,UAAU,GAAGL,UAAU,CAACM,MAAX,CAAmBC,SAAD,IAAeC,YAAY,CAACD,SAAS,CAACE,IAAX,EAAiBN,OAAjB,CAA7C,CAAnB;;AACA,OAAK,MAAMI,SAAX,IAAwBF,UAAxB,EAAoC;AAAA;;AAClC,6BAAAE,SAAS,CAACG,UAAV,qFAAAH,SAAS,EAAcL,IAAd,EAAoBC,OAApB,EAA6BC,OAA7B,CAAT;AACD;AACF;AAGD,OAAO,eAAeO,gBAAf,CAAgCT,IAAhC,EAAsCC,OAA0B,GAAG,EAAnE,EAAuEC,OAAvE,EAAiF;AACtF,QAAMC,UAAU,GAAGL,UAAU,CAACM,MAAX,CAAmBC,SAAD,IAAeC,YAAY,CAACD,SAAS,CAACE,IAAX,EAAiBN,OAAjB,CAA7C,CAAnB;;AACA,OAAK,MAAMI,SAAX,IAAwBF,UAAxB,EAAoC;AAAA;;AAGlC,gCAAME,SAAS,CAACK,MAAhB,sDAAM,uBAAAL,SAAS,EAAUL,IAAV,EAAgBC,OAAhB,EAAyBC,OAAzB,CAAf;AACD;AACF;;AAED,SAASI,YAAT,CAAsBK,aAAtB,EAA6CV,OAA7C,EAAyE;AAAA;;AACvE,QAAMW,QAAQ,GAAG,CAAAX,OAAO,SAAP,IAAAA,OAAO,WAAP,6BAAAA,OAAO,CAAED,IAAT,gEAAea,iBAAf,KAAoC,EAArD;AACA,QAAMC,OAAO,GAAGH,aAAa,IAAIC,QAAjB,IAA6B,CAACA,QAAQ,CAACD,aAAD,CAAtD;AACA,SAAO,CAACG,OAAR;AACD","sourcesContent":["/* eslint-disable camelcase */\nimport {GLTF} from '../types/gltf-types';\nimport type {GLTFLoaderOptions} from '../../gltf-loader';\n\n// GLTF 1.0 extensions (decode only)\n// import * as KHR_binary_gltf from './KHR_draco_mesh_compression';\n\n// GLTF 2.0 Khronos extensions (decode/encode)\nimport * as EXT_meshopt_compression from '../extensions/EXT_meshopt_compression';\nimport * as EXT_texture_webp from '../extensions/EXT_texture_webp';\nimport * as KHR_texture_basisu from '../extensions/KHR_texture_basisu';\nimport * as KHR_draco_mesh_compression from '../extensions/KHR_draco_mesh_compression';\n\n// Deprecated. These should be handled by rendering library (e.g. luma.gl), not the loader.\nimport * as KHR_lights_punctual from '../extensions/deprecated/KHR_lights_punctual';\nimport * as KHR_materials_unlit from '../extensions/deprecated/KHR_materials_unlit';\nimport * as KHR_techniques_webgl from '../extensions/deprecated/KHR_techniques_webgl';\n\n// Vendor extensions\n\ntype GLTFExtensionPlugin = {\n name: string;\n preprocess?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions, context) => void;\n decode?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions, context) => Promise<void>;\n encode?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions) => void;\n};\n\n/**\n * List of extensions processed by the GLTFLoader\n * Note that may extensions can only be handled on the rendering stage and are left out here\n * These are just extensions that can be handled fully or partially during loading.\n */\nexport const EXTENSIONS: GLTFExtensionPlugin[] = [\n // 1.0\n // KHR_binary_gltf is handled separately - must be processed before other parsing starts\n // KHR_binary_gltf,\n\n // 2.0\n EXT_meshopt_compression,\n EXT_texture_webp,\n // Basisu should come after webp, we want basisu to be preferred if both are provided\n KHR_texture_basisu,\n KHR_draco_mesh_compression,\n KHR_lights_punctual,\n KHR_materials_unlit,\n KHR_techniques_webgl\n];\n\n/** Call before any resource loading starts */\nexport function preprocessExtensions(gltf, options: GLTFLoaderOptions = {}, context?) {\n const extensions = EXTENSIONS.filter((extension) => useExtension(extension.name, options));\n for (const extension of extensions) {\n extension.preprocess?.(gltf, options, context);\n }\n}\n\n/** Call after resource loading */\nexport async function decodeExtensions(gltf, options: GLTFLoaderOptions = {}, context?) {\n const extensions = EXTENSIONS.filter((extension) => useExtension(extension.name, options));\n for (const extension of extensions) {\n // Note: We decode async extensions sequentially, this might not be necessary\n // Currently we only have Draco, but when we add Basis we may revisit\n await extension.decode?.(gltf, options, context);\n }\n}\n\nfunction useExtension(extensionName: string, options: GLTFLoaderOptions) {\n const excludes = options?.gltf?.excludeExtensions || {};\n const exclude = extensionName in excludes && !excludes[extensionName];\n return !exclude;\n}\n"],"file":"gltf-extensions.js"}