@loaders.gl/gltf 4.4.0-alpha.1 → 4.4.0-alpha.10

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 (106) hide show
  1. package/dist/dist.dev.js +185 -68
  2. package/dist/dist.min.js +1 -1
  3. package/dist/glb-loader.d.ts +9 -6
  4. package/dist/glb-loader.d.ts.map +1 -1
  5. package/dist/glb-loader.js +2 -2
  6. package/dist/glb-loader.js.map +1 -0
  7. package/dist/glb-writer.js +1 -0
  8. package/dist/glb-writer.js.map +1 -0
  9. package/dist/gltf-loader.d.ts +2 -3
  10. package/dist/gltf-loader.d.ts.map +1 -1
  11. package/dist/gltf-loader.js +6 -8
  12. package/dist/gltf-loader.js.map +1 -0
  13. package/dist/gltf-writer.js +1 -0
  14. package/dist/gltf-writer.js.map +1 -0
  15. package/dist/index.cjs +78 -51
  16. package/dist/index.cjs.map +4 -4
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/lib/api/gltf-extensions.js +1 -0
  20. package/dist/lib/api/gltf-extensions.js.map +1 -0
  21. package/dist/lib/api/gltf-scenegraph.js +1 -0
  22. package/dist/lib/api/gltf-scenegraph.js.map +1 -0
  23. package/dist/lib/api/normalize-gltf-v1.js +1 -0
  24. package/dist/lib/api/normalize-gltf-v1.js.map +1 -0
  25. package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
  26. package/dist/lib/api/post-process-gltf.js +3 -1
  27. package/dist/lib/api/post-process-gltf.js.map +1 -0
  28. package/dist/lib/encoders/encode-glb.js +1 -0
  29. package/dist/lib/encoders/encode-glb.js.map +1 -0
  30. package/dist/lib/encoders/encode-gltf.js +1 -0
  31. package/dist/lib/encoders/encode-gltf.js.map +1 -0
  32. package/dist/lib/extensions/EXT_mesh_features.js +1 -0
  33. package/dist/lib/extensions/EXT_mesh_features.js.map +1 -0
  34. package/dist/lib/extensions/EXT_meshopt_compression.js +1 -0
  35. package/dist/lib/extensions/EXT_meshopt_compression.js.map +1 -0
  36. package/dist/lib/extensions/EXT_structural_metadata.d.ts.map +1 -1
  37. package/dist/lib/extensions/EXT_structural_metadata.js +3 -1
  38. package/dist/lib/extensions/EXT_structural_metadata.js.map +1 -0
  39. package/dist/lib/extensions/EXT_texture_webp.js +1 -0
  40. package/dist/lib/extensions/EXT_texture_webp.js.map +1 -0
  41. package/dist/lib/extensions/KHR_binary_gltf.js +1 -0
  42. package/dist/lib/extensions/KHR_binary_gltf.js.map +1 -0
  43. package/dist/lib/extensions/KHR_draco_mesh_compression.js +1 -0
  44. package/dist/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
  45. package/dist/lib/extensions/KHR_texture_basisu.js +1 -0
  46. package/dist/lib/extensions/KHR_texture_basisu.js.map +1 -0
  47. package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -1
  48. package/dist/lib/extensions/KHR_texture_transform.js +36 -14
  49. package/dist/lib/extensions/KHR_texture_transform.js.map +1 -0
  50. package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +1 -0
  51. package/dist/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
  52. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +1 -0
  53. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
  54. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +1 -0
  55. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
  56. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +1 -0
  57. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
  58. package/dist/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -1
  59. package/dist/lib/extensions/utils/3d-tiles-utils.js +3 -1
  60. package/dist/lib/extensions/utils/3d-tiles-utils.js.map +1 -0
  61. package/dist/lib/gltf-utils/get-typed-array.js +1 -0
  62. package/dist/lib/gltf-utils/get-typed-array.js.map +1 -0
  63. package/dist/lib/gltf-utils/gltf-attribute-utils.js +1 -0
  64. package/dist/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
  65. package/dist/lib/gltf-utils/gltf-constants.js +1 -0
  66. package/dist/lib/gltf-utils/gltf-constants.js.map +1 -0
  67. package/dist/lib/gltf-utils/gltf-utils.js +1 -0
  68. package/dist/lib/gltf-utils/gltf-utils.js.map +1 -0
  69. package/dist/lib/gltf-utils/resolve-url.js +2 -1
  70. package/dist/lib/gltf-utils/resolve-url.js.map +1 -0
  71. package/dist/lib/parsers/parse-glb.js +1 -0
  72. package/dist/lib/parsers/parse-glb.js.map +1 -0
  73. package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
  74. package/dist/lib/parsers/parse-gltf.js +11 -8
  75. package/dist/lib/parsers/parse-gltf.js.map +1 -0
  76. package/dist/lib/types/glb-types.js +1 -0
  77. package/dist/lib/types/glb-types.js.map +1 -0
  78. package/dist/lib/types/gltf-ext-feature-metadata-schema.js +1 -0
  79. package/dist/lib/types/gltf-ext-feature-metadata-schema.js.map +1 -0
  80. package/dist/lib/types/gltf-ext-mesh-features-schema.js +1 -0
  81. package/dist/lib/types/gltf-ext-mesh-features-schema.js.map +1 -0
  82. package/dist/lib/types/gltf-ext-structural-metadata-schema.js +1 -0
  83. package/dist/lib/types/gltf-ext-structural-metadata-schema.js.map +1 -0
  84. package/dist/lib/types/gltf-json-schema.js +1 -0
  85. package/dist/lib/types/gltf-json-schema.js.map +1 -0
  86. package/dist/lib/types/gltf-postprocessed-schema.js +1 -0
  87. package/dist/lib/types/gltf-postprocessed-schema.js.map +1 -0
  88. package/dist/lib/types/gltf-types.js +1 -0
  89. package/dist/lib/types/gltf-types.js.map +1 -0
  90. package/dist/lib/utils/assert.js +1 -0
  91. package/dist/lib/utils/assert.js.map +1 -0
  92. package/dist/lib/utils/version.js +2 -1
  93. package/dist/lib/utils/version.js.map +1 -0
  94. package/dist/meshopt/meshopt-decoder.js +1 -0
  95. package/dist/meshopt/meshopt-decoder.js.map +1 -0
  96. package/dist/webp/webp.js +1 -0
  97. package/dist/webp/webp.js.map +1 -0
  98. package/package.json +8 -8
  99. package/src/glb-loader.ts +10 -8
  100. package/src/gltf-loader.ts +8 -12
  101. package/src/lib/api/post-process-gltf.ts +3 -2
  102. package/src/lib/extensions/EXT_structural_metadata.ts +2 -1
  103. package/src/lib/extensions/KHR_texture_transform.ts +41 -17
  104. package/src/lib/extensions/utils/3d-tiles-utils.ts +2 -1
  105. package/src/lib/gltf-utils/resolve-url.ts +1 -1
  106. package/src/lib/parsers/parse-gltf.ts +14 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-typed-array.js","sourceRoot":"","sources":["../../../src/lib/gltf-utils/get-typed-array.ts"],"names":[],"mappings":"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"}
