@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
@@ -9,57 +9,121 @@ exports.decode = decode;
9
9
  exports.encode = encode;
10
10
  exports.name = void 0;
11
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
12
16
  var _assert = require("../../utils/assert");
13
17
 
14
18
  var _gltfScenegraph = _interopRequireDefault(require("../../api/gltf-scenegraph"));
15
19
 
16
- const KHR_LIGHTS_PUNCTUAL = 'KHR_lights_punctual';
17
- const name = KHR_LIGHTS_PUNCTUAL;
20
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
+
22
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
+
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+
26
+ var KHR_LIGHTS_PUNCTUAL = 'KHR_lights_punctual';
27
+ var name = KHR_LIGHTS_PUNCTUAL;
18
28
  exports.name = name;
19
29
 
20
- async function decode(gltfData) {
21
- const gltfScenegraph = new _gltfScenegraph.default(gltfData);
22
- const {
23
- json
24
- } = gltfScenegraph;
25
- const extension = gltfScenegraph.getExtension(KHR_LIGHTS_PUNCTUAL);
30
+ function decode(_x) {
31
+ return _decode.apply(this, arguments);
32
+ }
33
+
34
+ function _decode() {
35
+ _decode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(gltfData) {
36
+ var gltfScenegraph, json, extension, _iterator, _step, node, nodeExtension;
37
+
38
+ return _regenerator.default.wrap(function _callee$(_context) {
39
+ while (1) {
40
+ switch (_context.prev = _context.next) {
41
+ case 0:
42
+ gltfScenegraph = new _gltfScenegraph.default(gltfData);
43
+ json = gltfScenegraph.json;
44
+ extension = gltfScenegraph.getExtension(KHR_LIGHTS_PUNCTUAL);
45
+
46
+ if (extension) {
47
+ gltfScenegraph.json.lights = extension.lights;
48
+ gltfScenegraph.removeExtension(KHR_LIGHTS_PUNCTUAL);
49
+ }
26
50
 
27
- if (extension) {
28
- gltfScenegraph.json.lights = extension.lights;
29
- gltfScenegraph.removeExtension(KHR_LIGHTS_PUNCTUAL);
30
- }
51
+ _iterator = _createForOfIteratorHelper(json.nodes || []);
31
52
 
32
- for (const node of json.nodes || []) {
33
- const nodeExtension = gltfScenegraph.getObjectExtension(node, KHR_LIGHTS_PUNCTUAL);
53
+ try {
54
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
55
+ node = _step.value;
56
+ nodeExtension = gltfScenegraph.getObjectExtension(node, KHR_LIGHTS_PUNCTUAL);
34
57
 
35
- if (nodeExtension) {
36
- node.light = nodeExtension.light;
37
- }
58
+ if (nodeExtension) {
59
+ node.light = nodeExtension.light;
60
+ }
38
61
 
39
- gltfScenegraph.removeObjectExtension(node, KHR_LIGHTS_PUNCTUAL);
40
- }
62
+ gltfScenegraph.removeObjectExtension(node, KHR_LIGHTS_PUNCTUAL);
63
+ }
64
+ } catch (err) {
65
+ _iterator.e(err);
66
+ } finally {
67
+ _iterator.f();
68
+ }
69
+
70
+ case 6:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }
75
+ }, _callee);
76
+ }));
77
+ return _decode.apply(this, arguments);
78
+ }
79
+
80
+ function encode(_x2) {
81
+ return _encode.apply(this, arguments);
41
82
  }
42
83
 
43
- async function encode(gltfData) {
44
- const gltfScenegraph = new _gltfScenegraph.default(gltfData);
45
- const {
46
- json
47
- } = gltfScenegraph;
48
-
49
- if (json.lights) {
50
- const extension = gltfScenegraph.addExtension(KHR_LIGHTS_PUNCTUAL);
51
- (0, _assert.assert)(!extension.lights);
52
- extension.lights = json.lights;
53
- delete json.lights;
54
- }
55
-
56
- if (gltfScenegraph.json.lights) {
57
- for (const light of gltfScenegraph.json.lights) {
58
- const node = light.node;
59
- gltfScenegraph.addObjectExtension(node, KHR_LIGHTS_PUNCTUAL, light);
60
- }
61
-
62
- delete gltfScenegraph.json.lights;
63
- }
84
+ function _encode() {
85
+ _encode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(gltfData) {
86
+ var gltfScenegraph, json, extension, _iterator2, _step2, light, node;
87
+
88
+ return _regenerator.default.wrap(function _callee2$(_context2) {
89
+ while (1) {
90
+ switch (_context2.prev = _context2.next) {
91
+ case 0:
92
+ gltfScenegraph = new _gltfScenegraph.default(gltfData);
93
+ json = gltfScenegraph.json;
94
+
95
+ if (json.lights) {
96
+ extension = gltfScenegraph.addExtension(KHR_LIGHTS_PUNCTUAL);
97
+ (0, _assert.assert)(!extension.lights);
98
+ extension.lights = json.lights;
99
+ delete json.lights;
100
+ }
101
+
102
+ if (gltfScenegraph.json.lights) {
103
+ _iterator2 = _createForOfIteratorHelper(gltfScenegraph.json.lights);
104
+
105
+ try {
106
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
107
+ light = _step2.value;
108
+ node = light.node;
109
+ gltfScenegraph.addObjectExtension(node, KHR_LIGHTS_PUNCTUAL, light);
110
+ }
111
+ } catch (err) {
112
+ _iterator2.e(err);
113
+ } finally {
114
+ _iterator2.f();
115
+ }
116
+
117
+ delete gltfScenegraph.json.lights;
118
+ }
119
+
120
+ case 4:
121
+ case "end":
122
+ return _context2.stop();
123
+ }
124
+ }
125
+ }, _callee2);
126
+ }));
127
+ return _encode.apply(this, arguments);
64
128
  }
