@loaders.gl/gltf 3.1.0-beta.3 → 3.1.1

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 (88) hide show
  1. package/dist/bundle.js +37 -14
  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 +367 -293
  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 +7 -4
  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-scenegraph.d.ts +4 -4
  73. package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
  74. package/dist/lib/api/post-process-gltf.d.ts +1 -1
  75. package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
  76. package/dist/lib/api/post-process-gltf.js +7 -4
  77. package/dist/lib/parsers/parse-gltf.js +1 -1
  78. package/dist/lib/types/gltf-postprocessed-schema.d.ts +3 -2
  79. package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -1
  80. package/dist/lib/types/gltf-types.d.ts +2 -1
  81. package/dist/lib/types/gltf-types.d.ts.map +1 -1
  82. package/package.json +7 -7
  83. package/src/index.ts +1 -0
  84. package/src/lib/api/gltf-scenegraph.ts +2 -2
  85. package/src/lib/api/post-process-gltf.ts +11 -6
  86. package/src/lib/parsers/parse-gltf.ts +1 -1
  87. package/src/lib/types/gltf-postprocessed-schema.ts +3 -2
  88. package/src/lib/types/gltf-types.ts +4 -1
package/dist/bundle.js CHANGED
@@ -1,5 +1,10 @@
1
1
  (() => {
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
3
8
  var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
4
9
  var __esm = (fn, res) => function __init() {
5
10
  return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
@@ -12,6 +17,17 @@
12
17
  for (var name8 in all)
13
18
  __defProp(target, name8, { get: all[name8], enumerable: true });
14
19
  };
20
+ var __reExport = (target, module, desc) => {
21
+ if (module && typeof module === "object" || typeof module === "function") {
22
+ for (let key of __getOwnPropNames(module))
23
+ if (!__hasOwnProp.call(target, key) && key !== "default")
24
+ __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
25
+ }
26
+ return target;
27
+ };
28
+ var __toModule = (module) => {
29
+ return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
30
+ };
15
31
 
16
32
  // src/lib/utils/version.ts
17
33
  var VERSION;
@@ -25,7 +41,7 @@
25
41
  var VERSION2;
26
42
  var init_version2 = __esm({
27
43
  "../textures/src/lib/utils/version.ts"() {
28
- VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
44
+ VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
29
45
  }
30
46
  });
31
47
 
@@ -33,7 +49,7 @@
33
49
  var DEFAULT_VERSION, VERSION3;
34
50
  var init_version3 = __esm({
35
51
  "../worker-utils/src/lib/env-utils/version.ts"() {
36
- DEFAULT_VERSION = "beta";
52
+ DEFAULT_VERSION = "latest";
37
53
  VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
38
54
  if (typeof __VERSION__ === "undefined") {
39
55
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
@@ -75,7 +91,7 @@
75
91
  });
76
92
 
77
93
  // (disabled):../worker-utils/src/lib/node/require-utils.node
78
- var init_require_utils = __esm({
94
+ var require_require_utils = __commonJS({
79
95
  "(disabled):../worker-utils/src/lib/node/require-utils.node"() {
80
96
  }
81
97
  });
@@ -114,7 +130,11 @@
114
130
  return await response2.arrayBuffer();
115
131
  }
116
132
  if (!isBrowser) {
117
- return node.requireFromFile && await node.requireFromFile(libraryUrl);
133
+ try {
134
+ return node && node.requireFromFile && await node.requireFromFile(libraryUrl);
135
+ } catch {
136
+ return null;
137
+ }
118
138
  }
119
139
  if (isWorker) {
120
140
  return importScripts(libraryUrl);
@@ -141,14 +161,14 @@
141
161
  document.body.appendChild(script);
142
162
  return null;
143
163
  }
144
- var LATEST, VERSION4, loadLibraryPromises;
164
+ var node, LATEST, VERSION4, loadLibraryPromises;
145
165
  var init_library_utils = __esm({
146
166
  "../worker-utils/src/lib/library-utils/library-utils.ts"() {
147
167
  init_globals();
148
- init_require_utils();
168
+ node = __toModule(require_require_utils());
149
169
  init_assert();
150
170
  init_version3();
151
- LATEST = "beta";
171
+ LATEST = "latest";
152
172
  VERSION4 = typeof VERSION3 !== "undefined" ? VERSION3 : LATEST;
153
173
  loadLibraryPromises = {};
154
174
  }
@@ -395,7 +415,7 @@
395
415
  }
396
416
  });
397
417
 
398
- // ../textures/src/lib/parsers/parse-basis.js
418
+ // ../textures/src/lib/parsers/parse-basis.ts
399
419
  async function parseBasis(data, options) {
400
420
  if (options.basis.containerFormat === "auto") {
401
421
  if (isKTX(data)) {
@@ -531,7 +551,7 @@
531
551
  }
532
552
  var OutputFormat;
533
553
  var init_parse_basis = __esm({
534
- "../textures/src/lib/parsers/parse-basis.js"() {
554
+ "../textures/src/lib/parsers/parse-basis.ts"() {
535
555
  init_basis_module_loader();
536
556
  init_gl_extensions();
537
557
  init_texture_formats();
@@ -4010,16 +4030,19 @@
4010
4030
  return image;
4011
4031
  }
4012
4032
  _resolveBufferView(bufferView, index) {
4013
- bufferView.id = bufferView.id || `bufferView-${index}`;
4014
4033
  const bufferIndex = bufferView.buffer;
4015
- bufferView.buffer = this.buffers[bufferIndex];
4034
+ const result = {
4035
+ id: `bufferView-${index}`,
4036
+ ...bufferView,
4037
+ buffer: this.buffers[bufferIndex]
4038
+ };
4016
4039
  const arrayBuffer = this.buffers[bufferIndex].arrayBuffer;
4017
4040
  let byteOffset = this.buffers[bufferIndex].byteOffset || 0;
4018
4041
  if ("byteOffset" in bufferView) {
4019
4042
  byteOffset += bufferView.byteOffset;
4020
4043
  }
4021
- bufferView.data = new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
4022
- return bufferView;
4044
+ result.data = new Uint8Array(arrayBuffer, byteOffset, bufferView.byteLength);
4045
+ return result;
4023
4046
  }
4024
4047
  _resolveCamera(camera, index) {
4025
4048
  camera.id = camera.id || `camera-${index}`;
@@ -4247,7 +4270,7 @@
4247
4270
  arrayBuffer = sliceArrayBuffer(array.buffer, array.byteOffset, array.byteLength);
4248
4271
  }
4249
4272
  assert3(arrayBuffer, "glTF image has no data");
4250
- let parsedImage = await parse4(arrayBuffer, [ImageLoader, BasisLoader], { mimeType: image.mimeType, basis: { format: selectSupportedBasisFormat() } }, context);
4273
+ let parsedImage = await parse4(arrayBuffer, [ImageLoader, BasisLoader], { mimeType: image.mimeType, basis: options.basis || { format: selectSupportedBasisFormat() } }, context);
4251
4274
  if (parsedImage && parsedImage[0]) {
4252
4275
  parsedImage = {
4253
4276
  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"}