@@ -66,3 +66,4 @@ function toTypedArray(array, ArrayType, convertTypedArrays = false) {
66
66
  }
67
67
  return array;
68
68
  }
69
+ //# sourceMappingURL=gltf-attribute-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-attribute-utils.js","sourceRoot":"","sources":["../../../src/lib/gltf-utils/gltf-attribute-utils.ts"],"names":[],"mappings":"AAEA,gBAAgB;AAChB,OAAO,EAAC,uBAAuB,EAAE,yBAAyB,EAAC,wBAAqB;AAEhF,4EAA4E;AAC5E,4DAA4D;AAC5D,sFAAsF;AACtF,MAAM,UAAU,gBAAgB,CAAC,UAAU;IACzC,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAChD,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,4BAA4B;AAC5B,kDAAkD;AAClD,0BAA0B;AAC1B,MAAM,UAAU,eAAe,CAAC,SAAS;IACvC,MAAM,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAiB;QACjC,uBAAuB;QACvB,mFAAmF;QACnF,oBAAoB;QACpB,kDAAkD;QAClD,aAAa;QACb,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,+BAA+B;QAErC,UAAU,EAAE,CAAC;QACb,KAAK;QACL,IAAI,EAAE,uBAAuB,CAAC,IAAI,CAAC;QACnC,aAAa,EAAE,yBAAyB,CAAC,MAAM,CAAC;KACjD,CAAC;IAEF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,4EAA4E;AAC5E,sEAAsE;AACtE,IAAI;AAEJ,SAAS,eAAe,CAAC,SAAS;IAChC,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,IAAI,SAAS,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC;QACzB,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;AAC/B,CAAC;AAED,yDAAyD;AACzD,SAAS,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,kBAAkB,GAAG,KAAK;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,kBAAkB,IAAI,CAAC,CAAC,KAAK,YAAY,SAAS,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -35,3 +35,4 @@ export function getGLEnumFromSamplerParameter(parameter) {
35
35
  };
36
36
  return PARAMETER_MAP[parameter];
37
37
  }
38
+ //# sourceMappingURL=gltf-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-constants.js","sourceRoot":"","sources":["../../../src/lib/gltf-utils/gltf-constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,CAAC,EAAE,OAAO;IAChB,IAAI,EAAE,CAAC,EAAE,gBAAgB;IACzB,IAAI,EAAE,CAAC,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,EAAE,iBAAiB;IAC1B,IAAI,EAAE,CAAC,EAAE,eAAe;IACxB,IAAI,EAAE,CAAC,CAAC,QAAQ;CACjB,CAAC;AAEF,cAAc;AAEd,MAAM,UAAU,yBAAyB,CAAC,aAAa;IACrD,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAI;IAC1C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,SAAS;IACrD,MAAM,qBAAqB,GAAG,MAAM,CAAC;IACrC,MAAM,qBAAqB,GAAG,MAAM,CAAC;IACrC,MAAM,iBAAiB,GAAG,MAAM,CAAC;IACjC,MAAM,iBAAiB,GAAG,MAAM,CAAC;IAEjC,MAAM,aAAa,GAAG;QACpB,SAAS,EAAE,qBAAqB;QAChC,SAAS,EAAE,qBAAqB;QAChC,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,iBAAiB;KACzB,CAAC;IAEF,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
@@ -84,3 +84,4 @@ export function getMemoryUsageGLTF(gltf) {
84
84
  }, 0);