65
129
  //# sourceMappingURL=KHR_lights_punctual.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/lib/extensions/deprecated/KHR_lights_punctual.ts"],"names":["KHR_LIGHTS_PUNCTUAL","name","decode","gltfData","gltfScenegraph","GLTFScenegraph","json","extension","getExtension","lights","removeExtension","node","nodes","nodeExtension","getObjectExtension","light","removeObjectExtension","encode","addExtension","addObjectExtension"],"mappings":";;;;;;;;;;;AAKA;;AACA;;AAEA,MAAMA,mBAAmB,GAAG,qBAA5B;AAEO,MAAMC,IAAI,GAAGD,mBAAb;;;AAEA,eAAeE,MAAf,CAAsBC,QAAtB,EAA6D;AAClE,QAAMC,cAAc,GAAG,IAAIC,uBAAJ,CAAmBF,QAAnB,CAAvB;AACA,QAAM;AAACG,IAAAA;AAAD,MAASF,cAAf;AAGA,QAAMG,SAAS,GAAGH,cAAc,CAACI,YAAf,CAA4BR,mBAA5B,CAAlB;;AACA,MAAIO,SAAJ,EAAe;AAEbH,IAAAA,cAAc,CAACE,IAAf,CAAoBG,MAApB,GAA6BF,SAAS,CAACE,MAAvC;AACAL,IAAAA,cAAc,CAACM,eAAf,CAA+BV,mBAA/B;AACD;;AAID,OAAK,MAAMW,IAAX,IAAmBL,IAAI,CAACM,KAAL,IAAc,EAAjC,EAAqC;AACnC,UAAMC,aAAa,GAAGT,cAAc,CAACU,kBAAf,CAAkCH,IAAlC,EAAwCX,mBAAxC,CAAtB;;AACA,QAAIa,aAAJ,EAAmB;AAEjBF,MAAAA,IAAI,CAACI,KAAL,GAAaF,aAAa,CAACE,KAA3B;AACD;;AACDX,IAAAA,cAAc,CAACY,qBAAf,CAAqCL,IAArC,EAA2CX,mBAA3C;AACD;AACF;;AAGM,eAAeiB,MAAf,CAAsBd,QAAtB,EAA+C;AACpD,QAAMC,cAAc,GAAG,IAAIC,uBAAJ,CAAmBF,QAAnB,CAAvB;AACA,QAAM;AAACG,IAAAA;AAAD,MAASF,cAAf;;AAGA,MAAIE,IAAI,CAACG,MAAT,EAAiB;AACf,UAAMF,SAAS,GAAGH,cAAc,CAACc,YAAf,CAA4BlB,mBAA5B,CAAlB;AAEA,wBAAO,CAACO,SAAS,CAACE,MAAlB;AAEAF,IAAAA,SAAS,CAACE,MAAV,GAAmBH,IAAI,CAACG,MAAxB;AAEA,WAAOH,IAAI,CAACG,MAAZ;AACD;;AAKD,MAAIL,cAAc,CAACE,IAAf,CAAoBG,MAAxB,EAAgC;AAE9B,SAAK,MAAMM,KAAX,IAAoBX,cAAc,CAACE,IAAf,CAAoBG,MAAxC,EAAgD;AAC9C,YAAME,IAAI,GAAGI,KAAK,CAACJ,IAAnB;AACAP,MAAAA,cAAc,CAACe,kBAAf,CAAkCR,IAAlC,EAAwCX,mBAAxC,EAA6De,KAA7D;AACD;;AAED,WAAOX,cAAc,CAACE,IAAf,CAAoBG,MAA3B;AACD;AACF","sourcesContent":["// GLTF EXTENSION: KHR_lights_punctual\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual\n\nimport type {GLTF} from '../../types/gltf-types';\n\nimport {assert} from '../../utils/assert';\nimport GLTFScenegraph from '../../api/gltf-scenegraph';\n\nconst KHR_LIGHTS_PUNCTUAL = 'KHR_lights_punctual';\n\nexport const name = KHR_LIGHTS_PUNCTUAL;\n\nexport async function decode(gltfData: {json: GLTF}): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // Move the light array out of the extension and remove the extension\n const extension = gltfScenegraph.getExtension(KHR_LIGHTS_PUNCTUAL);\n if (extension) {\n // @ts-ignore\n gltfScenegraph.json.lights = extension.lights;\n gltfScenegraph.removeExtension(KHR_LIGHTS_PUNCTUAL);\n }\n\n // Any nodes that have the extension, add lights field pointing to light object\n // and remove the extension\n for (const node of json.nodes || []) {\n const nodeExtension = gltfScenegraph.getObjectExtension(node, KHR_LIGHTS_PUNCTUAL);\n if (nodeExtension) {\n // @ts-ignore\n node.light = nodeExtension.light;\n }\n gltfScenegraph.removeObjectExtension(node, KHR_LIGHTS_PUNCTUAL);\n }\n}\n\n// Move the light ar ray out of the extension and remove the extension\nexport async function encode(gltfData): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // @ts-ignore\n if (json.lights) {\n const extension = gltfScenegraph.addExtension(KHR_LIGHTS_PUNCTUAL);\n // @ts-ignore\n assert(!extension.lights);\n // @ts-ignore\n extension.lights = json.lights;\n // @ts-ignore\n delete json.lights;\n }\n\n // Any nodes that have lights field pointing to light object\n // add the extension\n // @ts-ignore\n if (gltfScenegraph.json.lights) {\n // @ts-ignore\n for (const light of gltfScenegraph.json.lights) {\n const node = light.node;\n gltfScenegraph.addObjectExtension(node, KHR_LIGHTS_PUNCTUAL, light);\n }\n // @ts-ignore\n delete gltfScenegraph.json.lights;\n }\n}\n"],"file":"KHR_lights_punctual.js"}
1
+ {"version":3,"sources":["../../../../../src/lib/extensions/deprecated/KHR_lights_punctual.ts"],"names":["KHR_LIGHTS_PUNCTUAL","name","decode","gltfData","gltfScenegraph","GLTFScenegraph","json","extension","getExtension","lights","removeExtension","nodes","node","nodeExtension","getObjectExtension","light","removeObjectExtension","encode","addExtension","addObjectExtension"],"mappings":";;;;;;;;;;;;;;;AAKA;;AACA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,qBAA5B;AAEO,IAAMC,IAAI,GAAGD,mBAAb;;;SAEeE,M;;;;;sEAAf,iBAAsBC,QAAtB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,cADD,GACkB,IAAIC,uBAAJ,CAAmBF,QAAnB,CADlB;AAEEG,YAAAA,IAFF,GAEUF,cAFV,CAEEE,IAFF;AAKCC,YAAAA,SALD,GAKaH,cAAc,CAACI,YAAf,CAA4BR,mBAA5B,CALb;;AAML,gBAAIO,SAAJ,EAAe;AAEbH,cAAAA,cAAc,CAACE,IAAf,CAAoBG,MAApB,GAA6BF,SAAS,CAACE,MAAvC;AACAL,cAAAA,cAAc,CAACM,eAAf,CAA+BV,mBAA/B;AACD;;AAVI,mDAccM,IAAI,CAACK,KAAL,IAAc,EAd5B;;AAAA;AAcL,kEAAqC;AAA1BC,gBAAAA,IAA0B;AAC7BC,gBAAAA,aAD6B,GACbT,cAAc,CAACU,kBAAf,CAAkCF,IAAlC,EAAwCZ,mBAAxC,CADa;;AAEnC,oBAAIa,aAAJ,EAAmB;AAEjBD,kBAAAA,IAAI,CAACG,KAAL,GAAaF,aAAa,CAACE,KAA3B;AACD;;AACDX,gBAAAA,cAAc,CAACY,qBAAf,CAAqCJ,IAArC,EAA2CZ,mBAA3C;AACD;AArBI;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SAyBeiB,M;;;;;sEAAf,kBAAsBd,QAAtB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,cADD,GACkB,IAAIC,uBAAJ,CAAmBF,QAAnB,CADlB;AAEEG,YAAAA,IAFF,GAEUF,cAFV,CAEEE,IAFF;;AAKL,gBAAIA,IAAI,CAACG,MAAT,EAAiB;AACTF,cAAAA,SADS,GACGH,cAAc,CAACc,YAAf,CAA4BlB,mBAA5B,CADH;AAGf,kCAAO,CAACO,SAAS,CAACE,MAAlB;AAEAF,cAAAA,SAAS,CAACE,MAAV,GAAmBH,IAAI,CAACG,MAAxB;AAEA,qBAAOH,IAAI,CAACG,MAAZ;AACD;;AAKD,gBAAIL,cAAc,CAACE,IAAf,CAAoBG,MAAxB,EAAgC;AAAA,sDAEVL,cAAc,CAACE,IAAf,CAAoBG,MAFV;;AAAA;AAE9B,uEAAgD;AAArCM,kBAAAA,KAAqC;AACxCH,kBAAAA,IADwC,GACjCG,KAAK,CAACH,IAD2B;AAE9CR,kBAAAA,cAAc,CAACe,kBAAf,CAAkCP,IAAlC,EAAwCZ,mBAAxC,EAA6De,KAA7D;AACD;AAL6B;AAAA;AAAA;AAAA;AAAA;;AAO9B,qBAAOX,cAAc,CAACE,IAAf,CAAoBG,MAA3B;AACD;;AA1BI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G","sourcesContent":["// GLTF EXTENSION: KHR_lights_punctual\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_lights_punctual\n\nimport type {GLTF} from '../../types/gltf-types';\n\nimport {assert} from '../../utils/assert';\nimport GLTFScenegraph from '../../api/gltf-scenegraph';\n\nconst KHR_LIGHTS_PUNCTUAL = 'KHR_lights_punctual';\n\nexport const name = KHR_LIGHTS_PUNCTUAL;\n\nexport async function decode(gltfData: {json: GLTF}): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // Move the light array out of the extension and remove the extension\n const extension = gltfScenegraph.getExtension(KHR_LIGHTS_PUNCTUAL);\n if (extension) {\n // @ts-ignore\n gltfScenegraph.json.lights = extension.lights;\n gltfScenegraph.removeExtension(KHR_LIGHTS_PUNCTUAL);\n }\n\n // Any nodes that have the extension, add lights field pointing to light object\n // and remove the extension\n for (const node of json.nodes || []) {\n const nodeExtension = gltfScenegraph.getObjectExtension(node, KHR_LIGHTS_PUNCTUAL);\n if (nodeExtension) {\n // @ts-ignore\n node.light = nodeExtension.light;\n }\n gltfScenegraph.removeObjectExtension(node, KHR_LIGHTS_PUNCTUAL);\n }\n}\n\n// Move the light ar ray out of the extension and remove the extension\nexport async function encode(gltfData): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // @ts-ignore\n if (json.lights) {\n const extension = gltfScenegraph.addExtension(KHR_LIGHTS_PUNCTUAL);\n // @ts-ignore\n assert(!extension.lights);\n // @ts-ignore\n extension.lights = json.lights;\n // @ts-ignore\n delete json.lights;\n }\n\n // Any nodes that have lights field pointing to light object\n // add the extension\n // @ts-ignore\n if (gltfScenegraph.json.lights) {\n // @ts-ignore\n for (const light of gltfScenegraph.json.lights) {\n const node = light.node;\n gltfScenegraph.addObjectExtension(node, KHR_LIGHTS_PUNCTUAL, light);\n }\n // @ts-ignore\n delete gltfScenegraph.json.lights;\n }\n}\n"],"file":"KHR_lights_punctual.js"}
@@ -9,43 +9,88 @@ exports.decode = decode;
9
9
  exports.encode = encode;
