@loaders.gl/gltf 3.1.0-beta.2 → 3.1.0

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 (89) hide show
  1. package/dist/bundle.js +59 -21
  2. package/dist/es5/bundle.js +1 -1
  3. package/dist/es5/bundle.js.map +1 -1
  4. package/dist/es5/glb-loader.js +33 -10
  5. package/dist/es5/glb-loader.js.map +1 -1
  6. package/dist/es5/glb-writer.js +8 -9
  7. package/dist/es5/glb-writer.js.map +1 -1
  8. package/dist/es5/gltf-loader.js +52 -14
  9. package/dist/es5/gltf-loader.js.map +1 -1
  10. package/dist/es5/gltf-writer.js +10 -10
  11. package/dist/es5/gltf-writer.js.map +1 -1
  12. package/dist/es5/index.js +6 -6
  13. package/dist/es5/index.js.map +1 -1
  14. package/dist/es5/lib/api/gltf-extensions.js +106 -18
  15. package/dist/es5/lib/api/gltf-extensions.js.map +1 -1
  16. package/dist/es5/lib/api/gltf-scenegraph.js +541 -447
  17. package/dist/es5/lib/api/gltf-scenegraph.js.map +1 -1
  18. package/dist/es5/lib/api/normalize-gltf-v1.js +278 -150
  19. package/dist/es5/lib/api/normalize-gltf-v1.js.map +1 -1
  20. package/dist/es5/lib/api/post-process-gltf.js +368 -278
  21. package/dist/es5/lib/api/post-process-gltf.js.map +1 -1
  22. package/dist/es5/lib/encoders/encode-glb.js +22 -19
  23. package/dist/es5/lib/encoders/encode-glb.js.map +1 -1
  24. package/dist/es5/lib/encoders/encode-gltf.js +5 -3
  25. package/dist/es5/lib/encoders/encode-gltf.js.map +1 -1
  26. package/dist/es5/lib/extensions/EXT_meshopt_compression.js +104 -39
  27. package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +1 -1
  28. package/dist/es5/lib/extensions/EXT_texture_webp.js +26 -12
  29. package/dist/es5/lib/extensions/EXT_texture_webp.js.map +1 -1
  30. package/dist/es5/lib/extensions/KHR_binary_gltf.js +26 -12
  31. package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +1 -1
  32. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +261 -76
  33. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
  34. package/dist/es5/lib/extensions/KHR_texture_basisu.js +26 -12
  35. package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +1 -1
  36. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +104 -40
  37. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
  38. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +69 -24
  39. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
  40. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +90 -34
  41. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
  42. package/dist/es5/lib/gltf-utils/get-typed-array.js +6 -6
  43. package/dist/es5/lib/gltf-utils/get-typed-array.js.map +1 -1
  44. package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js +21 -19
  45. package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
  46. package/dist/es5/lib/gltf-utils/gltf-constants.js +7 -7
  47. package/dist/es5/lib/gltf-utils/gltf-constants.js.map +1 -1
  48. package/dist/es5/lib/gltf-utils/gltf-utils.js +16 -16
  49. package/dist/es5/lib/gltf-utils/gltf-utils.js.map +1 -1
  50. package/dist/es5/lib/gltf-utils/resolve-url.js +2 -2
  51. package/dist/es5/lib/gltf-utils/resolve-url.js.map +1 -1
  52. package/dist/es5/lib/parsers/parse-glb.js +38 -34
  53. package/dist/es5/lib/parsers/parse-glb.js.map +1 -1
  54. package/dist/es5/lib/parsers/parse-gltf.js +266 -106
  55. package/dist/es5/lib/parsers/parse-gltf.js.map +1 -1
  56. package/dist/es5/lib/utils/version.js +1 -1
  57. package/dist/es5/lib/utils/version.js.map +1 -1
  58. package/dist/es5/meshopt/meshopt-decoder.js +197 -46
  59. package/dist/es5/meshopt/meshopt-decoder.js.map +1 -1
  60. package/dist/es5/webp/webp.js +84 -16
  61. package/dist/es5/webp/webp.js.map +1 -1
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/lib/api/gltf-scenegraph.js.map +1 -1
  64. package/dist/esm/lib/api/post-process-gltf.js +25 -6
  65. package/dist/esm/lib/api/post-process-gltf.js.map +1 -1
  66. package/dist/esm/lib/parsers/parse-gltf.js +1 -1
  67. package/dist/esm/lib/parsers/parse-gltf.js.map +1 -1
  68. package/dist/esm/lib/utils/version.js +1 -1
  69. package/dist/esm/lib/utils/version.js.map +1 -1
  70. package/dist/index.d.ts +1 -1
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/lib/api/gltf-extensions.js +1 -1
  73. package/dist/lib/api/gltf-scenegraph.d.ts +4 -4
  74. package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
  75. package/dist/lib/api/post-process-gltf.d.ts +1 -1
  76. package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
  77. package/dist/lib/api/post-process-gltf.js +30 -6
  78. package/dist/lib/parsers/parse-gltf.js +1 -1
  79. package/dist/lib/types/gltf-postprocessed-schema.d.ts +3 -2
  80. package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -1
  81. package/dist/lib/types/gltf-types.d.ts +2 -1
  82. package/dist/lib/types/gltf-types.d.ts.map +1 -1
  83. package/package.json +6 -6
  84. package/src/index.ts +1 -0
  85. package/src/lib/api/gltf-scenegraph.ts +2 -2
  86. package/src/lib/api/post-process-gltf.ts +44 -8
  87. package/src/lib/parsers/parse-gltf.ts +1 -1
  88. package/src/lib/types/gltf-postprocessed-schema.ts +3 -2
  89. package/src/lib/types/gltf-types.ts +4 -1