85
85
  return bufferMemory + Math.ceil(4 * pixelCount * MIPMAP_FACTOR);
86
86
  }
87
+ //# sourceMappingURL=gltf-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-utils.js","sourceRoot":"","sources":["../../../src/lib/gltf-utils/gltf-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,2BAAwB;AAGvC,OAAO,EAAC,KAAK,EAAE,UAAU,EAAC,wCAAqC;AAE/D;;;GAGG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAYjD,MAAM,mCAAmC,GAAsC;IAC7E,CAAC,SAAS,EAAE,IAAI,CAAC;IACjB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,WAAW,EAAE,IAAI,CAAC;IACnB,CAAC,WAAW,EAAE,IAAI,CAAC;IACnB,CAAC,YAAY,EAAE,IAAI,CAAC;IACpB,CAAC,YAAY,EAAE,IAAI,CAAC;CACrB,CAAC;AACF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CACrC,mCAAmC,CACpC,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACnC,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,qCAAqC,GAAG;IAC5C,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,iCAAiC,GAAG;IACxC,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,YAAY;CACnB,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,IAAI;IAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAC7B,OAAO,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAU;IAClD,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,QAAQ,EAAE,UAAU;IAChE,MAAM,SAAS,GAAG,iCAAiC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,iBAAiB,GAAG,qCAAqC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,GAAG,UAAU,CAAC;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,GAAG,UAAU,GAAG,iBAAiB,CAAC;IACnE,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,2BAA2B,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,2BAA2B,EAAC,CAAC;AACzF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACxD,IAAI,EAAC,MAAM,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC;IACjC,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;IACtB,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;IAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACzD,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAW,CAAC,CAAC,CAAC;IAEpF,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAEjF,6EAA6E;IAC7E,4CAA4C;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9C,aAAa;QACb,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAI,KAAa,CAAC,KAAK,CAAC;QAC7C,OAAO,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9B,CAAC,EAAE,CAAC,CAAC,CAAC;IACN,OAAO,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAClE,CAAC"}
@@ -6,9 +6,10 @@ export function resolveUrl(url, options) {
6
6
  if (absolute) {
7
7
  return url;
8
8
  }
9
- const baseUrl = options.baseUri || options.uri;
9
+ const baseUrl = options?.core?.baseUri || options.baseUri || options.uri;
10
10
  if (!baseUrl) {
11
11
  throw new Error(`'baseUri' must be provided to resolve relative url ${url}`);
12
12
  }
13
13
  return baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1) + url;
14
14
  }
15
+ //# sourceMappingURL=resolve-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-url.js","sourceRoot":"","sources":["../../../src/lib/gltf-utils/resolve-url.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,GAAG,EAAE,OAAO;IACrC,wEAAwE;IACxE,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAChG,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC/D,CAAC"}
@@ -159,3 +159,4 @@ function parseBINChunk(glb, dataView, byteOffset, chunkLength) {
159
159
  });
160
160
  return padToNBytes(chunkLength, 4);
161
161
  }
