@loaders.gl/gltf 4.0.0-alpha.6 → 4.0.0-alpha.8

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 (194) hide show
  1. package/dist/dist.min.js +1661 -1459
  2. package/dist/es5/glb-loader.js +2 -2
  3. package/dist/es5/glb-loader.js.map +1 -1
  4. package/dist/es5/glb-writer.js +3 -4
  5. package/dist/es5/glb-writer.js.map +1 -1
  6. package/dist/es5/gltf-loader.js +3 -3
  7. package/dist/es5/gltf-loader.js.map +1 -1
  8. package/dist/es5/index.js +9 -3
  9. package/dist/es5/index.js.map +1 -1
  10. package/dist/es5/lib/api/gltf-extensions.js.map +1 -1
  11. package/dist/es5/lib/api/gltf-scenegraph.js +52 -32
  12. package/dist/es5/lib/api/gltf-scenegraph.js.map +1 -1
  13. package/dist/es5/lib/api/post-process-gltf.js +164 -116
  14. package/dist/es5/lib/api/post-process-gltf.js.map +1 -1
  15. package/dist/es5/lib/encoders/encode-glb.js +1 -1
  16. package/dist/es5/lib/encoders/encode-glb.js.map +1 -1
  17. package/dist/es5/lib/encoders/encode-gltf.js +2 -3
  18. package/dist/es5/lib/encoders/encode-gltf.js.map +1 -1
  19. package/dist/es5/lib/extensions/EXT_meshopt_compression.js +3 -5
  20. package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +1 -1
  21. package/dist/es5/lib/extensions/EXT_texture_webp.js +2 -3
  22. package/dist/es5/lib/extensions/EXT_texture_webp.js.map +1 -1
  23. package/dist/es5/lib/extensions/KHR_binary_gltf.js +2 -3
  24. package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +1 -1
  25. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +6 -5
  26. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
  27. package/dist/es5/lib/extensions/KHR_texture_basisu.js +3 -4
  28. package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +1 -1
  29. package/dist/es5/lib/extensions/KHR_texture_transform.js +9 -8
  30. package/dist/es5/lib/extensions/KHR_texture_transform.js.map +1 -1
  31. package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js +195 -17
  32. package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -1
  33. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +3 -3
  34. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
  35. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +3 -3
  36. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
  37. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +2 -2
  38. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
  39. package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
  40. package/dist/es5/lib/gltf-utils/gltf-utils.js +24 -0
  41. package/dist/es5/lib/gltf-utils/gltf-utils.js.map +1 -1
  42. package/dist/es5/lib/parsers/parse-glb.js +10 -10
  43. package/dist/es5/lib/parsers/parse-glb.js.map +1 -1
  44. package/dist/es5/lib/parsers/parse-gltf.js +18 -25
  45. package/dist/es5/lib/parsers/parse-gltf.js.map +1 -1
  46. package/dist/es5/lib/types/gltf-json-schema.js.map +1 -1
  47. package/dist/es5/lib/types/gltf-postprocessed-schema.js.map +1 -1
  48. package/dist/es5/lib/types/gltf-types.js.map +1 -1
  49. package/dist/es5/lib/utils/version.js +1 -1
  50. package/dist/esm/glb-loader.js +1 -1
  51. package/dist/esm/glb-loader.js.map +1 -1
  52. package/dist/esm/glb-writer.js +1 -1
  53. package/dist/esm/glb-writer.js.map +1 -1
  54. package/dist/esm/gltf-loader.js +3 -3
  55. package/dist/esm/gltf-loader.js.map +1 -1
  56. package/dist/esm/index.js +2 -1
  57. package/dist/esm/index.js.map +1 -1
  58. package/dist/esm/lib/api/gltf-extensions.js.map +1 -1
  59. package/dist/esm/lib/api/gltf-scenegraph.js +45 -31
  60. package/dist/esm/lib/api/gltf-scenegraph.js.map +1 -1
  61. package/dist/esm/lib/api/post-process-gltf.js +167 -112
  62. package/dist/esm/lib/api/post-process-gltf.js.map +1 -1
  63. package/dist/esm/lib/encoders/encode-glb.js +1 -1
  64. package/dist/esm/lib/encoders/encode-glb.js.map +1 -1
  65. package/dist/esm/lib/encoders/encode-gltf.js +1 -1
  66. package/dist/esm/lib/encoders/encode-gltf.js.map +1 -1
  67. package/dist/esm/lib/extensions/EXT_meshopt_compression.js +2 -3
  68. package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +1 -1
  69. package/dist/esm/lib/extensions/EXT_texture_webp.js +1 -1
  70. package/dist/esm/lib/extensions/EXT_texture_webp.js.map +1 -1
  71. package/dist/esm/lib/extensions/KHR_binary_gltf.js +1 -1
  72. package/dist/esm/lib/extensions/KHR_binary_gltf.js.map +1 -1
  73. package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js +5 -4
  74. package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js.map +1 -1
  75. package/dist/esm/lib/extensions/KHR_texture_basisu.js +2 -2
  76. package/dist/esm/lib/extensions/KHR_texture_basisu.js.map +1 -1
  77. package/dist/esm/lib/extensions/KHR_texture_transform.js +7 -6
  78. package/dist/esm/lib/extensions/KHR_texture_transform.js.map +1 -1
  79. package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js +161 -15
  80. package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -1
  81. package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js +1 -1
  82. package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -1
  83. package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js +1 -1
  84. package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -1
  85. package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js +1 -1
  86. package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -1
  87. package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js.map +1 -1
  88. package/dist/esm/lib/gltf-utils/gltf-utils.js +20 -0
  89. package/dist/esm/lib/gltf-utils/gltf-utils.js.map +1 -1
  90. package/dist/esm/lib/parsers/parse-glb.js +10 -10
  91. package/dist/esm/lib/parsers/parse-glb.js.map +1 -1
  92. package/dist/esm/lib/parsers/parse-gltf.js +7 -12
  93. package/dist/esm/lib/parsers/parse-gltf.js.map +1 -1
  94. package/dist/esm/lib/types/gltf-json-schema.js.map +1 -1
  95. package/dist/esm/lib/types/gltf-postprocessed-schema.js.map +1 -1
  96. package/dist/esm/lib/types/gltf-types.js.map +1 -1
  97. package/dist/esm/lib/utils/version.js +1 -1
  98. package/dist/glb-loader.d.ts +2 -2
  99. package/dist/glb-loader.js +2 -5
  100. package/dist/glb-writer.d.ts.map +1 -1
  101. package/dist/glb-writer.js +4 -6
  102. package/dist/gltf-loader.d.ts +5 -5
  103. package/dist/gltf-loader.d.ts.map +1 -1
  104. package/dist/gltf-loader.js +3 -3
  105. package/dist/index.d.ts +8 -5
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js +12 -5
  108. package/dist/lib/api/gltf-extensions.d.ts +1 -1
  109. package/dist/lib/api/gltf-extensions.d.ts.map +1 -1
  110. package/dist/lib/api/gltf-extensions.js +1 -1
  111. package/dist/lib/api/gltf-scenegraph.d.ts +8 -5
  112. package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
  113. package/dist/lib/api/gltf-scenegraph.js +47 -33
  114. package/dist/lib/api/post-process-gltf.d.ts +4 -1
  115. package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
  116. package/dist/lib/api/post-process-gltf.js +186 -123
  117. package/dist/lib/encoders/encode-glb.d.ts +13 -1
  118. package/dist/lib/encoders/encode-glb.d.ts.map +1 -1
  119. package/dist/lib/encoders/encode-glb.js +15 -4
  120. package/dist/lib/encoders/encode-gltf.js +2 -5
  121. package/dist/lib/extensions/EXT_meshopt_compression.d.ts +1 -1
  122. package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -1
  123. package/dist/lib/extensions/EXT_meshopt_compression.js +3 -7
  124. package/dist/lib/extensions/EXT_texture_webp.d.ts +1 -1
  125. package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
  126. package/dist/lib/extensions/EXT_texture_webp.js +2 -5
  127. package/dist/lib/extensions/KHR_binary_gltf.d.ts +1 -1
  128. package/dist/lib/extensions/KHR_binary_gltf.d.ts.map +1 -1
  129. package/dist/lib/extensions/KHR_binary_gltf.js +2 -5
  130. package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts +1 -1
  131. package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
  132. package/dist/lib/extensions/KHR_draco_mesh_compression.js +5 -8
  133. package/dist/lib/extensions/KHR_texture_basisu.d.ts +1 -1
  134. package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -1
  135. package/dist/lib/extensions/KHR_texture_basisu.js +3 -6
  136. package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -1
  137. package/dist/lib/extensions/KHR_texture_transform.js +7 -10
  138. package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts +3 -2
  139. package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -1
  140. package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +195 -23
  141. package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts +1 -1
  142. package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -1
  143. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +3 -6
  144. package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts +1 -1
  145. package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -1
  146. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +3 -6
  147. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +1 -1
  148. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -1
  149. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +2 -5
  150. package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts +1 -1
  151. package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -1
  152. package/dist/lib/gltf-utils/gltf-utils.d.ts +7 -0
  153. package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -1
  154. package/dist/lib/gltf-utils/gltf-utils.js +28 -1
  155. package/dist/lib/parsers/parse-glb.d.ts +15 -3
  156. package/dist/lib/parsers/parse-glb.d.ts.map +1 -1
  157. package/dist/lib/parsers/parse-glb.js +43 -18
  158. package/dist/lib/parsers/parse-gltf.d.ts +8 -4
  159. package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
  160. package/dist/lib/parsers/parse-gltf.js +17 -41
  161. package/dist/lib/types/gltf-json-schema.d.ts +153 -139
  162. package/dist/lib/types/gltf-json-schema.d.ts.map +1 -1
  163. package/dist/lib/types/gltf-postprocessed-schema.d.ts +174 -209
  164. package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -1
  165. package/dist/lib/types/gltf-postprocessed-schema.js +1 -1
  166. package/dist/lib/types/gltf-types.d.ts +18 -6
  167. package/dist/lib/types/gltf-types.d.ts.map +1 -1
  168. package/package.json +6 -6
  169. package/src/glb-loader.ts +3 -3
  170. package/src/glb-writer.ts +3 -1
  171. package/src/gltf-loader.ts +12 -8
  172. package/src/index.ts +32 -13
  173. package/src/lib/api/gltf-extensions.ts +1 -1
  174. package/src/lib/api/gltf-scenegraph.ts +60 -41
  175. package/src/lib/api/post-process-gltf.ts +275 -150
  176. package/src/lib/encoders/encode-glb.ts +15 -5
  177. package/src/lib/encoders/encode-gltf.ts +1 -1
  178. package/src/lib/extensions/EXT_meshopt_compression.ts +4 -6
  179. package/src/lib/extensions/EXT_texture_webp.ts +2 -2
  180. package/src/lib/extensions/KHR_binary_gltf.ts +2 -2
  181. package/src/lib/extensions/KHR_draco_mesh_compression.ts +7 -7
  182. package/src/lib/extensions/KHR_texture_basisu.ts +3 -3
  183. package/src/lib/extensions/KHR_texture_transform.ts +22 -19
  184. package/src/lib/extensions/deprecated/EXT_feature_metadata.ts +264 -23
  185. package/src/lib/extensions/deprecated/KHR_lights_punctual.ts +2 -2
  186. package/src/lib/extensions/deprecated/KHR_materials_unlit.ts +2 -2
  187. package/src/lib/extensions/deprecated/KHR_techniques_webgl.ts +2 -2
  188. package/src/lib/gltf-utils/gltf-attribute-utils.ts +1 -1
  189. package/src/lib/gltf-utils/gltf-utils.ts +31 -0
  190. package/src/lib/parsers/parse-glb.ts +50 -24
  191. package/src/lib/parsers/parse-gltf.ts +26 -25
  192. package/src/lib/types/gltf-json-schema.ts +168 -138
  193. package/src/lib/types/gltf-postprocessed-schema.ts +289 -212
  194. package/src/lib/types/gltf-types.ts +35 -59