package/dist/bundle.js CHANGED
@@ -234,11 +234,11 @@
234
234
  }
235
235
  });
236
236
 
237
- // ../textures/src/lib/gl-constants.ts
238
- var GL;
239
- var init_gl_constants = __esm({
240
- "../textures/src/lib/gl-constants.ts"() {
241
- GL = {
237
+ // ../textures/src/lib/gl-extensions.ts
238
+ var GL_EXTENSIONS_CONSTANTS;
239
+ var init_gl_extensions = __esm({
240
+ "../textures/src/lib/gl-extensions.ts"() {
241
+ GL_EXTENSIONS_CONSTANTS = {
242
242
  COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
243
243
  COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
244
244
  COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
@@ -395,7 +395,7 @@
395
395
  }
396
396
  });
397
397
 
398
- // ../textures/src/lib/parsers/parse-basis.js
398
+ // ../textures/src/lib/parsers/parse-basis.ts
399
399
  async function parseBasis(data, options) {
400
400
  if (options.basis.containerFormat === "auto") {
401
401
  if (isKTX(data)) {
@@ -531,23 +531,47 @@
531
531
  }
532
532
  var OutputFormat;
533
533
  var init_parse_basis = __esm({
534
- "../textures/src/lib/parsers/parse-basis.js"() {
534
+ "../textures/src/lib/parsers/parse-basis.ts"() {
535
535
  init_basis_module_loader();
536
- init_gl_constants();
536
+ init_gl_extensions();
537
537
  init_texture_formats();
538
538
  init_parse_ktx();
539
539
  OutputFormat = {
540
- etc1: { basisFormat: 0, compressed: true, format: GL.COMPRESSED_RGB_ETC1_WEBGL },
540
+ etc1: {
541
+ basisFormat: 0,
542
+ compressed: true,
543
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
544
+ },
541
545
  etc2: { basisFormat: 1, compressed: true },
542
- bc1: { basisFormat: 2, compressed: true, format: GL.COMPRESSED_RGB_S3TC_DXT1_EXT },
543
- bc3: { basisFormat: 3, compressed: true, format: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT },
546
+ bc1: {
547
+ basisFormat: 2,
548
+ compressed: true,
549
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
550
+ },
551
+ bc3: {
552
+ basisFormat: 3,
553
+ compressed: true,
554
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
555
+ },
544
556
  bc4: { basisFormat: 4, compressed: true },
545
557
  bc5: { basisFormat: 5, compressed: true },
546
558
  "bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
547
559
  "bc7-m5": { basisFormat: 7, compressed: true },
548
- "pvrtc1-4-rgb": { basisFormat: 8, compressed: true, format: GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG },
549
- "pvrtc1-4-rgba": { basisFormat: 9, compressed: true, format: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG },
550
- "astc-4x4": { basisFormat: 10, compressed: true, format: GL.COMPRESSED_RGBA_ASTC_4X4_KHR },
560
+ "pvrtc1-4-rgb": {
561
+ basisFormat: 8,
562
+ compressed: true,
563
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
564
+ },
565
+ "pvrtc1-4-rgba": {
566
+ basisFormat: 9,
567
+ compressed: true,
568
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
569
+ },
570
+ "astc-4x4": {
571
+ basisFormat: 10,
572
+ compressed: true,
573
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
574
+ },
551
575
  "atc-rgb": { basisFormat: 11, compressed: true },
552
576
  "atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
553
577
  rgba32: { basisFormat: 13, compressed: false },
@@ -3938,11 +3962,22 @@
3938
3962
  const buffer = accessor.bufferView.buffer;
3939
3963
  const { ArrayType, byteLength } = getAccessorArrayTypeAndLength(accessor, accessor.bufferView);
3940
3964
  const byteOffset = (accessor.bufferView.byteOffset || 0) + (accessor.byteOffset || 0) + buffer.byteOffset;
3941
- const cutBufffer = buffer.arrayBuffer.slice(byteOffset, byteOffset + byteLength);
3942
- accessor.value = new ArrayType(cutBufffer);
3965
+ let cutBuffer = buffer.arrayBuffer.slice(byteOffset, byteOffset + byteLength);
3966
+ if (accessor.bufferView.byteStride) {
3967
+ cutBuffer = this._getValueFromInterleavedBuffer(buffer, byteOffset, accessor.bufferView.byteStride, accessor.bytesPerElement, accessor.count);
3968
+ }
3969
+ accessor.value = new ArrayType(cutBuffer);
3943
3970
  }
3944
3971
  return accessor;
3945
3972
  }
3973
+ _getValueFromInterleavedBuffer(buffer, byteOffset, byteStride, bytesPerElement, count) {
3974
+ const result = new Uint8Array(count * bytesPerElement);
3975
+ for (let i2 = 0; i2 < count; i2++) {
3976
+ const elementOffset = byteOffset + i2 * byteStride;
3977
+ result.set(new Uint8Array(buffer.arrayBuffer.slice(elementOffset, elementOffset + bytesPerElement)), i2 * bytesPerElement);
3978
+ }
3979
+ return result.buffer;
3980
+ }
3946
3981
  _resolveTexture(texture, index) {
3947
3982
  texture.id = texture.id || `texture-${index}`;
3948
3983
  texture.sampler = "sampler" in texture ? this.getSampler(texture.sampler) : DEFAULT_SAMPLER;
@@ -3975,16 +4010,19 @@
3975
4010
  return image;
3976
4011
  }
3977
4012
  _resolveBufferView(bufferView, index) {
3978
- bufferView.id = bufferView.id || `bufferView-${index}`;
3979
4013
  const bufferIndex = bufferView.buffer;
3980
- bufferView.buffer = this.buffers[bufferIndex];
4014
+ const result = {
4015
+ id: `bufferView-${index}`,
4016
+ ...bufferView,
4017
+ buffer: this.buffers[bufferIndex]
4018
+ };
3981
4019
  const arrayBuffer = this.buffers[bufferIndex].arrayBuffer;
3982
4020
  let byteOffset = this.buffers[bufferIndex].byteOffset || 0;
3983
4021
  if ("byteOffset" in bufferView) {
3984
4022
  byteOffset += bufferView.byteOffset;
3985
4023
  }
3986
- bufferView.data = new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
3987
- return bufferView;
4024
+ result.data = new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
4025
+ return result;
3988
4026
  }
3989
4027
  _resolveCamera(camera, index) {
3990
4028
  camera.id = camera.id || `camera-${index}`;
@@ -4212,7 +4250,7 @@
4212
4250
  arrayBuffer = sliceArrayBuffer(array.buffer, array.byteOffset, array.byteLength);
4213
4251
  }
4214
4252
  assert3(arrayBuffer, "glTF image has no data");
4215
- let parsedImage = await parse4(arrayBuffer, [ImageLoader, BasisLoader], { mimeType: image.mimeType, basis: { format: selectSupportedBasisFormat() } }, context);
4253
+ let parsedImage = await parse4(arrayBuffer, [ImageLoader, BasisLoader], { mimeType: image.mimeType, basis: options.basis || { format: selectSupportedBasisFormat() } }, context);
4216
4254
  if (parsedImage && parsedImage[0]) {
4217
4255
  parsedImage = {
4218
4256
  compressed: true,
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- const moduleExports = require('./index');
3
+ var moduleExports = require('./index');
4
4
 
5
5
  globalThis.loaders = globalThis.loaders || {};
6
6
  module.exports = Object.assign(globalThis.loaders, moduleExports);
@@ -1 +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"}
1
+ {"version":3,"sources":["../../src/bundle.ts"],"names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"mappings":";;AACA,IAAMA,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"}
@@ -7,11 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports._TypecheckGLBLoader = exports.GLBLoader = void 0;
9
9
 
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _version = require("./lib/utils/version");
11
15
 
12
16
  var _parseGlb = _interopRequireDefault(require("./lib/parsers/parse-glb"));
13
17
 
14
- const GLBLoader = {
18
+ var GLBLoader = {
15
19
  name: 'GLB',
16
20
  id: 'glb',
17
21
  module: 'gltf',
@@ -19,8 +23,8 @@ const GLBLoader = {
19
23
  extensions: ['glb'],
20
24
  mimeTypes: ['model/gltf-binary'],
21
25
  binary: true,
22
- parse,
23
- parseSync,
26
+ parse: parse,
27
+ parseSync: parseSync,
24
28
  options: {
25
29
  glb: {
26
30
  strict: false
@@ -29,19 +33,38 @@ const GLBLoader = {
29
33
  };
30
34
  exports.GLBLoader = GLBLoader;
31
35
 
32
- async function parse(arrayBuffer, options) {
33
- return parseSync(arrayBuffer, options);
36
+ function parse(_x, _x2) {
37
+ return _parse.apply(this, arguments);
38
+ }
39
+
40
+ function _parse() {
41
+ _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
42
+ return _regenerator.default.wrap(function _callee$(_context) {
43
+ while (1) {
44
+ switch (_context.prev = _context.next) {
45
+ case 0:
46
+ return _context.abrupt("return", parseSync(arrayBuffer, options));
47
+
48
+ case 1:
49
+ case "end":
50
+ return _context.stop();
51
+ }
52
+ }
53
+ }, _callee);
54
+ }));
55
+ return _parse.apply(this, arguments);
34
56
  }
35
57
 
36
58
  function parseSync(arrayBuffer, options) {
37
- const {
38
- byteOffset = 0
39
- } = options || {};
40
- const glb = {};
59
+ var _ref = options || {},
60
+ _ref$byteOffset = _ref.byteOffset,
61
+ byteOffset = _ref$byteOffset === void 0 ? 0 : _ref$byteOffset;
62
+
63
+ var glb = {};
41
64
  (0, _parseGlb.default)(glb, arrayBuffer, byteOffset, options === null || options === void 0 ? void 0 : options.glb);
42
65
  return glb;
43
66
  }
44
67
 
45
- const _TypecheckGLBLoader = GLBLoader;
68
+ var _TypecheckGLBLoader = GLBLoader;
46
69
  exports._TypecheckGLBLoader = _TypecheckGLBLoader;
47
70
  //# sourceMappingURL=glb-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/glb-loader.ts"],"names":["GLBLoader","name","id","module","version","VERSION","extensions","mimeTypes","binary","parse","parseSync","options","glb","strict","arrayBuffer","byteOffset","_TypecheckGLBLoader"],"mappings":";;;;;;;;;AAGA;;AACA;;AAWO,MAAMA,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,KADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,MAHiC;AAIzCC,EAAAA,OAAO,EAAEC,gBAJgC;AAKzCC,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;AACA,yBAAaA,GAAb,EAAkBE,WAAlB,EAA+BC,UAA/B,EAA2CJ,OAA3C,aAA2CA,OAA3C,uBAA2CA,OAAO,CAAEC,GAApD;AACA,SAAOA,GAAP;AACD;;AAGM,MAAMI,mBAAqC,GAAGhB,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
+ {"version":3,"sources":["../../src/glb-loader.ts"],"names":["GLBLoader","name","id","module","version","VERSION","extensions","mimeTypes","binary","parse","parseSync","options","glb","strict","arrayBuffer","byteOffset","_TypecheckGLBLoader"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAWO,IAAMA,SAA2B,GAAG;AACzCC,EAAAA,IAAI,EAAE,KADmC;AAEzCC,EAAAA,EAAE,EAAE,KAFqC;AAGzCC,EAAAA,MAAM,EAAE,MAHiC;AAIzCC,EAAAA,OAAO,EAAEC,gBAJgC;AAKzCC,EAAAA,UAAU,EAAE,CAAC,KAAD,CAL6B;AAMzCC,EAAAA,SAAS,EAAE,CAAC,mBAAD,CAN8B;AAOzCC,EAAAA,MAAM,EAAE,IAPiC;AAQzCC,EAAAA,KAAK,EAALA,KARyC;AASzCC,EAAAA,SAAS,EAATA,SATyC;AAUzCC,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE;AACHC,MAAAA,MAAM,EAAE;AADL;AADE;AAVgC,CAApC;;;SAiBQJ,K;;;;;qEAAf,iBAAqBK,WAArB,EAA+CH,OAA/C;AAAA;AAAA;AAAA;AAAA;AAAA,6CACSD,SAAS,CAACI,WAAD,EAAcH,OAAd,CADlB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAIA,SAASD,SAAT,CAAmBI,WAAnB,EAA6CH,OAA7C,EAA8E;AAC5E,aAAyBA,OAAO,IAAI,EAApC;AAAA,6BAAOI,UAAP;AAAA,MAAOA,UAAP,gCAAoB,CAApB;;AACA,MAAMH,GAAQ,GAAG,EAAjB;AACA,yBAAaA,GAAb,EAAkBE,WAAlB,EAA+BC,UAA/B,EAA2CJ,OAA3C,aAA2CA,OAA3C,uBAA2CA,OAAO,CAAEC,GAApD;AACA,SAAOA,GAAP;AACD;;AAGM,IAAMI,mBAAqC,GAAGhB,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"}
@@ -11,7 +11,7 @@ var _version = require("./lib/utils/version");
11
11
 
12
12
  var _encodeGlb = _interopRequireDefault(require("./lib/encoders/encode-glb"));
13
13
 
14
- const GLBWriter = {
14
+ var GLBWriter = {
15
15
  name: 'GLB',
16
16
  id: 'glb',
17
17
  module: 'gltf',
@@ -19,7 +19,7 @@ const GLBWriter = {
19
19
  extensions: ['glb'],
20
20
  mimeTypes: ['model/gltf-binary'],
21
21
  binary: true,
22
- encodeSync,
22
+ encodeSync: encodeSync,
23
23
  options: {
24
24
  glb: {}
25
25
  }
@@ -27,16 +27,15 @@ const GLBWriter = {
27
27
  exports.GLBWriter = GLBWriter;
28
28
 
29
29
  function encodeSync(glb, options) {
30
- const {
31
- byteOffset = 0
32
- } = options;
33
- const byteLength = (0, _encodeGlb.default)(glb, null, byteOffset, options);
34
- const arrayBuffer = new ArrayBuffer(byteLength);
35
- const dataView = new DataView(arrayBuffer);
30
+ var _options$byteOffset = options.byteOffset,
31
+ byteOffset = _options$byteOffset === void 0 ? 0 : _options$byteOffset;
32
+ var byteLength = (0, _encodeGlb.default)(glb, null, byteOffset, options);
33
+ var arrayBuffer = new ArrayBuffer(byteLength);
34
+ var dataView = new DataView(arrayBuffer);
36
35
  (0, _encodeGlb.default)(glb, dataView, byteOffset, options);
37
36
  return arrayBuffer;
38
37
  }
39
38
 
40
- const _TypecheckGLBLoader = GLBWriter;
39
+ var _TypecheckGLBLoader = GLBWriter;
41
40
  exports._TypecheckGLBLoader = _TypecheckGLBLoader;
42
41
  //# sourceMappingURL=glb-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/glb-writer.ts"],"names":["GLBWriter","name","id","module","version","VERSION","extensions","mimeTypes","binary","encodeSync","options","glb","byteOffset","byteLength","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"mappings":";;;;;;;;;AACA;;AACA;;AAMO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,KADiB;AAEvBC,EAAAA,EAAE,EAAE,KAFmB;AAGvBC,EAAAA,MAAM,EAAE,MAHe;AAIvBC,EAAAA,OAAO,EAAEC,gBAJc;AAMvBC,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,GAAG,wBAAcF,GAAd,EAAmB,IAAnB,EAAyBC,UAAzB,EAAqCF,OAArC,CAAnB;AACA,QAAMI,WAAW,GAAG,IAAIC,WAAJ,CAAgBF,UAAhB,CAApB;AAGA,QAAMG,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACA,0BAAcH,GAAd,EAAmBK,QAAnB,EAA6BJ,UAA7B,EAAyCF,OAAzC;AAEA,SAAOI,WAAP;AACD;;AAGM,MAAMI,mBAA2B,GAAGlB,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
+ {"version":3,"sources":["../../src/glb-writer.ts"],"names":["GLBWriter","name","id","module","version","VERSION","extensions","mimeTypes","binary","encodeSync","options","glb","byteOffset","byteLength","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"mappings":";;;;;;;;;AACA;;AACA;;AAMO,IAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,KADiB;AAEvBC,EAAAA,EAAE,EAAE,KAFmB;AAGvBC,EAAAA,MAAM,EAAE,MAHe;AAIvBC,EAAAA,OAAO,EAAEC,gBAJc;AAMvBC,EAAAA,UAAU,EAAE,CAAC,KAAD,CANW;AAOvBC,EAAAA,SAAS,EAAE,CAAC,mBAAD,CAPY;AAQvBC,EAAAA,MAAM,EAAE,IARe;AAUvBC,EAAAA,UAAU,EAAVA,UAVuB;AAYvBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE;AADE;AAZc,CAAlB;;;AAiBP,SAASF,UAAT,CAAoBE,GAApB,EAAyBD,OAAzB,EAAkC;AAChC,4BAAyBA,OAAzB,CAAOE,UAAP;AAAA,MAAOA,UAAP,oCAAoB,CAApB;AAGA,MAAMC,UAAU,GAAG,wBAAcF,GAAd,EAAmB,IAAnB,EAAyBC,UAAzB,EAAqCF,OAArC,CAAnB;AACA,MAAMI,WAAW,GAAG,IAAIC,WAAJ,CAAgBF,UAAhB,CAApB;AAGA,MAAMG,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACA,0BAAcH,GAAd,EAAmBK,QAAnB,EAA6BJ,UAA7B,EAAyCF,OAAzC;AAEA,SAAOI,WAAP;AACD;;AAGM,IAAMI,mBAA2B,GAAGlB,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,16 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.parse = parse;
7
9
  exports.GLTFLoader = void 0;
8
10
 
11
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
12
+
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+
15
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
+
9
17
  var _version = require("./lib/utils/version");
10
18
 
11
19
  var _parseGltf = require("./lib/parsers/parse-gltf");
12
20
 
13
- const GLTFLoader = {
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
22
+
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+
25
+ var GLTFLoader = {
14
26
  name: 'glTF',
15
27
  id: 'gltf',
16
28
  module: 'gltf',
@@ -20,7 +32,7 @@ const GLTFLoader = {
20
32
  text: true,
21
33
  binary: true,
22
34
  tests: ['glTF'],
23
- parse,
35
+ parse: parse,
24
36
  options: {
25
37
  gltf: {
26
38
  normalize: true,
@@ -43,17 +55,43 @@ const GLTFLoader = {
43
55
  };
44
56
  exports.GLTFLoader = GLTFLoader;
45
57
 
46
- async function parse(arrayBuffer, options = {}, context) {
47
- options = { ...GLTFLoader.options,
48
- ...options
49
- };
50
- options.gltf = { ...GLTFLoader.options.gltf,
51
- ...options.gltf
52
- };
53
- const {
54
- byteOffset = 0
55
- } = options;
56
- const gltf = {};
57
- return await (0, _parseGltf.parseGLTF)(gltf, arrayBuffer, byteOffset, options, context);
58
+ function parse(_x) {
59
+ return _parse.apply(this, arguments);
60
+ }
61
+
62
+ function _parse() {
63
+ _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer) {
64
+ var options,
65
+ context,
66
+ _options,
67
+ _options$byteOffset,
68
+ byteOffset,
69
+ gltf,
70
+ _args = arguments;
71
+
72
+ return _regenerator.default.wrap(function _callee$(_context) {
73
+ while (1) {
74
+ switch (_context.prev = _context.next) {
75
+ case 0:
76
+ options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
77
+ context = _args.length > 2 ? _args[2] : undefined;
78
+ options = _objectSpread(_objectSpread({}, GLTFLoader.options), options);
79
+ options.gltf = _objectSpread(_objectSpread({}, GLTFLoader.options.gltf), options.gltf);
80
+ _options = options, _options$byteOffset = _options.byteOffset, byteOffset = _options$byteOffset === void 0 ? 0 : _options$byteOffset;
81
+ gltf = {};
82
+ _context.next = 8;
83
+ return (0, _parseGltf.parseGLTF)(gltf, arrayBuffer, byteOffset, options, context);
84
+
85
+ case 8:
86
+ return _context.abrupt("return", _context.sent);
87
+
88
+ case 9:
89
+ case "end":
90
+ return _context.stop();
91
+ }
92
+ }
93
+ }, _callee);
94
+ }));
95
+ return _parse.apply(this, arguments);
58
96
  }
59
97
  //# sourceMappingURL=gltf-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/gltf-loader.ts"],"names":["GLTFLoader","name","id","module","version","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;;AAKA;;AAiBO,MAAMA,UAA4B,GAAG;AAC1CC,EAAAA,IAAI,EAAE,MADoC;AAE1CC,EAAAA,EAAE,EAAE,MAFsC;AAG1CC,EAAAA,MAAM,EAAE,MAHkC;AAI1CC,EAAAA,OAAO,EAAEC,gBAJiC;AAK1CC,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;;;AAoCA,eAAeb,KAAf,CAAqBc,WAArB,EAAkCb,OAA0B,GAAG,EAA/D,EAAmEc,OAAnE,EAA4E;AAEjFd,EAAAA,OAAO,GAAG,EAAC,GAAGZ,UAAU,CAACY,OAAf;AAAwB,OAAGA;AAA3B,GAAV;AAEAA,EAAAA,OAAO,CAACC,IAAR,GAAe,EAAC,GAAGb,UAAU,CAACY,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,MAAM,0BAAUA,IAAV,EAAmCY,WAAnC,EAAgDE,UAAhD,EAA4Df,OAA5D,EAAqEc,OAArE,CAAb;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
+ {"version":3,"sources":["../../src/gltf-loader.ts"],"names":["GLTFLoader","name","id","module","version","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;;AAKA;;;;;;AAiBO,IAAMA,UAA4B,GAAG;AAC1CC,EAAAA,IAAI,EAAE,MADoC;AAE1CC,EAAAA,EAAE,EAAE,MAFsC;AAG1CC,EAAAA,MAAM,EAAE,MAHkC;AAI1CC,EAAAA,OAAO,EAAEC,gBAJiC;AAK1CC,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,KAAK,EAALA,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;;;SAoCeb,K;;;;;qEAAf,iBAAqBc,WAArB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAkCb,YAAAA,OAAlC,2DAA+D,EAA/D;AAAmEc,YAAAA,OAAnE;AAELd,YAAAA,OAAO,mCAAOZ,UAAU,CAACY,OAAlB,GAA8BA,OAA9B,CAAP;AAEAA,YAAAA,OAAO,CAACC,IAAR,mCAAmBb,UAAU,CAACY,OAAX,CAAmBC,IAAtC,GAA+CD,OAAO,CAACC,IAAvD;AAJK,uBAMoBD,OANpB,iCAMEe,UANF,EAMEA,UANF,oCAMe,CANf;AAOCd,YAAAA,IAPD,GAOQ,EAPR;AAAA;AAAA,mBAQQ,0BAAUA,IAAV,EAAmCY,WAAnC,EAAgDE,UAAhD,EAA4Df,OAA5D,EAAqEc,OAArE,CARR;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","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"}
@@ -9,7 +9,7 @@ var _version = require("./lib/utils/version");
9
9
 
10
10
  var _encodeGltf = require("./lib/encoders/encode-gltf");
11
11
 
12
- const GLTFWriter = {
12
+ var GLTFWriter = {
13
13
  name: 'glTF',
14
14
  id: 'gltf',
15
15
  module: 'gltf',
@@ -17,24 +17,24 @@ const GLTFWriter = {
17
17
  extensions: ['glb'],
18
18
  mimeTypes: ['model/gltf-binary'],
19
19
  binary: true,
20
- encodeSync,
20
+ encodeSync: encodeSync,
21
21
  options: {
22
22
  gltf: {}
23
23
  }
24
24
  };
25
25
  exports.GLTFWriter = GLTFWriter;
26
26
 
27
- function encodeSync(gltf, options = {}) {
28
- const {
29
- byteOffset = 0
30
- } = options;
31
- const byteLength = (0, _encodeGltf.encodeGLTFSync)(gltf, null, byteOffset, options);
32
- const arrayBuffer = new ArrayBuffer(byteLength);
33
- const dataView = new DataView(arrayBuffer);
27
+ function encodeSync(gltf) {
28
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
+ var _options$byteOffset = options.byteOffset,
30
+ byteOffset = _options$byteOffset === void 0 ? 0 : _options$byteOffset;
31
+ var byteLength = (0, _encodeGltf.encodeGLTFSync)(gltf, null, byteOffset, options);
32
+ var arrayBuffer = new ArrayBuffer(byteLength);
33
+ var dataView = new DataView(arrayBuffer);
34
34
  (0, _encodeGltf.encodeGLTFSync)(gltf, dataView, byteOffset, options);
35
35
  return arrayBuffer;
36
36
  }
37
37
 
38
- const _TypecheckGLBLoader = GLTFWriter;
38
+ var _TypecheckGLBLoader = GLTFWriter;
39
39
  exports._TypecheckGLBLoader = _TypecheckGLBLoader;
40
40
  //# sourceMappingURL=gltf-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/gltf-writer.ts"],"names":["GLTFWriter","name","id","module","version","VERSION","extensions","mimeTypes","binary","encodeSync","options","gltf","byteOffset","byteLength","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"mappings":";;;;;;;AACA;;AACA;;AAUO,MAAMA,UAAU,GAAG;AACxBC,EAAAA,IAAI,EAAE,MADkB;AAExBC,EAAAA,EAAE,EAAE,MAFoB;AAGxBC,EAAAA,MAAM,EAAE,MAHgB;AAIxBC,EAAAA,OAAO,EAAEC,gBAJe;AAMxBC,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,GAAG,gCAAeF,IAAf,EAAqB,IAArB,EAA2BC,UAA3B,EAAuCF,OAAvC,CAAnB;AACA,QAAMI,WAAW,GAAG,IAAIC,WAAJ,CAAgBF,UAAhB,CAApB;AACA,QAAMG,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACA,kCAAeH,IAAf,EAAqBK,QAArB,EAA+BJ,UAA/B,EAA2CF,OAA3C;AAEA,SAAOI,WAAP;AACD;;AAGM,MAAMI,mBAA2B,GAAGlB,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"}
1
+ {"version":3,"sources":["../../src/gltf-writer.ts"],"names":["GLTFWriter","name","id","module","version","VERSION","extensions","mimeTypes","binary","encodeSync","options","gltf","byteOffset","byteLength","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"mappings":";;;;;;;AACA;;AACA;;AAUO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,IAAI,EAAE,MADkB;AAExBC,EAAAA,EAAE,EAAE,MAFoB;AAGxBC,EAAAA,MAAM,EAAE,MAHgB;AAIxBC,EAAAA,OAAO,EAAEC,gBAJe;AAMxBC,EAAAA,UAAU,EAAE,CAAC,KAAD,CANY;AAOxBC,EAAAA,SAAS,EAAE,CAAC,mBAAD,CAPa;AAQxBC,EAAAA,MAAM,EAAE,IARgB;AAUxBC,EAAAA,UAAU,EAAVA,UAVwB;AAYxBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE;AADC;AAZe,CAAnB;;;AAiBP,SAASF,UAAT,CAAoBE,IAApB,EAA2D;AAAA,MAAjCD,OAAiC,uEAAJ,EAAI;AACzD,4BAAyBA,OAAzB,CAAOE,UAAP;AAAA,MAAOA,UAAP,oCAAoB,CAApB;AAGA,MAAMC,UAAU,GAAG,gCAAeF,IAAf,EAAqB,IAArB,EAA2BC,UAA3B,EAAuCF,OAAvC,CAAnB;AACA,MAAMI,WAAW,GAAG,IAAIC,WAAJ,CAAgBF,UAAhB,CAApB;AACA,MAAMG,QAAQ,GAAG,IAAIC,QAAJ,CAAaH,WAAb,CAAjB;AACA,kCAAeH,IAAf,EAAqBK,QAArB,EAA+BJ,UAA/B,EAA2CF,OAA3C;AAEA,SAAOI,WAAP;AACD;;AAGM,IAAMI,mBAA2B,GAAGlB,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/es5/index.js CHANGED
@@ -7,37 +7,37 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  Object.defineProperty(exports, "GLTFLoader", {
9
9
  enumerable: true,
10
- get: function () {
10
+ get: function get() {
11
11
  return _gltfLoader.GLTFLoader;
12
12
  }
13
13
  });
14
14
  Object.defineProperty(exports, "GLTFWriter", {
15
15
  enumerable: true,
16
- get: function () {
16
+ get: function get() {
17
17
  return _gltfWriter.GLTFWriter;
18
18
  }
19
19
  });
20
20
  Object.defineProperty(exports, "GLBLoader", {
21
21
  enumerable: true,
22
- get: function () {
22
+ get: function get() {
23
23
  return _glbLoader.GLBLoader;
24
24
  }
25
25
  });
26
26
  Object.defineProperty(exports, "GLBWriter", {
27
27
  enumerable: true,
28
- get: function () {
28
+ get: function get() {
29
29
  return _glbWriter.GLBWriter;
30
30
  }
31
31
  });
32
32
  Object.defineProperty(exports, "GLTFScenegraph", {
33
33
  enumerable: true,
34
- get: function () {
34
+ get: function get() {
35
35
  return _gltfScenegraph.default;
36
36
  }
37
37
  });
38
38
  Object.defineProperty(exports, "postProcessGLTF", {
39
39
  enumerable: true,
40
- get: function () {
40
+ get: function get() {
41
41
  return _postProcessGltf.postProcessGLTF;
42
42
  }
43
43
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA;;AACA;;AAGA;;AACA;;AAGA;;AACA","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 // 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
+ {"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA;;AACA;;AAGA;;AACA;;AAGA;;AACA","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"}