162
+ //# sourceMappingURL=parse-glb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-glb.js","sourceRoot":"","sources":["../../../src/lib/parsers/parse-glb.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-gltf.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-gltf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAC,iBAAiB,EAAC,6BAA0B;AACzD,OAAO,KAAK,EAAC,eAAe,EAAC,+BAA4B;AAEzD,OAAO,KAAK,EAAC,eAAe,EAAC,uBAAoB;AAcjD,OAAO;AACP,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,6FAA6F;IAC7F,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAGpF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,eAAe,EACrB,mBAAmB,KAAA,EACnB,UAAU,oBAAI,EACd,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,eAAe,CAAC,CAqB1B"}
1
+ {"version":3,"file":"parse-gltf.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-gltf.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAsB,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAC,iBAAiB,EAAC,6BAA0B;AACzD,OAAO,KAAK,EAAC,eAAe,EAAC,+BAA4B;AAEzD,OAAO,KAAK,EAAC,eAAe,EAAC,uBAAoB;AAcjD,OAAO;AACP,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,6FAA6F;IAC7F,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC;AAEF,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAGpF;AAED,wBAAsB,SAAS,CAC7B,IAAI,EAAE,eAAe,EACrB,mBAAmB,KAAA,EACnB,UAAU,oBAAI,EACd,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,eAAe,CAAC,CAqB1B"}
@@ -37,11 +37,11 @@ export async function parseGLTF(gltf, arrayBufferOrString, byteOffset = 0, optio
37
37
  */
38
38
  function parseGLTFContainerSync(gltf, data, byteOffset, options) {
39
39
  // Initialize gltf container
40
- if (options.uri) {
41
- gltf.baseUri = options.uri;
40
+ if (options.core?.baseUri) {
41
+ gltf.baseUri = options.core?.baseUri;
42
42
  }
43
43
  // If data is binary and starting with magic bytes, assume binary JSON text, convert to string
44
- if (data instanceof ArrayBuffer && !isGLB(data, byteOffset, options)) {
44
+ if (data instanceof ArrayBuffer && !isGLB(data, byteOffset, options.glb)) {
45
45
  const textDecoder = new TextDecoder();
46
46
  data = textDecoder.decode(data);
47
47
  }
@@ -155,12 +155,14 @@ async function loadImage(gltf, image, index, options, context) {
155
155
  arrayBuffer = sliceArrayBuffer(array.buffer, array.byteOffset, array.byteLength);
156
156
  }
157
157
  assert(arrayBuffer, 'glTF image has no data');
158
+ const strictOptions = options;
159
+ const gltfOptions = {
160
+ ...strictOptions,
161
+ core: { ...strictOptions?.core, mimeType: image.mimeType },
162
+ basis: strictOptions.basis || { format: selectSupportedBasisFormat() }
163
+ };
158
164
  // Call `parse`
159
- let parsedImage = (await parseFromContext(arrayBuffer, [ImageLoader, BasisLoader], {
160
- ...options,
161
- mimeType: image.mimeType,
162
- basis: options.basis || { format: selectSupportedBasisFormat() }
163
- }, context));
165
+ let parsedImage = (await parseFromContext(arrayBuffer, [ImageLoader, BasisLoader], gltfOptions, context));
164
166
  if (parsedImage && parsedImage[0]) {
165
167
  parsedImage = {
166
168
  compressed: true,
@@ -178,3 +180,4 @@ async function loadImage(gltf, image, index, options, context) {
178
180
  // @ts-expect-error TODO - sort out image typing asap
179
181
  gltf.images[index] = parsedImage;
180
182
  }
183
+ //# sourceMappingURL=parse-gltf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-gltf.js","sourceRoot":"","sources":["../../../src/lib/parsers/parse-gltf.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=glb-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glb-types.js","sourceRoot":"","sources":["../../../src/lib/types/glb-types.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=gltf-ext-feature-metadata-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-ext-feature-metadata-schema.js","sourceRoot":"","sources":["../../../src/lib/types/gltf-ext-feature-metadata-schema.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=gltf-ext-mesh-features-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-ext-mesh-features-schema.js","sourceRoot":"","sources":["../../../src/lib/types/gltf-ext-mesh-features-schema.ts"],"names":[],"mappings":""}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=gltf-ext-structural-metadata-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-ext-structural-metadata-schema.js","sourceRoot":"","sources":["../../../src/lib/types/gltf-ext-structural-metadata-schema.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
1
  // Types forked from https://github.com/bwasty/gltf-loader-ts under MIT license
2
2
  // Generated from official JSON schema using `npm run generate-interface` on 2018-02-24
3
3
  export {};
4
+ //# sourceMappingURL=gltf-json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-json-schema.js","sourceRoot":"","sources":["../../../src/lib/types/gltf-json-schema.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uFAAuF"}
@@ -1,3 +1,4 @@
1
1
  // Types forked from https://github.com/bwasty/gltf-loader-ts under MIT license
2
2
  // Generated from official JSON schema using `npm run generate-type` = on 2018-02-24
3
3
  export {};
4
+ //# sourceMappingURL=gltf-postprocessed-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-postprocessed-schema.js","sourceRoot":"","sources":["../../../src/lib/types/gltf-postprocessed-schema.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,oFAAoF"}
@@ -1,2 +1,3 @@
1
1
  /* eslint-disable camelcase */
2
2
  export {};
3
+ //# sourceMappingURL=gltf-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gltf-types.js","sourceRoot":"","sources":["../../../src/lib/types/gltf-types.ts"],"names":[],"mappings":"AAAA,8BAA8B"}
@@ -6,3 +6,4 @@ export function assert(condition, message) {
6
6
  throw new Error(message || 'assert failed: gltf');
7
7
  }
8
8
  }
9
+ //# sourceMappingURL=assert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/lib/utils/assert.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,oEAAoE;AACpE,gCAAgC;AAChC,MAAM,UAAU,MAAM,CAAC,SAAkB,EAAE,OAAgB;IACzD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  // Version constant cannot be imported, it needs to correspond to the build version of **this** module.
2
2
  // __VERSION__ is injected by babel-plugin-version-inline
3
3
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
4
- export const VERSION = typeof "4.4.0-alpha.0" !== 'undefined' ? "4.4.0-alpha.0" : 'latest';
4
+ export const VERSION = typeof "4.4.0-alpha.10" !== 'undefined' ? "4.4.0-alpha.10" : 'latest';
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/lib/utils/version.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,CAAC,MAAM,OAAO,GAAG,uBAAkB,KAAK,WAAW,CAAC,CAAC,kBAAa,CAAC,CAAC,QAAQ,CAAC"}
@@ -108,3 +108,4 @@ function decode(instance, fun, target, count, size, source, filter) {
108
108
  throw new Error(`Malformed buffer data: ${res}`);
109
109
  }
110
110
  }
111
+ //# sourceMappingURL=meshopt-decoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meshopt-decoder.js","sourceRoot":"","sources":["../../src/meshopt/meshopt-decoder.ts"],"names":[],"mappings":"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"}
package/dist/webp/webp.js CHANGED
@@ -32,3 +32,4 @@ async function checkWebPFeature(feature) {
32
32
  img.src = `data:image/webp;base64,${WEBP_TEST_IMAGES[feature]}`;
33
33
  });
34
34
  }
35
+ //# sourceMappingURL=webp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webp.js","sourceRoot":"","sources":["../../src/webp/webp.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;IACvB,KAAK,EAAE,0DAA0D;IACjE,QAAQ,EAAE,kDAAkD;IAC5D,KAAK,EACH,kHAAkH;IACpH,SAAS,EACP,0HAA0H;CAC7H,CAAC;AAIF,MAAM,aAAa,GAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAEjF;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAA0B,aAAa;IAC3E,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,gBAAgB,CAAC,OAAoB;IAClD,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5D,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,GAAG,CAAC,GAAG,GAAG,0BAA0B,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/gltf",
3
- "version": "4.4.0-alpha.1",
3
+ "version": "4.4.0-alpha.10",
4
4
  "description": "Framework-independent loader for the glTF format",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -43,15 +43,15 @@
43
43
  "build-bundle-dev": "ocular-bundle ./bundle.ts --env=dev --output=dist/dist.dev.js"
44
44
  },
45
45
  "dependencies": {
46
- "@loaders.gl/draco": "4.4.0-alpha.1",
47
- "@loaders.gl/images": "4.4.0-alpha.1",
48
- "@loaders.gl/loader-utils": "4.4.0-alpha.1",
49
- "@loaders.gl/schema": "4.4.0-alpha.1",
50
- "@loaders.gl/textures": "4.4.0-alpha.1",
46
+ "@loaders.gl/draco": "4.4.0-alpha.10",
47
+ "@loaders.gl/images": "4.4.0-alpha.10",
48
+ "@loaders.gl/loader-utils": "4.4.0-alpha.10",
49
+ "@loaders.gl/schema": "4.4.0-alpha.10",
50
+ "@loaders.gl/textures": "4.4.0-alpha.10",
51
51
  "@math.gl/core": "^4.1.0"
52
52
  },
53
53
  "peerDependencies": {
54
- "@loaders.gl/core": "4.4.0-alpha.0"
54
+ "@loaders.gl/core": "4.4.0-alpha.1"
55
55
  },
56
- "gitHead": "f1732de45907bd500bf4eedb4803beca8bf4bfb0"
56
+ "gitHead": "7b4dc3fdbaed20a2597c70c57efdcda5c404147f"
57
57
  }