10
10
  exports.name = void 0;
11
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
12
16
  var _gltfScenegraph = _interopRequireDefault(require("../../api/gltf-scenegraph"));
13
17
 
14
- const KHR_MATERIALS_UNLIT = 'KHR_materials_unlit';
15
- const name = KHR_MATERIALS_UNLIT;
18
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
19
+
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+
22
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
23
+
24
+ var KHR_MATERIALS_UNLIT = 'KHR_materials_unlit';
25
+ var name = KHR_MATERIALS_UNLIT;
16
26
  exports.name = name;
17
27
 
18
- async function decode(gltfData) {
19
- const gltfScenegraph = new _gltfScenegraph.default(gltfData);
20
- const {
21
- json
22
- } = gltfScenegraph;
23
- gltfScenegraph.removeExtension(KHR_MATERIALS_UNLIT);
28
+ function decode(_x) {
29
+ return _decode.apply(this, arguments);
30
+ }
24
31
 
25
- for (const material of json.materials || []) {
26
- const extension = material.extensions && material.extensions.KHR_materials_unlit;
32
+ function _decode() {
33
+ _decode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(gltfData) {
34
+ var gltfScenegraph, json, _iterator2, _step2, material, extension;
27
35
 
28
- if (extension) {
29
- material.unlit = true;
30
- }
36
+ return _regenerator.default.wrap(function _callee$(_context) {
37
+ while (1) {
38
+ switch (_context.prev = _context.next) {
39
+ case 0:
40
+ gltfScenegraph = new _gltfScenegraph.default(gltfData);
41
+ json = gltfScenegraph.json;
42
+ gltfScenegraph.removeExtension(KHR_MATERIALS_UNLIT);
43
+ _iterator2 = _createForOfIteratorHelper(json.materials || []);
31
44
 
32
- gltfScenegraph.removeObjectExtension(material, KHR_MATERIALS_UNLIT);
33
- }
45
+ try {
46
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
47
+ material = _step2.value;
48
+ extension = material.extensions && material.extensions.KHR_materials_unlit;
49
+
50
+ if (extension) {
51
+ material.unlit = true;
52
+ }
53
+
54
+ gltfScenegraph.removeObjectExtension(material, KHR_MATERIALS_UNLIT);
55
+ }
56
+ } catch (err) {
57
+ _iterator2.e(err);
58
+ } finally {
59
+ _iterator2.f();
60
+ }
61
+
62
+ case 5:
63
+ case "end":
64
+ return _context.stop();
65
+ }
66
+ }
67
+ }, _callee);
68
+ }));
69
+ return _decode.apply(this, arguments);
34
70
  }
35
71
 