@@ -8,7 +8,7 @@ exports._TypecheckGLBLoader = exports.GLBLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _version = require("./lib/utils/version");
11
- var _parseGlb = _interopRequireDefault(require("./lib/parsers/parse-glb"));
11
+ var _parseGlb = require("./lib/parsers/parse-glb");
12
12
  var GLBLoader = {
13
13
  name: 'GLB',
14
14
  id: 'glb',
@@ -48,7 +48,7 @@ function parseSync(arrayBuffer, options) {
48
48
  _ref$byteOffset = _ref.byteOffset,
49
49
  byteOffset = _ref$byteOffset === void 0 ? 0 : _ref$byteOffset;
50
50
  var glb = {};
51
- (0, _parseGlb.default)(glb, arrayBuffer, byteOffset, options === null || options === void 0 ? void 0 : options.glb);
51
+ (0, _parseGlb.parseGLBSync)(glb, arrayBuffer, byteOffset, options === null || options === void 0 ? void 0 : options.glb);
52
52
  return glb;
53
53
  }
54
54
  var _TypecheckGLBLoader = GLBLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"glb-loader.js","names":["_version","require","_parseGlb","_interopRequireDefault","GLBLoader","name","id","module","version","VERSION","extensions","mimeTypes","binary","parse","parseSync","options","glb","strict","exports","_x","_x2","_parse","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","stop","_ref","_ref$byteOffset","byteOffset","parseGLBSync","_TypecheckGLBLoader"],"sources":["../../src/glb-loader.ts"],"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<GLB, never, GLBLoaderOptions> = {\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"],"mappings":";;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AAWO,IAAMG,SAAyD,GAAG;EACvEC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,mBAAmB,CAAC;EAChCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAALA,KAAK;EACLC,SAAS,EAATA,SAAS;EACTC,OAAO,EAAE;IACPC,GAAG,EAAE;MACHC,MAAM,EAAE;IACV;EACF;AACF,CAAC;AAACC,OAAA,CAAAd,SAAA,GAAAA,SAAA;AAAA,SAEaS,KAAKA,CAAAM,EAAA,EAAAC,GAAA;EAAA,OAAAC,MAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,OAAA;EAAAA,MAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAApB,SAAAC,QAAqBC,WAAwB,EAAEd,OAA0B;IAAA,OAAAW,YAAA,CAAAD,OAAA,CAAAK,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAA,OAAAF,QAAA,CAAAG,MAAA,WAChErB,SAAS,CAACe,WAAW,EAAEd,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAiB,QAAA,CAAAI,IAAA;MAAA;IAAA,GAAAR,OAAA;EAAA,CACvC;EAAA,OAAAP,MAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,SAAST,SAASA,CAACe,WAAwB,EAAEd,OAA0B,EAAO;EAC5E,IAAAsB,IAAA,GAAyBtB,OAAO,IAAI,CAAC,CAAC;IAAAuB,eAAA,GAAAD,IAAA,CAA/BE,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;EACrB,IAAMtB,GAAQ,GAAG,CAAC,CAAQ;EAC1B,IAAAwB,iBAAY,EAACxB,GAAG,EAAEa,WAAW,EAAEU,UAAU,EAAExB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,GAAG,CAAC;EACxD,OAAOA,GAAG;AACZ;AAGO,IAAMyB,mBAAqC,GAAGrC,SAAS;AAACc,OAAA,CAAAuB,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"glb-loader.js","names":["_version","require","_parseGlb","GLBLoader","name","id","module","version","VERSION","extensions","mimeTypes","binary","parse","parseSync","options","glb","strict","exports","_x","_x2","_parse","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","abrupt","stop","_ref","_ref$byteOffset","byteOffset","parseGLBSync","_TypecheckGLBLoader"],"sources":["../../src/glb-loader.ts"],"sourcesContent":["import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {GLB} from './lib/types/glb-types';\nimport type {ParseGLBOptions} 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?: ParseGLBOptions;\n byteOffset?: number;\n};\n\n/**\n * GLB Loader -\n * GLB is the binary container format for GLTF\n */\nexport const GLBLoader: LoaderWithParser<GLB, never, GLBLoaderOptions> = {\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"],"mappings":";;;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAWO,IAAME,SAAyD,GAAG;EACvEC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,mBAAmB,CAAC;EAChCC,MAAM,EAAE,IAAI;EACZC,KAAK,EAALA,KAAK;EACLC,SAAS,EAATA,SAAS;EACTC,OAAO,EAAE;IACPC,GAAG,EAAE;MACHC,MAAM,EAAE;IACV;EACF;AACF,CAAC;AAACC,OAAA,CAAAd,SAAA,GAAAA,SAAA;AAAA,SAEaS,KAAKA,CAAAM,EAAA,EAAAC,GAAA;EAAA,OAAAC,MAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,OAAA;EAAAA,MAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAApB,SAAAC,QAAqBC,WAAwB,EAAEd,OAA0B;IAAA,OAAAW,YAAA,CAAAD,OAAA,CAAAK,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAA,OAAAF,QAAA,CAAAG,MAAA,WAChErB,SAAS,CAACe,WAAW,EAAEd,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAiB,QAAA,CAAAI,IAAA;MAAA;IAAA,GAAAR,OAAA;EAAA,CACvC;EAAA,OAAAP,MAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,SAAST,SAASA,CAACe,WAAwB,EAAEd,OAA0B,EAAO;EAC5E,IAAAsB,IAAA,GAAyBtB,OAAO,IAAI,CAAC,CAAC;IAAAuB,eAAA,GAAAD,IAAA,CAA/BE,UAAU;IAAVA,UAAU,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;EACrB,IAAMtB,GAAQ,GAAG,CAAC,CAAQ;EAC1B,IAAAwB,sBAAY,EAACxB,GAAG,EAAEa,WAAW,EAAEU,UAAU,EAAExB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,GAAG,CAAC;EACxD,OAAOA,GAAG;AACZ;AAGO,IAAMyB,mBAAqC,GAAGrC,SAAS;AAACc,OAAA,CAAAuB,mBAAA,GAAAA,mBAAA"}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports._TypecheckGLBLoader = exports.GLBWriter = void 0;
8
- var _encodeGlb = _interopRequireDefault(require("./lib/encoders/encode-glb"));
7
+ var _encodeGlb = require("./lib/encoders/encode-glb");
9
8
  var _version = require("./lib/utils/version");
10
9
  var GLBWriter = {
11
10
  name: 'GLB',
@@ -24,10 +23,10 @@ exports.GLBWriter = GLBWriter;
24
23
  function encodeSync(glb, options) {
25
24
  var _options$byteOffset = options.byteOffset,
26
25
  byteOffset = _options$byteOffset === void 0 ? 0 : _options$byteOffset;
27
- var byteLength = (0, _encodeGlb.default)(glb, null, byteOffset, options);
26
+ var byteLength = (0, _encodeGlb.encodeGLBSync)(glb, null, byteOffset, options);
28
27
  var arrayBuffer = new ArrayBuffer(byteLength);
29
28
  var dataView = new DataView(arrayBuffer);
30
- (0, _encodeGlb.default)(glb, dataView, byteOffset, options);
29
+ (0, _encodeGlb.encodeGLBSync)(glb, dataView, byteOffset, options);
31
30
  return arrayBuffer;
32
31
  }
33
32
  var _TypecheckGLBLoader = GLBWriter;
@@ -1 +1 @@
1
- {"version":3,"file":"glb-writer.js","names":["_encodeGlb","_interopRequireDefault","require","_version","GLBWriter","name","id","module","version","VERSION","extensions","mimeTypes","binary","encodeSync","options","glb","exports","_options$byteOffset","byteOffset","byteLength","encodeGLBSync","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"sources":["../../src/glb-writer.ts"],"sourcesContent":["import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {GLB} from './lib/types/glb-types';\nimport type {GLBEncodeOptions} from './lib/encoders/encode-glb';\nimport encodeGLBSync from './lib/encoders/encode-glb';\nimport {VERSION} from './lib/utils/version';\n\nexport type GLBWriterOptions = WriterOptions & {\n glb?: GLBEncodeOptions;\n};\n\n/**\n * GLB exporter\n * GLB is the binary container format for GLTF\n */\nexport const GLBWriter: Writer<GLB, never, GLBWriterOptions> = {\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"],"mappings":";;;;;;;AAGA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUO,IAAME,SAA+C,GAAG;EAC7DC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,mBAAmB,CAAC;EAChCC,MAAM,EAAE,IAAI;EAEZC,UAAU,EAAVA,UAAU;EAEVC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAACC,OAAA,CAAAZ,SAAA,GAAAA,SAAA;AAEF,SAASS,UAAUA,CAACE,GAAG,EAAED,OAAO,EAAE;EAChC,IAAAG,mBAAA,GAAyBH,OAAO,CAAzBI,UAAU;IAAVA,UAAU,GAAAD,mBAAA,cAAG,CAAC,GAAAA,mBAAA;EAGrB,IAAME,UAAU,GAAG,IAAAC,kBAAa,EAACL,GAAG,EAAE,IAAI,EAAEG,UAAU,EAAEJ,OAAO,CAAC;EAChE,IAAMO,WAAW,GAAG,IAAIC,WAAW,CAACH,UAAU,CAAC;EAG/C,IAAMI,QAAQ,GAAG,IAAIC,QAAQ,CAACH,WAAW,CAAC;EAC1C,IAAAD,kBAAa,EAACL,GAAG,EAAEQ,QAAQ,EAAEL,UAAU,EAAEJ,OAAO,CAAC;EAEjD,OAAOO,WAAW;AACpB;AAGO,IAAMI,mBAA2B,GAAGrB,SAAS;AAACY,OAAA,CAAAS,mBAAA,GAAAA,mBAAA"}
1
+ {"version":3,"file":"glb-writer.js","names":["_encodeGlb","require","_version","GLBWriter","name","id","module","version","VERSION","extensions","mimeTypes","binary","encodeSync","options","glb","exports","_options$byteOffset","byteOffset","byteLength","encodeGLBSync","arrayBuffer","ArrayBuffer","dataView","DataView","_TypecheckGLBLoader"],"sources":["../../src/glb-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport type {GLB} from './lib/types/glb-types';\nimport type {GLBEncodeOptions} from './lib/encoders/encode-glb';\nimport {encodeGLBSync} from './lib/encoders/encode-glb';\nimport {VERSION} from './lib/utils/version';\n\nexport type GLBWriterOptions = WriterOptions & {\n glb?: GLBEncodeOptions;\n};\n\n/**\n * GLB exporter\n * GLB is the binary container format for GLTF\n */\nexport const GLBWriter: Writer<GLB, never, GLBWriterOptions> = {\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"],"mappings":";;;;;;AAKA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUO,IAAME,SAA+C,GAAG;EAC7DC,IAAI,EAAE,KAAK;EACXC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,MAAM;EACdC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,mBAAmB,CAAC;EAChCC,MAAM,EAAE,IAAI;EAEZC,UAAU,EAAVA,UAAU;EAEVC,OAAO,EAAE;IACPC,GAAG,EAAE,CAAC;EACR;AACF,CAAC;AAACC,OAAA,CAAAZ,SAAA,GAAAA,SAAA;AAEF,SAASS,UAAUA,CAACE,GAAG,EAAED,OAAO,EAAE;EAChC,IAAAG,mBAAA,GAAyBH,OAAO,CAAzBI,UAAU;IAAVA,UAAU,GAAAD,mBAAA,cAAG,CAAC,GAAAA,mBAAA;EAGrB,IAAME,UAAU,GAAG,IAAAC,wBAAa,EAACL,GAAG,EAAE,IAAI,EAAEG,UAAU,EAAEJ,OAAO,CAAC;EAChE,IAAMO,WAAW,GAAG,IAAIC,WAAW,CAACH,UAAU,CAAC;EAG/C,IAAMI,QAAQ,GAAG,IAAIC,QAAQ,CAACH,WAAW,CAAC;EAC1C,IAAAD,wBAAa,EAACL,GAAG,EAAEQ,QAAQ,EAAEL,UAAU,EAAEJ,OAAO,CAAC;EAEjD,OAAOO,WAAW;AACpB;AAGO,IAAMI,mBAA2B,GAAGrB,SAAS;AAACY,OAAA,CAAAS,mBAAA,GAAAA,mBAAA"}
@@ -29,8 +29,7 @@ var GLTFLoader = {
29
29
  normalize: true,
30
30
  loadBuffers: true,
31
31
  loadImages: true,
32
- decompressMeshes: true,
33
- postProcess: true
32
+ decompressMeshes: true
34
33
  },
35
34
  log: console
36
35
  },
@@ -40,7 +39,8 @@ var GLTFLoader = {
40
39
  decompress: 'gltf.decompressMeshes',
41
40
  postProcess: 'gltf.postProcess',
42
41
  gltf: {
43
- decompress: 'gltf.decompressMeshes'
42
+ decompress: 'gltf.decompressMeshes',
43
+ postProcess: 'removed in v4'
44
44
  }
45
45
  }
46
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-loader.js","names":["_version","require","_parseGltf","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","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","exports","_x","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","context","_options","_options$byteOffset","byteOffset","_args","wrap","_callee$","_context","prev","next","undefined","parseGLTF","abrupt","sent","stop"],"sources":["../../src/gltf-loader.ts"],"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"],"mappings":"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"}
1
+ {"version":3,"file":"gltf-loader.js","names":["_version","require","_parseGltf","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","GLTFLoader","name","id","module","version","VERSION","extensions","mimeTypes","text","binary","tests","parse","options","gltf","normalize","loadBuffers","loadImages","decompressMeshes","log","console","deprecatedOptions","fetchImages","createImages","decompress","postProcess","exports","_x","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","context","_options","_options$byteOffset","byteOffset","_args","wrap","_callee$","_context","prev","next","undefined","parseGLTF","abrupt","sent","stop"],"sources":["../../src/gltf-loader.ts"],"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 {ParseGLTFOptions} from './lib/parsers/parse-gltf';\nimport type {GLTFWithBuffers} from './lib/types/gltf-types';\nimport type {GLBLoaderOptions} from './glb-loader';\nimport {parseGLTF} from './lib/parsers/parse-gltf';\n\n/**\n * GLTF loader options\n */\nexport type GLTFLoaderOptions = LoaderOptions &\n ImageLoaderOptions &\n TextureLoaderOptions &\n GLBLoaderOptions &\n DracoLoaderOptions & {\n gltf?: ParseGLTFOptions;\n };\n\n/**\n * GLTF loader\n */\nexport const GLTFLoader: LoaderWithParser<GLTFWithBuffers, never, GLBLoaderOptions> = {\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 },\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 postProcess: 'removed in v4'\n }\n }\n};\n\nexport async function parse(\n arrayBuffer,\n options: GLTFLoaderOptions = {},\n context\n): Promise<GLTFWithBuffers> {\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"],"mappings":"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"}
package/dist/es5/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -25,7 +24,7 @@ Object.defineProperty(exports, "GLTFLoader", {
25
24
  Object.defineProperty(exports, "GLTFScenegraph", {
26
25
  enumerable: true,
27
26
  get: function get() {
28
- return _gltfScenegraph.default;
27
+ return _gltfScenegraph.GLTFScenegraph;
29
28
  }
30
29
  });
31
30
  Object.defineProperty(exports, "GLTFWriter", {
@@ -34,6 +33,12 @@ Object.defineProperty(exports, "GLTFWriter", {
34
33
  return _gltfWriter.GLTFWriter;
35
34
  }
36
35
  });
36
+ Object.defineProperty(exports, "_getMemoryUsageGLTF", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _gltfUtils.getMemoryUsageGLTF;
40
+ }
41
+ });
37
42
  Object.defineProperty(exports, "postProcessGLTF", {
38
43
  enumerable: true,
39
44
  get: function get() {
@@ -44,6 +49,7 @@ var _gltfLoader = require("./gltf-loader");
44
49
  var _gltfWriter = require("./gltf-writer");
45
50
  var _glbLoader = require("./glb-loader");
46
51
  var _glbWriter = require("./glb-writer");
47
- var _gltfScenegraph = _interopRequireDefault(require("./lib/api/gltf-scenegraph"));
52
+ var _gltfScenegraph = require("./lib/api/gltf-scenegraph");
48
53
  var _postProcessGltf = require("./lib/api/post-process-gltf");
54
+ var _gltfUtils = require("./lib/gltf-utils/gltf-utils");
49
55
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_gltfLoader","require","_gltfWriter","_glbLoader","_glbWriter","_gltfScenegraph","_interopRequireDefault","_postProcessGltf"],"sources":["../../src/index.ts"],"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 GLTFPostprocessed,\n GLTFAccessorPostprocessed,\n GLTFNodePostprocessed,\n GLTFMaterialPostprocessed,\n GLTFMeshPostprocessed,\n GLTFMeshPrimitivePostprocessed,\n GLTFImagePostprocessed,\n GLTFTexturePostprocessed,\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 GLTF_EXT_feature_metadata\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';\nexport type {Node, Accessor, Image} from './lib/types/gltf-postprocessed-schema';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAGA,IAAAI,eAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_gltfLoader","require","_gltfWriter","_glbLoader","_glbWriter","_gltfScenegraph","_postProcessGltf","_gltfUtils"],"sources":["../../src/index.ts"],"sourcesContent":["/* eslint-disable camelcase, indent */\nexport type {GLB} from './lib/types/glb-types';\n\n// Raw GLTF Types (i.e. not post-processed)\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 GLTFObject,\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 GLTF_EXT_feature_metadata,\n GLTF_EXT_feature_metadata_primitive,\n GLTF_EXT_feature_metadata_attribute,\n GLTF_EXT_mesh_features\n} from './lib/types/gltf-json-schema';\n\n// Postprocessed types (modified GLTF types)\nexport type {\n GLTFPostprocessed,\n GLTFAccessorPostprocessed,\n GLTFNodePostprocessed,\n GLTFMaterialPostprocessed,\n GLTFMeshPostprocessed,\n GLTFMeshPrimitivePostprocessed,\n GLTFImagePostprocessed,\n GLTFTexturePostprocessed\n} from './lib/types/gltf-postprocessed-schema';\n\nexport type {GLTFWithBuffers} 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 {GLTFScenegraph} from './lib/api/gltf-scenegraph';\nexport {postProcessGLTF} from './lib/api/post-process-gltf';\nexport {getMemoryUsageGLTF as _getMemoryUsageGLTF} from './lib/gltf-utils/gltf-utils';\n\n/** @deprecated */\n// export type {GLTFMesh as Mesh} from './lib/types/gltf-json-schema';\n/** @deprecated */\n// export type {GLTFNodePostprocessed as Node} from './lib/types/gltf-postprocessed-schema';\n/** @deprecated */\n// export type {GLTFAccessorPostprocessed as Accessor} from './lib/types/gltf-postprocessed-schema';\n// /** @deprecated */\n// export type {GLTFImagePostprocessed as Image} from './lib/types/gltf-postprocessed-schema';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAGA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAGA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-extensions.js","names":["EXT_meshopt_compression","_interopRequireWildcard","require","EXT_texture_webp","KHR_texture_basisu","KHR_draco_mesh_compression","KHR_texture_transform","KHR_lights_punctual","KHR_materials_unlit","KHR_techniques_webgl","EXT_feature_metadata","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","EXTENSIONS","exports","preprocessExtensions","gltf","options","arguments","undefined","context","extensions","filter","extension","useExtension","_iterator","_step","_extension$preprocess","preprocess","decodeExtensions","_x","_decodeExtensions","apply","_asyncToGenerator2","_regenerator","mark","_callee","_iterator2","_step2","_extension$decode","_args","wrap","_callee$","_context","prev","decode","t0","finish","stop","extensionName","_options$gltf","excludes","excludeExtensions","exclude"],"sources":["../../../../src/lib/api/gltf-extensions.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport {GLTF} from '../types/gltf-types';\nimport type {GLTFLoaderOptions} from '../../gltf-loader';\n\n// GLTF 1.0 extensions (decode only)\n// import * as KHR_binary_gltf from './KHR_draco_mesh_compression';\n\n// GLTF 2.0 Khronos extensions (decode/encode)\nimport * as EXT_meshopt_compression from '../extensions/EXT_meshopt_compression';\nimport * as EXT_texture_webp from '../extensions/EXT_texture_webp';\nimport * as KHR_texture_basisu from '../extensions/KHR_texture_basisu';\nimport * as KHR_draco_mesh_compression from '../extensions/KHR_draco_mesh_compression';\nimport * as KHR_texture_transform from '../extensions/KHR_texture_transform';\n\n// Deprecated. These should be handled by rendering library (e.g. luma.gl), not the loader.\nimport * as KHR_lights_punctual from '../extensions/deprecated/KHR_lights_punctual';\nimport * as KHR_materials_unlit from '../extensions/deprecated/KHR_materials_unlit';\nimport * as KHR_techniques_webgl from '../extensions/deprecated/KHR_techniques_webgl';\nimport * as EXT_feature_metadata from '../extensions/deprecated/EXT_feature_metadata';\n\n// Vendor extensions\n\ntype GLTFExtensionPlugin = {\n name: string;\n preprocess?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions, context) => void;\n decode?: (\n gltfData: {\n json: GLTF;\n buffers: {arrayBuffer: ArrayBuffer; byteOffset: number; byteLength: number}[];\n },\n options: GLTFLoaderOptions,\n context\n ) => Promise<void>;\n encode?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions) => void;\n};\n\n/**\n * List of extensions processed by the GLTFLoader\n * Note that may extensions can only be handled on the rendering stage and are left out here\n * These are just extensions that can be handled fully or partially during loading.\n */\nexport const EXTENSIONS: GLTFExtensionPlugin[] = [\n // 1.0\n // KHR_binary_gltf is handled separately - must be processed before other parsing starts\n // KHR_binary_gltf,\n\n // 2.0\n EXT_meshopt_compression,\n EXT_texture_webp,\n // Basisu should come after webp, we want basisu to be preferred if both are provided\n KHR_texture_basisu,\n KHR_draco_mesh_compression,\n KHR_lights_punctual,\n KHR_materials_unlit,\n KHR_techniques_webgl,\n KHR_texture_transform,\n EXT_feature_metadata\n];\n\n/** Call before any resource loading starts */\nexport function preprocessExtensions(gltf, options: GLTFLoaderOptions = {}, context?) {\n const extensions = EXTENSIONS.filter((extension) => useExtension(extension.name, options));\n for (const extension of extensions) {\n extension.preprocess?.(gltf, options, context);\n }\n}\n\n/** Call after resource loading */\nexport async function decodeExtensions(gltf, options: GLTFLoaderOptions = {}, context?) {\n const extensions = EXTENSIONS.filter((extension) => useExtension(extension.name, options));\n for (const extension of extensions) {\n // Note: We decode async extensions sequentially, this might not be necessary\n // Currently we only have Draco, but when we add Basis we may revisit\n await extension.decode?.(gltf, options, context);\n }\n}\n\nfunction useExtension(extensionName: string, options: GLTFLoaderOptions) {\n const excludes = options?.gltf?.excludeExtensions || {};\n const exclude = extensionName in excludes && !excludes[extensionName];\n return !exclude;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"gltf-extensions.js","names":["EXT_meshopt_compression","_interopRequireWildcard","require","EXT_texture_webp","KHR_texture_basisu","KHR_draco_mesh_compression","KHR_texture_transform","KHR_lights_punctual","KHR_materials_unlit","KHR_techniques_webgl","EXT_feature_metadata","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","return","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","arr","len","arr2","EXTENSIONS","exports","preprocessExtensions","gltf","options","arguments","undefined","context","extensions","filter","extension","useExtension","_iterator","_step","_extension$preprocess","preprocess","decodeExtensions","_x","_decodeExtensions","apply","_asyncToGenerator2","_regenerator","mark","_callee","_iterator2","_step2","_extension$decode","_args","wrap","_callee$","_context","prev","decode","t0","finish","stop","extensionName","_options$gltf","excludes","excludeExtensions","exclude"],"sources":["../../../../src/lib/api/gltf-extensions.ts"],"sourcesContent":["/* eslint-disable camelcase */\nimport {GLTF} from '../types/gltf-json-schema';\nimport type {GLTFLoaderOptions} from '../../gltf-loader';\n\n// GLTF 1.0 extensions (decode only)\n// import * as KHR_binary_gltf from './KHR_draco_mesh_compression';\n\n// GLTF 2.0 Khronos extensions (decode/encode)\nimport * as EXT_meshopt_compression from '../extensions/EXT_meshopt_compression';\nimport * as EXT_texture_webp from '../extensions/EXT_texture_webp';\nimport * as KHR_texture_basisu from '../extensions/KHR_texture_basisu';\nimport * as KHR_draco_mesh_compression from '../extensions/KHR_draco_mesh_compression';\nimport * as KHR_texture_transform from '../extensions/KHR_texture_transform';\n\n// Deprecated. These should be handled by rendering library (e.g. luma.gl), not the loader.\nimport * as KHR_lights_punctual from '../extensions/deprecated/KHR_lights_punctual';\nimport * as KHR_materials_unlit from '../extensions/deprecated/KHR_materials_unlit';\nimport * as KHR_techniques_webgl from '../extensions/deprecated/KHR_techniques_webgl';\nimport * as EXT_feature_metadata from '../extensions/deprecated/EXT_feature_metadata';\n\n// Vendor extensions\n\ntype GLTFExtensionPlugin = {\n name: string;\n preprocess?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions, context) => void;\n decode?: (\n gltfData: {\n json: GLTF;\n buffers: {arrayBuffer: ArrayBuffer; byteOffset: number; byteLength: number}[];\n },\n options: GLTFLoaderOptions,\n context\n ) => Promise<void>;\n encode?: (gltfData: {json: GLTF}, options: GLTFLoaderOptions) => void;\n};\n\n/**\n * List of extensions processed by the GLTFLoader\n * Note that may extensions can only be handled on the rendering stage and are left out here\n * These are just extensions that can be handled fully or partially during loading.\n */\nexport const EXTENSIONS: GLTFExtensionPlugin[] = [\n // 1.0\n // KHR_binary_gltf is handled separately - must be processed before other parsing starts\n // KHR_binary_gltf,\n\n // 2.0\n EXT_meshopt_compression,\n EXT_texture_webp,\n // Basisu should come after webp, we want basisu to be preferred if both are provided\n KHR_texture_basisu,\n KHR_draco_mesh_compression,\n KHR_lights_punctual,\n KHR_materials_unlit,\n KHR_techniques_webgl,\n KHR_texture_transform,\n EXT_feature_metadata\n];\n\n/** Call before any resource loading starts */\nexport function preprocessExtensions(gltf, options: GLTFLoaderOptions = {}, context?) {\n const extensions = EXTENSIONS.filter((extension) => useExtension(extension.name, options));\n for (const extension of extensions) {\n extension.preprocess?.(gltf, options, context);\n }\n}\n\n/** Call after resource loading */\nexport async function decodeExtensions(gltf, options: GLTFLoaderOptions = {}, context?) {\n const extensions = EXTENSIONS.filter((extension) => useExtension(extension.name, options));\n for (const extension of extensions) {\n // Note: We decode async extensions sequentially, this might not be necessary\n // Currently we only have Draco, but when we add Basis we may revisit\n await extension.decode?.(gltf, options, context);\n }\n}\n\nfunction useExtension(extensionName: string, options: GLTFLoaderOptions) {\n const excludes = options?.gltf?.excludeExtensions || {};\n const exclude = extensionName in excludes && !excludes[extensionName];\n return !exclude;\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports.GLTFScenegraph = void 0;
8
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -16,24 +16,28 @@ var _gltfUtils = require("../gltf-utils/gltf-utils");
16
16
  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; } } }; }
17
17
  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); }
18
18
  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; }
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
- var DEFAULT_GLTF_JSON = {
22
- asset: {
23
- version: '2.0',
24
- generator: 'loaders.gl'
25
- },
26
- buffers: []
27
- };
19
+ function makeDefaultGLTFJson() {
20
+ return {
21
+ asset: {
22
+ version: '2.0',
23
+ generator: 'loaders.gl'
24
+ },
25
+ buffers: [],
26
+ extensions: {},
27
+ extensionsRequired: [],
28
+ extensionsUsed: []
29
+ };
30
+ }
28
31
  var GLTFScenegraph = function () {
29
32
  function GLTFScenegraph(gltf) {
30
33
  (0, _classCallCheck2.default)(this, GLTFScenegraph);
31
34
  (0, _defineProperty2.default)(this, "gltf", void 0);
32
35
  (0, _defineProperty2.default)(this, "sourceBuffers", void 0);
33
36
  (0, _defineProperty2.default)(this, "byteLength", void 0);
34
- this.gltf = gltf || {
35
- json: _objectSpread({}, DEFAULT_GLTF_JSON),
36
- buffers: []
37
+ this.gltf = {
38
+ json: (gltf === null || gltf === void 0 ? void 0 : gltf.json) || makeDefaultGLTFJson(),
39
+ buffers: (gltf === null || gltf === void 0 ? void 0 : gltf.buffers) || [],
40
+ images: (gltf === null || gltf === void 0 ? void 0 : gltf.images) || []
37
41
  };
38
42
  this.sourceBuffers = [];
39
43
  this.byteLength = 0;
@@ -59,6 +63,17 @@ var GLTFScenegraph = function () {
59
63
  var extras = this.json.extras || {};
60
64
  return extras[key];
61
65
  }
66
+ }, {
67
+ key: "hasExtension",
68
+ value: function hasExtension(extensionName) {
69
+ var isUsedExtension = this.getUsedExtensions().find(function (name) {
70
+ return name === extensionName;
71
+ });
72
+ var isRequiredExtension = this.getRequiredExtensions().find(function (name) {
73
+ return name === extensionName;
74
+ });
75
+ return typeof isUsedExtension === 'string' || typeof isRequiredExtension === 'string';
76
+ }
62
77
  }, {
63
78
  key: "getExtension",
64
79
  value: function getExtension(extensionName) {
@@ -66,7 +81,7 @@ var GLTFScenegraph = function () {
66
81
  return name === extensionName;
67
82
  });
68
83
  var extensions = this.json.extensions || {};
69
- return isExtension ? extensions[extensionName] || true : null;
84
+ return isExtension ? extensions[extensionName] : null;
70
85
  }
71
86
  }, {
72
87
  key: "getRequiredExtension",
@@ -227,10 +242,15 @@ var GLTFScenegraph = function () {
227
242
  }, {
228
243
  key: "removeObjectExtension",
229
244
  value: function removeObjectExtension(object, extensionName) {
230
- var extensions = object.extensions || {};
231
- var extension = extensions[extensionName];
245
+ var extensions = (object === null || object === void 0 ? void 0 : object.extensions) || {};
246
+ if (extensions[extensionName]) {
247
+ this.json.extensionsRemoved = this.json.extensionsRemoved || [];
248
+ var extensionsRemoved = this.json.extensionsRemoved;
249
+ if (!extensionsRemoved.includes(extensionName)) {
250
+ extensionsRemoved.push(extensionName);
251
+ }
252
+ }
232
253
  delete extensions[extensionName];
233
- return extension;
234
254
  }
235
255
  }, {
236
256
  key: "addExtension",
@@ -275,8 +295,16 @@ var GLTFScenegraph = function () {
275
295
  }, {
276
296
  key: "removeExtension",
277
297
  value: function removeExtension(extensionName) {
278
- if (!this.getExtension(extensionName)) {
279
- return;
298
+ var _this$json$extensions;
299
+ if ((_this$json$extensions = this.json.extensions) !== null && _this$json$extensions !== void 0 && _this$json$extensions[extensionName]) {
300
+ this.json.extensionsRemoved = this.json.extensionsRemoved || [];
301
+ var extensionsRemoved = this.json.extensionsRemoved;
302
+ if (!extensionsRemoved.includes(extensionName)) {
303
+ extensionsRemoved.push(extensionName);
304
+ }
305
+ }
306
+ if (this.json.extensions) {
307
+ delete this.json.extensions[extensionName];
280
308
  }
281
309
  if (this.json.extensionsRequired) {
282
310
  this._removeStringFromArray(this.json.extensionsRequired, extensionName);
@@ -284,16 +312,6 @@ var GLTFScenegraph = function () {
284
312
  if (this.json.extensionsUsed) {
285
313
  this._removeStringFromArray(this.json.extensionsUsed, extensionName);
286
314
  }
287
- if (this.json.extensions) {
288
- delete this.json.extensions[extensionName];
289
- }
290
- if (!Array.isArray(this.json.extensionsRemoved)) {
291
- this.json.extensionsRemoved = [];
292
- }
293
- var extensionsRemoved = this.json.extensionsRemoved;
294
- if (!extensionsRemoved.includes(extensionName)) {
295
- extensionsRemoved.push(extensionName);
296
- }
297
315
  }
298
316
  }, {
299
317
  key: "setDefaultScene",
@@ -382,13 +400,15 @@ var GLTFScenegraph = function () {
382
400
  }, {
383
401
  key: "addBufferView",
384
402
  value: function addBufferView(buffer) {
403
+ var bufferIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
404
+ var byteOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.byteLength;
385
405
  var byteLength = buffer.byteLength;
386
406
  (0, _assert.assert)(Number.isFinite(byteLength));
387
407
  this.sourceBuffers = this.sourceBuffers || [];
388
408
  this.sourceBuffers.push(buffer);
389
409
  var glTFBufferView = {
390
- buffer: 0,
391
- byteOffset: this.byteLength,
410
+ buffer: bufferIndex,
411
+ byteOffset: byteOffset,
392
412
  byteLength: byteLength
393
413
  };
394
414
  this.byteLength += (0, _loaderUtils.padToNBytes)(byteLength, 4);
@@ -574,5 +594,5 @@ var GLTFScenegraph = function () {
574
594
  }]);
575
595
  return GLTFScenegraph;
576
596
  }();
577
- exports.default = GLTFScenegraph;
597
+ exports.GLTFScenegraph = GLTFScenegraph;
578
598
  //# sourceMappingURL=gltf-scenegraph.js.map