package/src/glb-loader.ts CHANGED
@@ -1,15 +1,18 @@
1
- import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
1
+ import type {LoaderWithParser, StrictLoaderOptions} from '@loaders.gl/loader-utils';
2
2
  import type {GLB} from './lib/types/glb-types';
3
3
  import type {ParseGLBOptions} from './lib/parsers/parse-glb';
4
4
  import {VERSION} from './lib/utils/version';
5
5
  import {parseGLBSync} from './lib/parsers/parse-glb';
6
6
 
7
7
  /** GLB loader options */
8
- export type GLBLoaderOptions = LoaderOptions & {
9
- /** GLB Parser Options */
10
- glb?: ParseGLBOptions;
11
- /** GLB specific: byteOffset to start parsing from */
12
- byteOffset?: number;
8
+ export type GLBLoaderOptions = StrictLoaderOptions & {
9
+ glb?: {
10
+ /** GLB Parser Options */
11
+ glb?: ParseGLBOptions;
12
+ /** GLB specific: byteOffset to start parsing from */
13
+ byteOffset?: number;
14
+ strict?: boolean;
15
+ };
13
16
  };
14
17
 
15
18
  /**
@@ -40,8 +43,7 @@ async function parse(arrayBuffer: ArrayBuffer, options?: GLBLoaderOptions): Prom
40
43
  }
41
44
 
42
45
  function parseSync(arrayBuffer: ArrayBuffer, options?: GLBLoaderOptions): GLB {
43
- const {byteOffset = 0} = options || {};
44
46
  const glb: GLB = {} as GLB;
45
- parseGLBSync(glb, arrayBuffer, byteOffset, options?.glb);
47
+ parseGLBSync(glb, arrayBuffer, options?.glb?.byteOffset || 0, options?.glb);
46
48
  return glb;
47
49
  }
@@ -1,4 +1,4 @@
1
- import type {LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';
1
+ import type {LoaderWithParser, StrictLoaderOptions} from '@loaders.gl/loader-utils';
2
2
  import type {DracoLoaderOptions} from '@loaders.gl/draco';
3
3
  import {VERSION} from './lib/utils/version';
4
4
  import type {ImageLoaderOptions} from '@loaders.gl/images';
@@ -11,7 +11,7 @@ import {parseGLTF} from './lib/parsers/parse-gltf';
11
11
  /**
12
12
  * GLTF loader options
13
13
  */
14
- export type GLTFLoaderOptions = LoaderOptions &
14
+ export type GLTFLoaderOptions = StrictLoaderOptions &
15
15
  ImageLoaderOptions &
16
16
  TextureLoaderOptions &
17
17
  GLBLoaderOptions &
@@ -43,12 +43,9 @@ export const GLTFLoader = {
43
43
  loadBuffers: true, // Fetch any linked .BIN buffers, decode base64
44
44
  loadImages: true, // Create image objects
45
45
  decompressMeshes: true // Decompress Draco encoded meshes
46
- },
47
-
48
- // common?
49
- log: console // eslint-disable-line
46
+ }
50
47
  }