36
72
  function encode(gltfData) {
37
- const gltfScenegraph = new _gltfScenegraph.default(gltfData);
38
- const {
39
- json
40
- } = gltfScenegraph;
73
+ var gltfScenegraph = new _gltfScenegraph.default(gltfData);
74
+ var json = gltfScenegraph.json;
41
75
 
42
76
  if (gltfScenegraph.materials) {
43
- for (const material of json.materials || []) {
44
- if (material.unlit) {
45
- delete material.unlit;
46
- gltfScenegraph.addObjectExtension(material, KHR_MATERIALS_UNLIT, {});
47
- gltfScenegraph.addExtension(KHR_MATERIALS_UNLIT);
77
+ var _iterator = _createForOfIteratorHelper(json.materials || []),
78
+ _step;
79
+
80
+ try {
81
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
82
+ var material = _step.value;
83
+
84
+ if (material.unlit) {
85
+ delete material.unlit;
86
+ gltfScenegraph.addObjectExtension(material, KHR_MATERIALS_UNLIT, {});
87
+ gltfScenegraph.addExtension(KHR_MATERIALS_UNLIT);
88
+ }
48
89
  }
90
+ } catch (err) {
91
+ _iterator.e(err);
92
+ } finally {
93
+ _iterator.f();
49
94
  }
50
95
  }
51
96
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/lib/extensions/deprecated/KHR_materials_unlit.ts"],"names":["KHR_MATERIALS_UNLIT","name","decode","gltfData","gltfScenegraph","GLTFScenegraph","json","removeExtension","material","materials","extension","extensions","KHR_materials_unlit","unlit","removeObjectExtension","encode","addObjectExtension","addExtension"],"mappings":";;;;;;;;;;;AAKA;;AAEA,MAAMA,mBAAmB,GAAG,qBAA5B;AAEO,MAAMC,IAAI,GAAGD,mBAAb;;;AAEA,eAAeE,MAAf,CAAsBC,QAAtB,EAA6D;AAClE,QAAMC,cAAc,GAAG,IAAIC,uBAAJ,CAAmBF,QAAnB,CAAvB;AACA,QAAM;AAACG,IAAAA;AAAD,MAASF,cAAf;AAGAA,EAAAA,cAAc,CAACG,eAAf,CAA+BP,mBAA/B;;AAIA,OAAK,MAAMQ,QAAX,IAAuBF,IAAI,CAACG,SAAL,IAAkB,EAAzC,EAA6C;AAC3C,UAAMC,SAAS,GAAGF,QAAQ,CAACG,UAAT,IAAuBH,QAAQ,CAACG,UAAT,CAAoBC,mBAA7D;;AACA,QAAIF,SAAJ,EAAe;AAEbF,MAAAA,QAAQ,CAACK,KAAT,GAAiB,IAAjB;AACD;;AACDT,IAAAA,cAAc,CAACU,qBAAf,CAAqCN,QAArC,EAA+CR,mBAA/C;AACD;AACF;;AAEM,SAASe,MAAT,CAAgBZ,QAAhB,EAA0B;AAC/B,QAAMC,cAAc,GAAG,IAAIC,uBAAJ,CAAmBF,QAAnB,CAAvB;AACA,QAAM;AAACG,IAAAA;AAAD,MAASF,cAAf;;AAKA,MAAIA,cAAc,CAACK,SAAnB,EAA8B;AAC5B,SAAK,MAAMD,QAAX,IAAuBF,IAAI,CAACG,SAAL,IAAkB,EAAzC,EAA6C;AAE3C,UAAID,QAAQ,CAACK,KAAb,EAAoB;AAElB,eAAOL,QAAQ,CAACK,KAAhB;AACAT,QAAAA,cAAc,CAACY,kBAAf,CAAkCR,QAAlC,EAA4CR,mBAA5C,EAAiE,EAAjE;AACAI,QAAAA,cAAc,CAACa,YAAf,CAA4BjB,mBAA5B;AACD;AACF;AACF;AACF","sourcesContent":["// GLTF EXTENSION: KHR_materials_unlit\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit\n\nimport type {GLTF} from '../../types/gltf-types';\n\nimport GLTFScenegraph from '../../api/gltf-scenegraph';\n\nconst KHR_MATERIALS_UNLIT = 'KHR_materials_unlit';\n\nexport const name = KHR_MATERIALS_UNLIT;\n\nexport async function decode(gltfData: {json: GLTF}): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // Remove the top-level extension\n gltfScenegraph.removeExtension(KHR_MATERIALS_UNLIT);\n\n // Any nodes that have the extension, add lights field pointing to light object\n // and remove the extension\n for (const material of json.materials || []) {\n const extension = material.extensions && material.extensions.KHR_materials_unlit;\n if (extension) {\n // @ts-ignore TODO\n material.unlit = true;\n }\n gltfScenegraph.removeObjectExtension(material, KHR_MATERIALS_UNLIT);\n }\n}\n\nexport function encode(gltfData) {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // Any nodes that have lights field pointing to light object\n // add the extension\n // @ts-ignore\n if (gltfScenegraph.materials) {\n for (const material of json.materials || []) {\n // @ts-ignore\n if (material.unlit) {\n // @ts-ignore\n delete material.unlit;\n gltfScenegraph.addObjectExtension(material, KHR_MATERIALS_UNLIT, {});\n gltfScenegraph.addExtension(KHR_MATERIALS_UNLIT);\n }\n }\n }\n}\n"],"file":"KHR_materials_unlit.js"}
1
+ {"version":3,"sources":["../../../../../src/lib/extensions/deprecated/KHR_materials_unlit.ts"],"names":["KHR_MATERIALS_UNLIT","name","decode","gltfData","gltfScenegraph","GLTFScenegraph","json","removeExtension","materials","material","extension","extensions","KHR_materials_unlit","unlit","removeObjectExtension","encode","addObjectExtension","addExtension"],"mappings":";;;;;;;;;;;;;;;AAKA;;;;;;;;AAEA,IAAMA,mBAAmB,GAAG,qBAA5B;AAEO,IAAMC,IAAI,GAAGD,mBAAb;;;SAEeE,M;;;;;sEAAf,iBAAsBC,QAAtB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,cADD,GACkB,IAAIC,uBAAJ,CAAmBF,QAAnB,CADlB;AAEEG,YAAAA,IAFF,GAEUF,cAFV,CAEEE,IAFF;AAKLF,YAAAA,cAAc,CAACG,eAAf,CAA+BP,mBAA/B;AALK,oDASkBM,IAAI,CAACE,SAAL,IAAkB,EATpC;;AAAA;AASL,qEAA6C;AAAlCC,gBAAAA,QAAkC;AACrCC,gBAAAA,SADqC,GACzBD,QAAQ,CAACE,UAAT,IAAuBF,QAAQ,CAACE,UAAT,CAAoBC,mBADlB;;AAE3C,oBAAIF,SAAJ,EAAe;AAEbD,kBAAAA,QAAQ,CAACI,KAAT,GAAiB,IAAjB;AACD;;AACDT,gBAAAA,cAAc,CAACU,qBAAf,CAAqCL,QAArC,EAA+CT,mBAA/C;AACD;AAhBI;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAmBA,SAASe,MAAT,CAAgBZ,QAAhB,EAA0B;AAC/B,MAAMC,cAAc,GAAG,IAAIC,uBAAJ,CAAmBF,QAAnB,CAAvB;AACA,MAAOG,IAAP,GAAeF,cAAf,CAAOE,IAAP;;AAKA,MAAIF,cAAc,CAACI,SAAnB,EAA8B;AAAA,+CACLF,IAAI,CAACE,SAAL,IAAkB,EADb;AAAA;;AAAA;AAC5B,0DAA6C;AAAA,YAAlCC,QAAkC;;AAE3C,YAAIA,QAAQ,CAACI,KAAb,EAAoB;AAElB,iBAAOJ,QAAQ,CAACI,KAAhB;AACAT,UAAAA,cAAc,CAACY,kBAAf,CAAkCP,QAAlC,EAA4CT,mBAA5C,EAAiE,EAAjE;AACAI,UAAAA,cAAc,CAACa,YAAf,CAA4BjB,mBAA5B;AACD;AACF;AAT2B;AAAA;AAAA;AAAA;AAAA;AAU7B;AACF","sourcesContent":["// GLTF EXTENSION: KHR_materials_unlit\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_unlit\n\nimport type {GLTF} from '../../types/gltf-types';\n\nimport GLTFScenegraph from '../../api/gltf-scenegraph';\n\nconst KHR_MATERIALS_UNLIT = 'KHR_materials_unlit';\n\nexport const name = KHR_MATERIALS_UNLIT;\n\nexport async function decode(gltfData: {json: GLTF}): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // Remove the top-level extension\n gltfScenegraph.removeExtension(KHR_MATERIALS_UNLIT);\n\n // Any nodes that have the extension, add lights field pointing to light object\n // and remove the extension\n for (const material of json.materials || []) {\n const extension = material.extensions && material.extensions.KHR_materials_unlit;\n if (extension) {\n // @ts-ignore TODO\n material.unlit = true;\n }\n gltfScenegraph.removeObjectExtension(material, KHR_MATERIALS_UNLIT);\n }\n}\n\nexport function encode(gltfData) {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n // Any nodes that have lights field pointing to light object\n // add the extension\n // @ts-ignore\n if (gltfScenegraph.materials) {\n for (const material of json.materials || []) {\n // @ts-ignore\n if (material.unlit) {\n // @ts-ignore\n delete material.unlit;\n gltfScenegraph.addObjectExtension(material, KHR_MATERIALS_UNLIT, {});\n gltfScenegraph.addExtension(KHR_MATERIALS_UNLIT);\n }\n }\n }\n}\n"],"file":"KHR_materials_unlit.js"}
@@ -9,72 +9,128 @@ exports.decode = decode;
9
9
  exports.encode = encode;
10
10
  exports.name = void 0;
11
11
 
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
+
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
12
18
  var _gltfScenegraph = _interopRequireDefault(require("../../api/gltf-scenegraph"));
13
19
 
14
- const KHR_TECHNIQUES_WEBGL = 'KHR_techniques_webgl';
15
- const name = KHR_TECHNIQUES_WEBGL;
20
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
+
22
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
+
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+
26
+ var KHR_TECHNIQUES_WEBGL = 'KHR_techniques_webgl';
27
+ var name = KHR_TECHNIQUES_WEBGL;
16
28
  exports.name = name;
17
29
 
18
- async function decode(gltfData) {
19
- const gltfScenegraph = new _gltfScenegraph.default(gltfData);
20
- const {
21
- json
22
- } = gltfScenegraph;
23
- const extension = gltfScenegraph.getExtension(KHR_TECHNIQUES_WEBGL);
30
+ function decode(_x) {
31
+ return _decode.apply(this, arguments);
32
+ }
24
33
 
25
- if (extension) {
26
- const techniques = resolveTechniques(extension, gltfScenegraph);
34
+ function _decode() {
35
+ _decode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(gltfData) {
36
+ var gltfScenegraph, json, extension, techniques, _iterator, _step, material, materialExtension;
27
37
 
28
- for (const material of json.materials || []) {
29
- const materialExtension = gltfScenegraph.getObjectExtension(material, KHR_TECHNIQUES_WEBGL);
38
+ return _regenerator.default.wrap(function _callee$(_context) {
39
+ while (1) {
40
+ switch (_context.prev = _context.next) {
41
+ case 0:
42
+ gltfScenegraph = new _gltfScenegraph.default(gltfData);
43
+ json = gltfScenegraph.json;
44
+ extension = gltfScenegraph.getExtension(KHR_TECHNIQUES_WEBGL);
30
45
 
31
- if (materialExtension) {
32
- material.technique = Object.assign({}, materialExtension, techniques[materialExtension.technique]);
33
- material.technique.values = resolveValues(material.technique, gltfScenegraph);
34
- }
46
+ if (extension) {
47
+ techniques = resolveTechniques(extension, gltfScenegraph);
48
+ _iterator = _createForOfIteratorHelper(json.materials || []);
35
49
 
36
- gltfScenegraph.removeObjectExtension(material, KHR_TECHNIQUES_WEBGL);
37
- }
50
+ try {
51
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
52
+ material = _step.value;
53
+ materialExtension = gltfScenegraph.getObjectExtension(material, KHR_TECHNIQUES_WEBGL);
38
54
 
39
- gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);
40
- }
55
+ if (materialExtension) {
56
+ material.technique = Object.assign({}, materialExtension, techniques[materialExtension.technique]);
57
+ material.technique.values = resolveValues(material.technique, gltfScenegraph);
58
+ }
59
+
60
+ gltfScenegraph.removeObjectExtension(material, KHR_TECHNIQUES_WEBGL);
61
+ }
62
+ } catch (err) {
63
+ _iterator.e(err);
64
+ } finally {
65
+ _iterator.f();
66
+ }
67
+
68
+ gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);
69
+ }
70
+
71
+ case 4:
72
+ case "end":
73
+ return _context.stop();
74
+ }
75
+ }
76
+ }, _callee);
77
+ }));
78
+ return _decode.apply(this, arguments);
41
79
  }
42
80
 
43
- async function encode(gltfData, options) {}
81
+ function encode(_x2, _x3) {
82
+ return _encode.apply(this, arguments);
83
+ }
84
+
85
+ function _encode() {
86
+ _encode = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(gltfData, options) {
87
+ return _regenerator.default.wrap(function _callee2$(_context2) {
88
+ while (1) {
89
+ switch (_context2.prev = _context2.next) {
90
+ case 0:
91
+ case "end":
92
+ return _context2.stop();
93
+ }
94
+ }
95
+ }, _callee2);
96
+ }));
97
+ return _encode.apply(this, arguments);
98
+ }
44
99
 
45
100
  function resolveTechniques(techniquesExtension, gltfScenegraph) {
46
- const {
47
- programs = [],
48
- shaders = [],
49
- techniques = []
50
- } = techniquesExtension;
51
- const textDecoder = new TextDecoder();
52
- shaders.forEach(shader => {
101
+ var _techniquesExtension$ = techniquesExtension.programs,
102
+ programs = _techniquesExtension$ === void 0 ? [] : _techniquesExtension$,
103
+ _techniquesExtension$2 = techniquesExtension.shaders,
104
+ shaders = _techniquesExtension$2 === void 0 ? [] : _techniquesExtension$2,
105
+ _techniquesExtension$3 = techniquesExtension.techniques,
106
+ techniques = _techniquesExtension$3 === void 0 ? [] : _techniquesExtension$3;
107
+ var textDecoder = new TextDecoder();
108
+ shaders.forEach(function (shader) {
53
109
  if (Number.isFinite(shader.bufferView)) {
54
110
  shader.code = textDecoder.decode(gltfScenegraph.getTypedArrayForBufferView(shader.bufferView));
55
111
  } else {
56
112
  throw new Error('KHR_techniques_webgl: no shader code');
57
113
  }
58
114
  });
59
- programs.forEach(program => {
115
+ programs.forEach(function (program) {
60
116
  program.fragmentShader = shaders[program.fragmentShader];
61
117
  program.vertexShader = shaders[program.vertexShader];
62
118
  });
63
- techniques.forEach(technique => {
119
+ techniques.forEach(function (technique) {
64
120
  technique.program = programs[technique.program];
65
121
  });
66
122
  return techniques;
67
123
  }
68
124
 
69
125
  function resolveValues(technique, gltfScenegraph) {
70
- const values = Object.assign({}, technique.values);
71
- Object.keys(technique.uniforms || {}).forEach(uniform => {
126
+ var values = Object.assign({}, technique.values);
127
+ Object.keys(technique.uniforms || {}).forEach(function (uniform) {
72
128
  if (technique.uniforms[uniform].value && !(uniform in values)) {
73
129
  values[uniform] = technique.uniforms[uniform].value;
74
130
  }
75
131
  });
76
- Object.keys(values).forEach(uniform => {
77
- if (typeof values[uniform] === 'object' && values[uniform].index !== undefined) {
132
+ Object.keys(values).forEach(function (uniform) {
133
+ if ((0, _typeof2.default)(values[uniform]) === 'object' && values[uniform].index !== undefined) {
78
134
  values[uniform].texture = gltfScenegraph.getTexture(values[uniform].index);
79
135
  }
80
136
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/lib/extensions/deprecated/KHR_techniques_webgl.ts"],"names":["KHR_TECHNIQUES_WEBGL","name","decode","gltfData","gltfScenegraph","GLTFScenegraph","json","extension","getExtension","techniques","resolveTechniques","material","materials","materialExtension","getObjectExtension","technique","Object","assign","values","resolveValues","removeObjectExtension","removeExtension","encode","options","techniquesExtension","programs","shaders","textDecoder","TextDecoder","forEach","shader","Number","isFinite","bufferView","code","getTypedArrayForBufferView","Error","program","fragmentShader","vertexShader","keys","uniforms","uniform","value","index","undefined","texture","getTexture"],"mappings":"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","sourcesContent":["// GLTF EXTENSION: KHR_techniques_webgl\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_techniques_webgl\n\nimport type {GLTF} from '../../types/gltf-types';\n\nimport GLTFScenegraph from '../../api/gltf-scenegraph';\n\nconst KHR_TECHNIQUES_WEBGL = 'KHR_techniques_webgl';\n\nexport const name = KHR_TECHNIQUES_WEBGL;\n\nexport async function decode(gltfData: {json: GLTF}): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n const extension = gltfScenegraph.getExtension(KHR_TECHNIQUES_WEBGL);\n if (extension) {\n const techniques = resolveTechniques(extension, gltfScenegraph);\n\n for (const material of json.materials || []) {\n const materialExtension = gltfScenegraph.getObjectExtension(material, KHR_TECHNIQUES_WEBGL);\n if (materialExtension) {\n // @ts-ignore TODO\n material.technique = Object.assign(\n {},\n materialExtension,\n // @ts-ignore\n techniques[materialExtension.technique]\n );\n // @ts-ignore TODO\n material.technique.values = resolveValues(material.technique, gltfScenegraph);\n }\n gltfScenegraph.removeObjectExtension(material, KHR_TECHNIQUES_WEBGL);\n }\n\n gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);\n }\n}\n// eslint-disable-next-line\nexport async function encode(gltfData, options): Promise<void> {\n // TODO\n}\n\nfunction resolveTechniques(\n techniquesExtension: {[key: string]: any},\n // programs: {[key: string]: any}[],\n // shaders: {[key: string]: any}[],\n // techniques: {[key: string]: any}[]\n gltfScenegraph\n) {\n const {programs = [], shaders = [], techniques = []} = techniquesExtension;\n const textDecoder = new TextDecoder();\n\n shaders.forEach((shader) => {\n if (Number.isFinite(shader.bufferView)) {\n shader.code = textDecoder.decode(\n gltfScenegraph.getTypedArrayForBufferView(shader.bufferView)\n );\n } else {\n // TODO: handle URI shader\n throw new Error('KHR_techniques_webgl: no shader code');\n }\n });\n\n programs.forEach((program) => {\n program.fragmentShader = shaders[program.fragmentShader];\n program.vertexShader = shaders[program.vertexShader];\n });\n\n techniques.forEach((technique) => {\n technique.program = programs[technique.program];\n });\n\n return techniques;\n}\n\nfunction resolveValues(technique, gltfScenegraph) {\n const values = Object.assign({}, technique.values);\n\n // merge values from uniforms\n Object.keys(technique.uniforms || {}).forEach((uniform) => {\n if (technique.uniforms[uniform].value && !(uniform in values)) {\n values[uniform] = technique.uniforms[uniform].value;\n }\n });\n\n // resolve textures\n Object.keys(values).forEach((uniform) => {\n if (typeof values[uniform] === 'object' && values[uniform].index !== undefined) {\n // Assume this is a texture\n // TODO: find if there are any other types that can be referenced\n values[uniform].texture = gltfScenegraph.getTexture(values[uniform].index);\n }\n });\n\n return values;\n}\n"],"file":"KHR_techniques_webgl.js"}
1
+ {"version":3,"sources":["../../../../../src/lib/extensions/deprecated/KHR_techniques_webgl.ts"],"names":["KHR_TECHNIQUES_WEBGL","name","decode","gltfData","gltfScenegraph","GLTFScenegraph","json","extension","getExtension","techniques","resolveTechniques","materials","material","materialExtension","getObjectExtension","technique","Object","assign","values","resolveValues","removeObjectExtension","removeExtension","encode","options","techniquesExtension","programs","shaders","textDecoder","TextDecoder","forEach","shader","Number","isFinite","bufferView","code","getTypedArrayForBufferView","Error","program","fragmentShader","vertexShader","keys","uniforms","uniform","value","index","undefined","texture","getTexture"],"mappings":";;;;;;;;;;;;;;;;;AAKA;;;;;;;;AAEA,IAAMA,oBAAoB,GAAG,sBAA7B;AAEO,IAAMC,IAAI,GAAGD,oBAAb;;;SAEeE,M;;;;;sEAAf,iBAAsBC,QAAtB;AAAA;;AAAA;AAAA;AAAA;AAAA;AACCC,YAAAA,cADD,GACkB,IAAIC,uBAAJ,CAAmBF,QAAnB,CADlB;AAEEG,YAAAA,IAFF,GAEUF,cAFV,CAEEE,IAFF;AAICC,YAAAA,SAJD,GAIaH,cAAc,CAACI,YAAf,CAA4BR,oBAA5B,CAJb;;AAKL,gBAAIO,SAAJ,EAAe;AACPE,cAAAA,UADO,GACMC,iBAAiB,CAACH,SAAD,EAAYH,cAAZ,CADvB;AAAA,qDAGUE,IAAI,CAACK,SAAL,IAAkB,EAH5B;;AAAA;AAGb,oEAA6C;AAAlCC,kBAAAA,QAAkC;AACrCC,kBAAAA,iBADqC,GACjBT,cAAc,CAACU,kBAAf,CAAkCF,QAAlC,EAA4CZ,oBAA5C,CADiB;;AAE3C,sBAAIa,iBAAJ,EAAuB;AAErBD,oBAAAA,QAAQ,CAACG,SAAT,GAAqBC,MAAM,CAACC,MAAP,CACnB,EADmB,EAEnBJ,iBAFmB,EAInBJ,UAAU,CAACI,iBAAiB,CAACE,SAAnB,CAJS,CAArB;AAOAH,oBAAAA,QAAQ,CAACG,SAAT,CAAmBG,MAAnB,GAA4BC,aAAa,CAACP,QAAQ,CAACG,SAAV,EAAqBX,cAArB,CAAzC;AACD;;AACDA,kBAAAA,cAAc,CAACgB,qBAAf,CAAqCR,QAArC,EAA+CZ,oBAA/C;AACD;AAjBY;AAAA;AAAA;AAAA;AAAA;;AAmBbI,cAAAA,cAAc,CAACiB,eAAf,CAA+BrB,oBAA/B;AACD;;AAzBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;SA4BesB,M;;;;;sEAAf,kBAAsBnB,QAAtB,EAAgCoB,OAAhC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,G;;;;AAIP,SAASb,iBAAT,CACEc,mBADF,EAKEpB,cALF,EAME;AACA,8BAAuDoB,mBAAvD,CAAOC,QAAP;AAAA,MAAOA,QAAP,sCAAkB,EAAlB;AAAA,+BAAuDD,mBAAvD,CAAsBE,OAAtB;AAAA,MAAsBA,OAAtB,uCAAgC,EAAhC;AAAA,+BAAuDF,mBAAvD,CAAoCf,UAApC;AAAA,MAAoCA,UAApC,uCAAiD,EAAjD;AACA,MAAMkB,WAAW,GAAG,IAAIC,WAAJ,EAApB;AAEAF,EAAAA,OAAO,CAACG,OAAR,CAAgB,UAACC,MAAD,EAAY;AAC1B,QAAIC,MAAM,CAACC,QAAP,CAAgBF,MAAM,CAACG,UAAvB,CAAJ,EAAwC;AACtCH,MAAAA,MAAM,CAACI,IAAP,GAAcP,WAAW,CAACzB,MAAZ,CACZE,cAAc,CAAC+B,0BAAf,CAA0CL,MAAM,CAACG,UAAjD,CADY,CAAd;AAGD,KAJD,MAIO;AAEL,YAAM,IAAIG,KAAJ,CAAU,sCAAV,CAAN;AACD;AACF,GATD;AAWAX,EAAAA,QAAQ,CAACI,OAAT,CAAiB,UAACQ,OAAD,EAAa;AAC5BA,IAAAA,OAAO,CAACC,cAAR,GAAyBZ,OAAO,CAACW,OAAO,CAACC,cAAT,CAAhC;AACAD,IAAAA,OAAO,CAACE,YAAR,GAAuBb,OAAO,CAACW,OAAO,CAACE,YAAT,CAA9B;AACD,GAHD;AAKA9B,EAAAA,UAAU,CAACoB,OAAX,CAAmB,UAACd,SAAD,EAAe;AAChCA,IAAAA,SAAS,CAACsB,OAAV,GAAoBZ,QAAQ,CAACV,SAAS,CAACsB,OAAX,CAA5B;AACD,GAFD;AAIA,SAAO5B,UAAP;AACD;;AAED,SAASU,aAAT,CAAuBJ,SAAvB,EAAkCX,cAAlC,EAAkD;AAChD,MAAMc,MAAM,GAAGF,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBF,SAAS,CAACG,MAA5B,CAAf;AAGAF,EAAAA,MAAM,CAACwB,IAAP,CAAYzB,SAAS,CAAC0B,QAAV,IAAsB,EAAlC,EAAsCZ,OAAtC,CAA8C,UAACa,OAAD,EAAa;AACzD,QAAI3B,SAAS,CAAC0B,QAAV,CAAmBC,OAAnB,EAA4BC,KAA5B,IAAqC,EAAED,OAAO,IAAIxB,MAAb,CAAzC,EAA+D;AAC7DA,MAAAA,MAAM,CAACwB,OAAD,CAAN,GAAkB3B,SAAS,CAAC0B,QAAV,CAAmBC,OAAnB,EAA4BC,KAA9C;AACD;AACF,GAJD;AAOA3B,EAAAA,MAAM,CAACwB,IAAP,CAAYtB,MAAZ,EAAoBW,OAApB,CAA4B,UAACa,OAAD,EAAa;AACvC,QAAI,sBAAOxB,MAAM,CAACwB,OAAD,CAAb,MAA2B,QAA3B,IAAuCxB,MAAM,CAACwB,OAAD,CAAN,CAAgBE,KAAhB,KAA0BC,SAArE,EAAgF;AAG9E3B,MAAAA,MAAM,CAACwB,OAAD,CAAN,CAAgBI,OAAhB,GAA0B1C,cAAc,CAAC2C,UAAf,CAA0B7B,MAAM,CAACwB,OAAD,CAAN,CAAgBE,KAA1C,CAA1B;AACD;AACF,GAND;AAQA,SAAO1B,MAAP;AACD","sourcesContent":["// GLTF EXTENSION: KHR_techniques_webgl\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_techniques_webgl\n\nimport type {GLTF} from '../../types/gltf-types';\n\nimport GLTFScenegraph from '../../api/gltf-scenegraph';\n\nconst KHR_TECHNIQUES_WEBGL = 'KHR_techniques_webgl';\n\nexport const name = KHR_TECHNIQUES_WEBGL;\n\nexport async function decode(gltfData: {json: GLTF}): Promise<void> {\n const gltfScenegraph = new GLTFScenegraph(gltfData);\n const {json} = gltfScenegraph;\n\n const extension = gltfScenegraph.getExtension(KHR_TECHNIQUES_WEBGL);\n if (extension) {\n const techniques = resolveTechniques(extension, gltfScenegraph);\n\n for (const material of json.materials || []) {\n const materialExtension = gltfScenegraph.getObjectExtension(material, KHR_TECHNIQUES_WEBGL);\n if (materialExtension) {\n // @ts-ignore TODO\n material.technique = Object.assign(\n {},\n materialExtension,\n // @ts-ignore\n techniques[materialExtension.technique]\n );\n // @ts-ignore TODO\n material.technique.values = resolveValues(material.technique, gltfScenegraph);\n }\n gltfScenegraph.removeObjectExtension(material, KHR_TECHNIQUES_WEBGL);\n }\n\n gltfScenegraph.removeExtension(KHR_TECHNIQUES_WEBGL);\n }\n}\n// eslint-disable-next-line\nexport async function encode(gltfData, options): Promise<void> {\n // TODO\n}\n\nfunction resolveTechniques(\n techniquesExtension: {[key: string]: any},\n // programs: {[key: string]: any}[],\n // shaders: {[key: string]: any}[],\n // techniques: {[key: string]: any}[]\n gltfScenegraph\n) {\n const {programs = [], shaders = [], techniques = []} = techniquesExtension;\n const textDecoder = new TextDecoder();\n\n shaders.forEach((shader) => {\n if (Number.isFinite(shader.bufferView)) {\n shader.code = textDecoder.decode(\n gltfScenegraph.getTypedArrayForBufferView(shader.bufferView)\n );\n } else {\n // TODO: handle URI shader\n throw new Error('KHR_techniques_webgl: no shader code');\n }\n });\n\n programs.forEach((program) => {\n program.fragmentShader = shaders[program.fragmentShader];\n program.vertexShader = shaders[program.vertexShader];\n });\n\n techniques.forEach((technique) => {\n technique.program = programs[technique.program];\n });\n\n return techniques;\n}\n\nfunction resolveValues(technique, gltfScenegraph) {\n const values = Object.assign({}, technique.values);\n\n // merge values from uniforms\n Object.keys(technique.uniforms || {}).forEach((uniform) => {\n if (technique.uniforms[uniform].value && !(uniform in values)) {\n values[uniform] = technique.uniforms[uniform].value;\n }\n });\n\n // resolve textures\n Object.keys(values).forEach((uniform) => {\n if (typeof values[uniform] === 'object' && values[uniform].index !== undefined) {\n // Assume this is a texture\n // TODO: find if there are any other types that can be referenced\n values[uniform].texture = gltfScenegraph.getTexture(values[uniform].index);\n }\n });\n\n return values;\n}\n"],"file":"KHR_techniques_webgl.js"}
@@ -9,18 +9,18 @@ exports.getTypedArrayForImageData = getTypedArrayForImageData;
9
9
  var _assert = require("../utils/assert");
10
10
 
11
11
  function getTypedArrayForBufferView(json, buffers, bufferViewIndex) {
12
- const bufferView = json.bufferViews[bufferViewIndex];
12
+ var bufferView = json.bufferViews[bufferViewIndex];
13
13
  (0, _assert.assert)(bufferView);
14
- const bufferIndex = bufferView.buffer;
15
- const binChunk = buffers[bufferIndex];
14
+ var bufferIndex = bufferView.buffer;
15
+ var binChunk = buffers[bufferIndex];
16
16
  (0, _assert.assert)(binChunk);
17
- const byteOffset = (bufferView.byteOffset || 0) + binChunk.byteOffset;
17
+ var byteOffset = (bufferView.byteOffset || 0) + binChunk.byteOffset;
18
18
  return new Uint8Array(binChunk.arrayBuffer, byteOffset, bufferView.byteLength);
19
19
  }
20
20
 
21
21
  function getTypedArrayForImageData(json, buffers, imageIndex) {
22
- const image = json.images[imageIndex];
23
- const bufferViewIndex = json.bufferViews[image.bufferView];
22
+ var image = json.images[imageIndex];
23
+ var bufferViewIndex = json.bufferViews[image.bufferView];
24
24
  return getTypedArrayForBufferView(json, buffers, bufferViewIndex);
25
25
  }
26
26
  //# sourceMappingURL=get-typed-array.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/gltf-utils/get-typed-array.ts"],"names":["getTypedArrayForBufferView","json","buffers","bufferViewIndex","bufferView","bufferViews","bufferIndex","buffer","binChunk","byteOffset","Uint8Array","arrayBuffer","byteLength","getTypedArrayForImageData","imageIndex","image","images"],"mappings":";;;;;;;;AACA;;AAIO,SAASA,0BAAT,CAAoCC,IAApC,EAA0CC,OAA1C,EAAmDC,eAAnD,EAAoE;AACzE,QAAMC,UAAU,GAAGH,IAAI,CAACI,WAAL,CAAiBF,eAAjB,CAAnB;AACA,sBAAOC,UAAP;AAGA,QAAME,WAAW,GAAGF,UAAU,CAACG,MAA/B;AACA,QAAMC,QAAQ,GAAGN,OAAO,CAACI,WAAD,CAAxB;AACA,sBAAOE,QAAP;AAEA,QAAMC,UAAU,GAAG,CAACL,UAAU,CAACK,UAAX,IAAyB,CAA1B,IAA+BD,QAAQ,CAACC,UAA3D;AACA,SAAO,IAAIC,UAAJ,CAAeF,QAAQ,CAACG,WAAxB,EAAqCF,UAArC,EAAiDL,UAAU,CAACQ,UAA5D,CAAP;AACD;;AAIM,SAASC,yBAAT,CAAmCZ,IAAnC,EAAyCC,OAAzC,EAAkDY,UAAlD,EAA8D;AACnE,QAAMC,KAAK,GAAGd,IAAI,CAACe,MAAL,CAAYF,UAAZ,CAAd;AACA,QAAMX,eAAe,GAAGF,IAAI,CAACI,WAAL,CAAiBU,KAAK,CAACX,UAAvB,CAAxB;AACA,SAAOJ,0BAA0B,CAACC,IAAD,EAAOC,OAAP,EAAgBC,eAAhB,CAAjC;AACD","sourcesContent":["// TODO - GLTFScenegraph should use these\nimport {assert} from '../utils/assert';\n\n// accepts buffer view index or buffer view object\n// returns a `Uint8Array`\nexport function getTypedArrayForBufferView(json, buffers, bufferViewIndex) {\n const bufferView = json.bufferViews[bufferViewIndex];\n assert(bufferView);\n\n // Get hold of the arrayBuffer\n const bufferIndex = bufferView.buffer;\n const binChunk = buffers[bufferIndex];\n assert(binChunk);\n\n const byteOffset = (bufferView.byteOffset || 0) + binChunk.byteOffset;\n return new Uint8Array(binChunk.arrayBuffer, byteOffset, bufferView.byteLength);\n}\n\n// accepts accessor index or accessor object\n// returns a `Uint8Array`\nexport function getTypedArrayForImageData(json, buffers, imageIndex) {\n const image = json.images[imageIndex];\n const bufferViewIndex = json.bufferViews[image.bufferView];\n return getTypedArrayForBufferView(json, buffers, bufferViewIndex);\n}\n\n/*\n// accepts accessor index or accessor object\n// returns a typed array with type that matches the types\nexport function getTypedArrayForAccessor(accessor) {\n accessor = this.getAccessor(accessor);\n const bufferView = this.getBufferView(accessor.bufferView);\n const buffer = this.getBuffer(bufferView.buffer);\n const arrayBuffer = buffer.data;\n\n // Create a new typed array as a view into the combined buffer\n const {ArrayType, length} = getAccessorArrayTypeAndLength(accessor, bufferView);\n const byteOffset = bufferView.byteOffset + accessor.byteOffset;\n return new ArrayType(arrayBuffer, byteOffset, length);\n}\n*/\n"],"file":"get-typed-array.js"}
1
+ {"version":3,"sources":["../../../../src/lib/gltf-utils/get-typed-array.ts"],"names":["getTypedArrayForBufferView","json","buffers","bufferViewIndex","bufferView","bufferViews","bufferIndex","buffer","binChunk","byteOffset","Uint8Array","arrayBuffer","byteLength","getTypedArrayForImageData","imageIndex","image","images"],"mappings":";;;;;;;;AACA;;AAIO,SAASA,0BAAT,CAAoCC,IAApC,EAA0CC,OAA1C,EAAmDC,eAAnD,EAAoE;AACzE,MAAMC,UAAU,GAAGH,IAAI,CAACI,WAAL,CAAiBF,eAAjB,CAAnB;AACA,sBAAOC,UAAP;AAGA,MAAME,WAAW,GAAGF,UAAU,CAACG,MAA/B;AACA,MAAMC,QAAQ,GAAGN,OAAO,CAACI,WAAD,CAAxB;AACA,sBAAOE,QAAP;AAEA,MAAMC,UAAU,GAAG,CAACL,UAAU,CAACK,UAAX,IAAyB,CAA1B,IAA+BD,QAAQ,CAACC,UAA3D;AACA,SAAO,IAAIC,UAAJ,CAAeF,QAAQ,CAACG,WAAxB,EAAqCF,UAArC,EAAiDL,UAAU,CAACQ,UAA5D,CAAP;AACD;;AAIM,SAASC,yBAAT,CAAmCZ,IAAnC,EAAyCC,OAAzC,EAAkDY,UAAlD,EAA8D;AACnE,MAAMC,KAAK,GAAGd,IAAI,CAACe,MAAL,CAAYF,UAAZ,CAAd;AACA,MAAMX,eAAe,GAAGF,IAAI,CAACI,WAAL,CAAiBU,KAAK,CAACX,UAAvB,CAAxB;AACA,SAAOJ,0BAA0B,CAACC,IAAD,EAAOC,OAAP,EAAgBC,eAAhB,CAAjC;AACD","sourcesContent":["// TODO - GLTFScenegraph should use these\nimport {assert} from '../utils/assert';\n\n// accepts buffer view index or buffer view object\n// returns a `Uint8Array`\nexport function getTypedArrayForBufferView(json, buffers, bufferViewIndex) {\n const bufferView = json.bufferViews[bufferViewIndex];\n assert(bufferView);\n\n // Get hold of the arrayBuffer\n const bufferIndex = bufferView.buffer;\n const binChunk = buffers[bufferIndex];\n assert(binChunk);\n\n const byteOffset = (bufferView.byteOffset || 0) + binChunk.byteOffset;\n return new Uint8Array(binChunk.arrayBuffer, byteOffset, bufferView.byteLength);\n}\n\n// accepts accessor index or accessor object\n// returns a `Uint8Array`\nexport function getTypedArrayForImageData(json, buffers, imageIndex) {\n const image = json.images[imageIndex];\n const bufferViewIndex = json.bufferViews[image.bufferView];\n return getTypedArrayForBufferView(json, buffers, bufferViewIndex);\n}\n\n/*\n// accepts accessor index or accessor object\n// returns a typed array with type that matches the types\nexport function getTypedArrayForAccessor(accessor) {\n accessor = this.getAccessor(accessor);\n const bufferView = this.getBufferView(accessor.bufferView);\n const buffer = this.getBuffer(bufferView.buffer);\n const arrayBuffer = buffer.data;\n\n // Create a new typed array as a view into the combined buffer\n const {ArrayType, length} = getAccessorArrayTypeAndLength(accessor, bufferView);\n const byteOffset = bufferView.byteOffset + accessor.byteOffset;\n return new ArrayType(arrayBuffer, byteOffset, length);\n}\n*/\n"],"file":"get-typed-array.js"}