51
- } as const satisfies LoaderWithParser<GLTFWithBuffers, never, GLBLoaderOptions>;
48
+ } as const satisfies LoaderWithParser<GLTFWithBuffers, never, GLTFLoaderOptions>;
52
49
 
53
50
  export async function parse(
54
51
  arrayBuffer,
@@ -56,11 +53,10 @@ export async function parse(
56
53
  context
57
54
  ): Promise<GLTFWithBuffers> {
58
55
  // Apps can call the parse method directly, we so apply default options here
59
- options = {...GLTFLoader.options, ...options};
60
- // @ts-ignore
61
- options.gltf = {...GLTFLoader.options.gltf, ...options.gltf};
56
+ const mergedOptions = {...GLTFLoader.options, ...options};
57
+ mergedOptions.gltf = {...GLTFLoader.options.gltf, ...mergedOptions.gltf};
62
58
 
63
- const {byteOffset = 0} = options;
59
+ const byteOffset = options?.glb?.byteOffset || 0;
64
60
  const gltf = {};
65
- return await parseGLTF(gltf as GLTFWithBuffers, arrayBuffer, byteOffset, options, context);
61
+ return await parseGLTF(gltf as GLTFWithBuffers, arrayBuffer, byteOffset, mergedOptions, context);
66
62
  }
@@ -39,6 +39,7 @@ import type {
39
39
 
40
40
  import {assert} from '../utils/assert';
41
41
  import {getAccessorArrayTypeAndLength} from '../gltf-utils/gltf-utils';
42
+ import {copyToArrayBuffer} from '@loaders.gl/loader-utils';
42
43
 
43
44
  // This is a post processor for loaded glTF files
44
45
  // The goal is to make the loaded data easier to use in WebGL applications
@@ -413,7 +414,7 @@ class GLTFPostProcessor {
413
414
  const {ArrayType, byteLength} = getAccessorArrayTypeAndLength(accessor, accessor.bufferView);
414
415
  const byteOffset =
415
416
  (accessor.bufferView.byteOffset || 0) + (accessor.byteOffset || 0) + buffer.byteOffset;
416
- let cutBuffer = buffer.arrayBuffer.slice(byteOffset, byteOffset + byteLength);
417
+ let cutBuffer = copyToArrayBuffer(buffer.arrayBuffer, byteOffset, byteLength);
417
418
  if (accessor.bufferView.byteStride) {
418
419
  cutBuffer = this._getValueFromInterleavedBuffer(
419
420
  buffer,
@@ -445,7 +446,7 @@ class GLTFPostProcessor {
445
446
  byteStride: number,
446
447
  bytesPerElement: number,
447
448
  count: number
448
- ): ArrayBufferLike {
449
+ ): ArrayBuffer {
449
450
  const result = new Uint8Array(count * bytesPerElement);
450
451
  for (let i = 0; i < count; i++) {
451
452
  const elementOffset = byteOffset + i * byteStride;
@@ -30,6 +30,7 @@ import {
30
30
  parseFixedLengthArrayNumeric,
31
31
  getPropertyDataString
32
32
  } from './utils/3d-tiles-utils';
33
+ import {ensureArrayBuffer} from '@loaders.gl/loader-utils';
33
34
 
34
35
  const EXT_STRUCTURAL_METADATA_NAME = 'EXT_structural_metadata';
35
36
  export const name = EXT_STRUCTURAL_METADATA_NAME;
@@ -926,7 +927,7 @@ function createPropertyDataString(strings: string[]): {
926
927
 
927
928
  function createBufferView(typedArray: TypedArray, scenegraph: GLTFScenegraph): number {
928
929
  scenegraph.gltf.buffers.push({
929
- arrayBuffer: typedArray.buffer,
930
+ arrayBuffer: ensureArrayBuffer(typedArray.buffer),
930
931
  byteOffset: typedArray.byteOffset,
931
932
  byteLength: typedArray.byteLength
932
933
  });
@@ -7,7 +7,6 @@ import type {GLTFWithBuffers} from '../types/gltf-types';
7
7
  import type {
8
8
  GLTFMeshPrimitive,
9
9
  GLTFAccessor,
10
- GLTFBufferView,
11
10
  GLTFMaterialNormalTextureInfo,
12
11
  GLTFMaterialOcclusionTextureInfo,
13
12
  GLTFTextureInfo
@@ -18,6 +17,7 @@ import {getAccessorArrayTypeAndLength} from '../gltf-utils/gltf-utils';
18
17
  import {BYTES, COMPONENTS} from '../gltf-utils/gltf-constants';
19
18
  import {} from '../types/gltf-json-schema';
20
19
  import {GLTFScenegraph} from '../api/gltf-scenegraph';
20
+ import {ensureArrayBuffer} from '@loaders.gl/loader-utils';
21
21
 
22
22
  /** Extension name */
23
23
  const KHR_TEXTURE_TRANSFORM = 'KHR_texture_transform';
@@ -169,7 +169,7 @@ function transformPrimitive(
169
169
  if (Number.isFinite(texCoordAccessor)) {
170
170
  // Get accessor of the `TEXCOORD_0` attribute
171
171
  const accessor = gltfData.json.accessors?.[texCoordAccessor];
172
- if (accessor && accessor.bufferView) {
172
+ if (accessor && accessor.bufferView !== undefined) {
173
173
  // Get `bufferView` of the `accessor`
174
174
  const bufferView = gltfData.json.bufferViews?.[accessor.bufferView];
175
175
  if (bufferView) {
@@ -199,7 +199,7 @@ function transformPrimitive(
199
199
  }
200
200
  // If texCoord the same, replace gltf structural data
201
201
  if (originalTexCoord === texCoord) {
202
- updateGltf(accessor, bufferView, gltfData.buffers, result);
202
+ updateGltf(accessor, gltfData, result, accessor.bufferView);
203
203
  } else {
204
204
  // If texCoord change, create new attribute
205
205
  createAttribute(texCoord, accessor, primitive, gltfData, result);
@@ -212,26 +212,52 @@ function transformPrimitive(
212
212
  /**
213
213
  * Update GLTF structural objects with new data as we create new `Float32Array` for `TEXCOORD_0`.
214
214
  * @param accessor accessor to change
215
- * @param bufferView bufferView to change
216
- * @param buffers binary buffers
215
+ * @param gltfData gltf json and buffers
217
216
  * @param newTexcoordArray typed array with data after transformation
218
217
  */
219
218
  function updateGltf(
220
219
  accessor: GLTFAccessor,
221
- bufferView: GLTFBufferView,
222
- buffers: {arrayBuffer: ArrayBuffer; byteOffset: number; byteLength: number}[],
223
- newTexCoordArray: Float32Array
220
+ gltfData: GLTFWithBuffers,
221
+ newTexCoordArray: Float32Array,
222
+ originalBufferViewIndex: number
224
223
  ): void {
225
224
  accessor.componentType = 5126;
226
- buffers.push({
227
- arrayBuffer: newTexCoordArray.buffer,
225
+ accessor.byteOffset = 0;
226
+
227
+ const accessors = gltfData.json.accessors || [];
228
+ const bufferViewReferenceCount = accessors.reduce((count, currentAccessor) => {
229
+ return currentAccessor.bufferView === originalBufferViewIndex ? count + 1 : count;
230
+ }, 0);
231
+ const shouldCreateNewBufferView = bufferViewReferenceCount > 1;
232
+
233
+ gltfData.buffers.push({
234
+ arrayBuffer: ensureArrayBuffer(newTexCoordArray.buffer),
228
235
  byteOffset: 0,
229
236
  byteLength: newTexCoordArray.buffer.byteLength
230
237
  });
231
- bufferView.buffer = buffers.length - 1;
232
- bufferView.byteLength = newTexCoordArray.buffer.byteLength;
238
+ const newBufferIndex = gltfData.buffers.length - 1;
239
+
240
+ gltfData.json.bufferViews = gltfData.json.bufferViews || [];
241
+ if (shouldCreateNewBufferView) {
242
+ gltfData.json.bufferViews.push({
243
+ buffer: newBufferIndex,
244
+ byteLength: newTexCoordArray.buffer.byteLength,
245
+ byteOffset: 0
246
+ });
247
+ accessor.bufferView = gltfData.json.bufferViews.length - 1;
248
+ return;
249
+ }
250
+
251
+ const bufferView = gltfData.json.bufferViews[originalBufferViewIndex];
252
+ if (!bufferView) {
253
+ return;
254
+ }
255
+ bufferView.buffer = newBufferIndex;
233
256
  bufferView.byteOffset = 0;
234
- delete bufferView.byteStride;
257
+ bufferView.byteLength = newTexCoordArray.buffer.byteLength;
258
+ if (bufferView.byteStride !== undefined) {
259
+ delete (bufferView as {byteStride?: number}).byteStride;
260
+ }
235
261
  }
236
262
 
237
263
  /**
@@ -251,14 +277,12 @@ function createAttribute(
251
277
  newTexCoordArray: Float32Array
252
278
  ) {
253
279
  gltfData.buffers.push({
254
- arrayBuffer: newTexCoordArray.buffer,
280
+ arrayBuffer: ensureArrayBuffer(newTexCoordArray.buffer),
255
281
  byteOffset: 0,
256
282
  byteLength: newTexCoordArray.buffer.byteLength
257
283
  });
284
+ gltfData.json.bufferViews = gltfData.json.bufferViews || [];
258
285
  const bufferViews = gltfData.json.bufferViews;
259
- if (!bufferViews) {
260
- return;
261
- }
262
286
  bufferViews.push({
263
287
  buffer: gltfData.buffers.length - 1,
264
288
  byteLength: newTexCoordArray.buffer.byteLength,
@@ -14,6 +14,7 @@ import type {ImageType} from '@loaders.gl/images';
14
14
  import {GLTFScenegraph} from '../../api/gltf-scenegraph';
15
15
  import {getComponentTypeFromArray} from '../../gltf-utils/gltf-utils';
16
16
  import {getImageData} from '@loaders.gl/images';
17
+ import {ensureArrayBuffer} from '@loaders.gl/loader-utils';
17
18
 
18
19
  function emod(n: number): number {
19
20
  return ((n % 1) + 1) % 1;
@@ -140,7 +141,7 @@ export function convertRawBufferToMetadataArray(
140
141
  buffer = bufferArray.slice(offset, offset + byteLength).buffer;
141
142
  offset = 0;
142
143
  }
143
- return new ArrayType(buffer, offset, length);
144
+ return new ArrayType(ensureArrayBuffer(buffer), offset, length);
144
145
  }
145
146
 
146
147
  /**
@@ -6,7 +6,7 @@ export function resolveUrl(url, options) {
6
6
  if (absolute) {
7
7
  return url;
8
8
  }
9
- const baseUrl = options.baseUri || options.uri;
9
+ const baseUrl = options?.core?.baseUri || options.baseUri || options.uri;
10
10
  if (!baseUrl) {
11
11
  throw new Error(`'baseUri' must be provided to resolve relative url ${url}`);
12
12
  }
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable camelcase, max-statements, no-restricted-globals */
2
- import type {LoaderContext} from '@loaders.gl/loader-utils';
2
+ import type {LoaderContext, StrictLoaderOptions} from '@loaders.gl/loader-utils';
3
3
  import type {GLTFLoaderOptions} from '../../gltf-loader';
4
4
  import type {GLTFWithBuffers} from '../types/gltf-types';
5
5
  import type {GLB} from '../types/glb-types';
@@ -70,14 +70,14 @@ export async function parseGLTF(
70
70
  * @param byteOffset
71
71
  * @param options
72
72
  */
73
- function parseGLTFContainerSync(gltf, data, byteOffset, options) {
73
+ function parseGLTFContainerSync(gltf, data, byteOffset, options: GLTFLoaderOptions) {
74
74
  // Initialize gltf container
75
- if (options.uri) {
76
- gltf.baseUri = options.uri;
75
+ if (options.core?.baseUri) {
76
+ gltf.baseUri = options.core?.baseUri;
77
77
  }
78
78
 
79
79
  // If data is binary and starting with magic bytes, assume binary JSON text, convert to string
80
- if (data instanceof ArrayBuffer && !isGLB(data, byteOffset, options)) {
80
+ if (data instanceof ArrayBuffer && !isGLB(data, byteOffset, options.glb)) {
81
81
  const textDecoder = new TextDecoder();
82
82
  data = textDecoder.decode(data);
83
83
  }
@@ -219,15 +219,19 @@ async function loadImage(
219
219
 
220
220
  assert(arrayBuffer, 'glTF image has no data');
221
221
 
222
+ const strictOptions = options;
223
+
224
+ const gltfOptions = {
225
+ ...strictOptions,
226
+ core: {...strictOptions?.core, mimeType: image.mimeType},
227
+ basis: strictOptions.basis || {format: selectSupportedBasisFormat()}
228
+ } satisfies StrictLoaderOptions;
229
+
222
230
  // Call `parse`
223
231
  let parsedImage = (await parseFromContext(
224
232
  arrayBuffer,
225
233
  [ImageLoader, BasisLoader],
226
- {
227
- ...options,
228
- mimeType: image.mimeType,
229
- basis: options.basis || {format: selectSupportedBasisFormat()}
230
- },
234
+ gltfOptions,
231
235
  context
232
236
  )) as ImageType | TextureLevel[][];
233
237