@loaders.gl/gltf 4.2.0-alpha.4 → 4.2.0-alpha.6

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 (149) hide show
  1. package/dist/dist.dev.js +1056 -524
  2. package/dist/dist.min.js +9 -0
  3. package/dist/glb-loader.d.ts +2 -2
  4. package/dist/glb-loader.d.ts.map +1 -1
  5. package/dist/glb-loader.js +22 -21
  6. package/dist/glb-writer.d.ts +2 -2
  7. package/dist/glb-writer.d.ts.map +1 -1
  8. package/dist/glb-writer.js +27 -24
  9. package/dist/gltf-loader.d.ts +3 -3
  10. package/dist/gltf-loader.d.ts.map +1 -1
  11. package/dist/gltf-loader.js +31 -36
  12. package/dist/gltf-writer.js +24 -26
  13. package/dist/index.cjs +138 -330
  14. package/dist/index.cjs.map +7 -0
  15. package/dist/index.d.ts +17 -17
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +3 -1
  18. package/dist/lib/api/gltf-extensions.d.ts +2 -2
  19. package/dist/lib/api/gltf-extensions.d.ts.map +1 -1
  20. package/dist/lib/api/gltf-extensions.js +45 -22
  21. package/dist/lib/api/gltf-scenegraph.d.ts +2 -2
  22. package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
  23. package/dist/lib/api/gltf-scenegraph.js +565 -438
  24. package/dist/lib/api/normalize-gltf-v1.js +249 -181
  25. package/dist/lib/api/post-process-gltf.d.ts +3 -3
  26. package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
  27. package/dist/lib/api/post-process-gltf.js +378 -340
  28. package/dist/lib/encoders/encode-glb.js +62 -48
  29. package/dist/lib/encoders/encode-gltf.js +24 -10
  30. package/dist/lib/extensions/EXT_mesh_features.d.ts +2 -2
  31. package/dist/lib/extensions/EXT_mesh_features.d.ts.map +1 -1
  32. package/dist/lib/extensions/EXT_mesh_features.js +55 -33
  33. package/dist/lib/extensions/EXT_meshopt_compression.d.ts +2 -2
  34. package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -1
  35. package/dist/lib/extensions/EXT_meshopt_compression.js +27 -31
  36. package/dist/lib/extensions/EXT_structural_metadata.d.ts +2 -2
  37. package/dist/lib/extensions/EXT_structural_metadata.d.ts.map +1 -1
  38. package/dist/lib/extensions/EXT_structural_metadata.js +434 -230
  39. package/dist/lib/extensions/EXT_texture_webp.d.ts +2 -2
  40. package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
  41. package/dist/lib/extensions/EXT_texture_webp.js +24 -17
  42. package/dist/lib/extensions/KHR_binary_gltf.d.ts +1 -1
  43. package/dist/lib/extensions/KHR_binary_gltf.d.ts.map +1 -1
  44. package/dist/lib/extensions/KHR_binary_gltf.js +29 -15
  45. package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts +2 -2
  46. package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
  47. package/dist/lib/extensions/KHR_draco_mesh_compression.js +110 -87
  48. package/dist/lib/extensions/KHR_texture_basisu.d.ts +2 -2
  49. package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -1
  50. package/dist/lib/extensions/KHR_texture_basisu.js +19 -12
  51. package/dist/lib/extensions/KHR_texture_transform.d.ts +2 -2
  52. package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -1
  53. package/dist/lib/extensions/KHR_texture_transform.js +188 -156
  54. package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts +2 -2
  55. package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -1
  56. package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +263 -143
  57. package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts +1 -1
  58. package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -1
  59. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +44 -32
  60. package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts +1 -1
  61. package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -1
  62. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +30 -24
  63. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +1 -1
  64. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -1
  65. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +65 -52
  66. package/dist/lib/extensions/utils/3d-tiles-utils.d.ts +2 -2
  67. package/dist/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -1
  68. package/dist/lib/extensions/utils/3d-tiles-utils.js +298 -181
  69. package/dist/lib/gltf-utils/get-typed-array.d.ts +1 -1
  70. package/dist/lib/gltf-utils/get-typed-array.d.ts.map +1 -1
  71. package/dist/lib/gltf-utils/get-typed-array.js +54 -42
  72. package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts +1 -1
  73. package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -1
  74. package/dist/lib/gltf-utils/gltf-attribute-utils.js +58 -52
  75. package/dist/lib/gltf-utils/gltf-constants.js +27 -27
  76. package/dist/lib/gltf-utils/gltf-utils.d.ts +1 -1
  77. package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -1
  78. package/dist/lib/gltf-utils/gltf-utils.js +67 -60
  79. package/dist/lib/gltf-utils/resolve-url.js +12 -10
  80. package/dist/lib/parsers/parse-glb.d.ts +1 -1
  81. package/dist/lib/parsers/parse-glb.d.ts.map +1 -1
  82. package/dist/lib/parsers/parse-glb.js +132 -89
  83. package/dist/lib/parsers/parse-gltf.d.ts +3 -3
  84. package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
  85. package/dist/lib/parsers/parse-gltf.js +155 -126
  86. package/dist/lib/types/glb-types.js +0 -1
  87. package/dist/lib/types/gltf-ext-feature-metadata-schema.d.ts +1 -1
  88. package/dist/lib/types/gltf-ext-feature-metadata-schema.d.ts.map +1 -1
  89. package/dist/lib/types/gltf-ext-feature-metadata-schema.js +0 -1
  90. package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts +1 -1
  91. package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -1
  92. package/dist/lib/types/gltf-ext-mesh-features-schema.js +0 -1
  93. package/dist/lib/types/gltf-ext-structural-metadata-schema.d.ts +1 -1
  94. package/dist/lib/types/gltf-ext-structural-metadata-schema.d.ts.map +1 -1
  95. package/dist/lib/types/gltf-ext-structural-metadata-schema.js +0 -1
  96. package/dist/lib/types/gltf-json-schema.js +2 -1
  97. package/dist/lib/types/gltf-postprocessed-schema.js +2 -1
  98. package/dist/lib/types/gltf-types.d.ts +3 -3
  99. package/dist/lib/types/gltf-types.d.ts.map +1 -1
  100. package/dist/lib/types/gltf-types.js +1 -1
  101. package/dist/lib/utils/assert.js +6 -4
  102. package/dist/lib/utils/version.js +4 -2
  103. package/dist/meshopt/meshopt-decoder.js +86 -67
  104. package/dist/webp/webp.js +28 -19
  105. package/package.json +13 -8
  106. package/src/lib/extensions/KHR_texture_transform.ts +18 -24
  107. package/dist/glb-loader.js.map +0 -1
  108. package/dist/glb-writer.js.map +0 -1
  109. package/dist/gltf-loader.js.map +0 -1
  110. package/dist/gltf-writer.js.map +0 -1
  111. package/dist/index.js.map +0 -1
  112. package/dist/lib/api/gltf-extensions.js.map +0 -1
  113. package/dist/lib/api/gltf-scenegraph.js.map +0 -1
  114. package/dist/lib/api/normalize-gltf-v1.js.map +0 -1
  115. package/dist/lib/api/post-process-gltf.js.map +0 -1
  116. package/dist/lib/encoders/encode-glb.js.map +0 -1
  117. package/dist/lib/encoders/encode-gltf.js.map +0 -1
  118. package/dist/lib/extensions/EXT_mesh_features.js.map +0 -1
  119. package/dist/lib/extensions/EXT_meshopt_compression.js.map +0 -1
  120. package/dist/lib/extensions/EXT_structural_metadata.js.map +0 -1
  121. package/dist/lib/extensions/EXT_texture_webp.js.map +0 -1
  122. package/dist/lib/extensions/KHR_binary_gltf.js.map +0 -1
  123. package/dist/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
  124. package/dist/lib/extensions/KHR_texture_basisu.js.map +0 -1
  125. package/dist/lib/extensions/KHR_texture_transform.js.map +0 -1
  126. package/dist/lib/extensions/deprecated/EXT_feature_metadata.js.map +0 -1
  127. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
  128. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
  129. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
  130. package/dist/lib/extensions/utils/3d-tiles-utils.js.map +0 -1
  131. package/dist/lib/gltf-utils/get-typed-array.js.map +0 -1
  132. package/dist/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
  133. package/dist/lib/gltf-utils/gltf-constants.js.map +0 -1
  134. package/dist/lib/gltf-utils/gltf-utils.js.map +0 -1
  135. package/dist/lib/gltf-utils/resolve-url.js.map +0 -1
  136. package/dist/lib/parsers/parse-glb.js.map +0 -1
  137. package/dist/lib/parsers/parse-gltf.js.map +0 -1
  138. package/dist/lib/types/glb-types.js.map +0 -1
  139. package/dist/lib/types/gltf-ext-feature-metadata-schema.js.map +0 -1
  140. package/dist/lib/types/gltf-ext-mesh-features-schema.js.map +0 -1
  141. package/dist/lib/types/gltf-ext-structural-metadata-schema.js.map +0 -1
  142. package/dist/lib/types/gltf-json-schema.js.map +0 -1
  143. package/dist/lib/types/gltf-postprocessed-schema.js.map +0 -1
  144. package/dist/lib/types/gltf-types.js.map +0 -1
  145. package/dist/lib/utils/assert.js.map +0 -1
  146. package/dist/lib/utils/version.js.map +0 -1
  147. package/dist/meshopt/meshopt-decoder.js.map +0 -1
  148. package/dist/meshopt/meshopt-encoder.ts.disabled +0 -409
  149. package/dist/webp/webp.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -17,9 +17,9 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
20
+ // dist/index.js
21
+ var dist_exports = {};
22
+ __export(dist_exports, {
23
23
  EXT_FEATURE_METADATA: () => name3,
24
24
  EXT_MESH_FEATURES: () => name,
25
25
  EXT_STRUCTURAL_METADATA: () => name2,
@@ -31,27 +31,27 @@ __export(src_exports, {
31
31
  _getMemoryUsageGLTF: () => getMemoryUsageGLTF,
32
32
  postProcessGLTF: () => postProcessGLTF
33
33
  });
34
- module.exports = __toCommonJS(src_exports);
34
+ module.exports = __toCommonJS(dist_exports);
35
35
 
36
- // src/lib/extensions/EXT_mesh_features.ts
36
+ // dist/lib/extensions/EXT_mesh_features.js
37
37
  var EXT_mesh_features_exports = {};
38
38
  __export(EXT_mesh_features_exports, {
39
39
  decode: () => decode,
40
40
  name: () => name
41
41
  });
42
42
 
43
- // src/lib/api/gltf-scenegraph.ts
43
+ // dist/lib/api/gltf-scenegraph.js
44
44
  var import_images = require("@loaders.gl/images");
45
45
  var import_loader_utils = require("@loaders.gl/loader-utils");
46
46
 
47
- // src/lib/utils/assert.ts
47
+ // dist/lib/utils/assert.js
48
48
  function assert(condition, message) {
49
49
  if (!condition) {
50
50
  throw new Error(message || "assert failed: gltf");
51
51
  }
52
52
  }
53
53
 
54
- // src/lib/gltf-utils/gltf-constants.ts
54
+ // dist/lib/gltf-utils/gltf-constants.js
55
55
  var COMPONENTS = {
56
56
  SCALAR: 1,
57
57
  VEC2: 2,
@@ -76,7 +76,7 @@ var BYTES = {
76
76
  // FLOAT
77
77
  };
78
78
 
79
- // src/lib/gltf-utils/gltf-utils.ts
79
+ // dist/lib/gltf-utils/gltf-utils.js
80
80
  var MIPMAP_FACTOR = 1.33;
81
81
  var TYPES = ["SCALAR", "VEC2", "VEC3", "VEC4"];
82
82
  var ARRAY_CONSTRUCTOR_TO_WEBGL_CONSTANT = [
@@ -88,9 +88,7 @@ var ARRAY_CONSTRUCTOR_TO_WEBGL_CONSTANT = [
88
88
  [Float32Array, 5126],
89
89
  [Float64Array, 5130]
90
90
  ];
91
- var ARRAY_TO_COMPONENT_TYPE = new Map(
92
- ARRAY_CONSTRUCTOR_TO_WEBGL_CONSTANT
93
- );
91
+ var ARRAY_TO_COMPONENT_TYPE = new Map(ARRAY_CONSTRUCTOR_TO_WEBGL_CONSTANT);
94
92
  var ATTRIBUTE_TYPE_TO_COMPONENTS = {
95
93
  SCALAR: 1,
96
94
  VEC2: 2,
@@ -152,7 +150,7 @@ function getMemoryUsageGLTF(gltf) {
152
150
  return bufferMemory + Math.ceil(4 * pixelCount * MIPMAP_FACTOR);
153
151
  }
154
152
 
155
- // src/lib/gltf-utils/get-typed-array.ts
153
+ // dist/lib/gltf-utils/get-typed-array.js
156
154
  function getTypedArrayForBufferView(json, buffers, bufferViewIndex) {
157
155
  const bufferView = json.bufferViews[bufferViewIndex];
158
156
  assert(bufferView);
@@ -183,17 +181,13 @@ function getTypedArrayForAccessor(json, buffers, accessor) {
183
181
  }
184
182
  const result = new ArrayType(length);
185
183
  for (let i = 0; i < gltfAccessor.count; i++) {
186
- const values = new ArrayType(
187
- arrayBuffer,
188
- byteOffset + i * elementAddressScale,
189
- numberOfComponentsInElement
190
- );
184
+ const values = new ArrayType(arrayBuffer, byteOffset + i * elementAddressScale, numberOfComponentsInElement);
191
185
  result.set(values, i * numberOfComponentsInElement);
192
186
  }
193
187
  return result;
194
188
  }
195
189
 
196
- // src/lib/api/gltf-scenegraph.ts
190
+ // dist/lib/api/gltf-scenegraph.js
197
191
  function makeDefaultGLTFJson() {
198
192
  return {
199
193
  asset: {
@@ -207,6 +201,10 @@ function makeDefaultGLTFJson() {
207
201
  };
208
202
  }
209
203
  var GLTFScenegraph = class {
204
+ // internal
205
+ gltf;
206
+ sourceBuffers;
207
+ byteLength;
210
208
  // TODO - why is this not GLTFWithBuffers - what happens to images?
211
209
  constructor(gltf) {
212
210
  this.gltf = {
@@ -716,7 +714,7 @@ var GLTFScenegraph = class {
716
714
  }
717
715
  };
718
716
 
719
- // src/lib/extensions/utils/3d-tiles-utils.ts
717
+ // dist/lib/extensions/utils/3d-tiles-utils.js
720
718
  var import_images2 = require("@loaders.gl/images");
721
719
  function emod(n) {
722
720
  return (n % 1 + 1) % 1;
@@ -807,13 +805,7 @@ function getPrimitiveTextureData(scenegraph, textureInfo, primitive) {
807
805
  if (parsedImage && typeof parsedImage.width !== "undefined") {
808
806
  const textureData = [];
809
807
  for (let index = 0; index < textureCoordinates.length; index += 2) {
810
- const value = getImageValueByCoordinates(
811
- parsedImage,
812
- mimeType,
813
- textureCoordinates,
814
- index,
815
- textureInfo.channels
816
- );
808
+ const value = getImageValueByCoordinates(parsedImage, mimeType, textureCoordinates, index, textureInfo.channels);
817
809
  textureData.push(value);
818
810
  }
819
811
  return textureData;
@@ -928,7 +920,7 @@ function getPropertyDataString(numberOfElements, valuesDataBytes, arrayOffsets,
928
920
  return [];
929
921
  }
930
922
 
931
- // src/lib/extensions/EXT_mesh_features.ts
923
+ // dist/lib/extensions/EXT_mesh_features.js
932
924
  var EXT_MESH_FEATURES_NAME = "EXT_mesh_features";
933
925
  var name = EXT_MESH_FEATURES_NAME;
934
926
  async function decode(gltfData, options) {
@@ -971,7 +963,7 @@ function processMeshPrimitiveFeatures(scenegraph, primitive, options) {
971
963
  }
972
964
  }
973
965
 
974
- // src/lib/extensions/EXT_structural_metadata.ts
966
+ // dist/lib/extensions/EXT_structural_metadata.js
975
967
  var EXT_structural_metadata_exports = {};
976
968
  __export(EXT_structural_metadata_exports, {
977
969
  decode: () => decode2,
@@ -988,9 +980,7 @@ function decodeExtStructuralMetadata(scenegraph, options) {
988
980
  if (!((_a = options.gltf) == null ? void 0 : _a.loadBuffers)) {
989
981
  return;
990
982
  }
991
- const extension = scenegraph.getExtension(
992
- EXT_STRUCTURAL_METADATA_NAME
993
- );
983
+ const extension = scenegraph.getExtension(EXT_STRUCTURAL_METADATA_NAME);
994
984
  if (!extension) {
995
985
  return;
996
986
  }
@@ -1068,21 +1058,11 @@ function processPrimitivePropertyTexture(scenegraph, propertyTexture, primitive,
1068
1058
  textureInfoTopLevel.data = [];
1069
1059
  }
1070
1060
  const featureTextureTable = textureInfoTopLevel.data;
1071
- const propertyData = getPrimitiveTextureData(
1072
- scenegraph,
1073
- textureInfoTopLevel,
1074
- primitive
1075
- );
1061
+ const propertyData = getPrimitiveTextureData(scenegraph, textureInfoTopLevel, primitive);
1076
1062
  if (propertyData === null) {
1077
1063
  continue;
1078
1064
  }
1079
- primitivePropertyDataToAttributes(
1080
- scenegraph,
1081
- attributeName,
1082
- propertyData,
1083
- featureTextureTable,
1084
- primitive
1085
- );
1065
+ primitivePropertyDataToAttributes(scenegraph, attributeName, propertyData, featureTextureTable, primitive);
1086
1066
  textureInfoTopLevel.data = featureTextureTable;
1087
1067
  extension.dataAttributeNames.push(attributeName);
1088
1068
  }
@@ -1091,22 +1071,14 @@ function processPropertyTable(scenegraph, schema, propertyTable) {
1091
1071
  var _a, _b;
1092
1072
  const schemaClass = (_a = schema.classes) == null ? void 0 : _a[propertyTable.class];
1093
1073
  if (!schemaClass) {
1094
- throw new Error(
1095
- `Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`
1096
- );
1074
+ throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`);
1097
1075
  }
1098
1076
  const numberOfElements = propertyTable.count;
1099
1077
  for (const propertyName in schemaClass.properties) {
1100
1078
  const classProperty = schemaClass.properties[propertyName];
1101
1079
  const propertyTableProperty = (_b = propertyTable.properties) == null ? void 0 : _b[propertyName];
1102
1080
  if (propertyTableProperty) {
1103
- const data = getPropertyDataFromBinarySource(
1104
- scenegraph,
1105
- schema,
1106
- classProperty,
1107
- numberOfElements,
1108
- propertyTableProperty
1109
- );
1081
+ const data = getPropertyDataFromBinarySource(scenegraph, schema, classProperty, numberOfElements, propertyTableProperty);
1110
1082
  propertyTableProperty.data = data;
1111
1083
  }
1112
1084
  }
@@ -1115,17 +1087,8 @@ function getPropertyDataFromBinarySource(scenegraph, schema, classProperty, numb
1115
1087
  let data = [];
1116
1088
  const valuesBufferView = propertyTableProperty.values;
1117
1089
  const valuesDataBytes = scenegraph.getTypedArrayForBufferView(valuesBufferView);
1118
- const arrayOffsets = getArrayOffsetsForProperty(
1119
- scenegraph,
1120
- classProperty,
1121
- propertyTableProperty,
1122
- numberOfElements
1123
- );
1124
- const stringOffsets = getStringOffsetsForProperty(
1125
- scenegraph,
1126
- propertyTableProperty,
1127
- numberOfElements
1128
- );
1090
+ const arrayOffsets = getArrayOffsetsForProperty(scenegraph, classProperty, propertyTableProperty, numberOfElements);
1091
+ const stringOffsets = getStringOffsetsForProperty(scenegraph, propertyTableProperty, numberOfElements);
1129
1092
  switch (classProperty.type) {
1130
1093
  case "SCALAR":
1131
1094
  case "VEC2":
@@ -1145,13 +1108,7 @@ function getPropertyDataFromBinarySource(scenegraph, schema, classProperty, numb
1145
1108
  break;
1146
1109
  }
1147
1110
  case "ENUM": {
1148
- data = getPropertyDataENUM(
1149
- schema,
1150
- classProperty,
1151
- numberOfElements,
1152
- valuesDataBytes,
1153
- arrayOffsets
1154
- );
1111
+ data = getPropertyDataENUM(schema, classProperty, numberOfElements, valuesDataBytes, arrayOffsets);
1155
1112
  break;
1156
1113
  }
1157
1114
  default:
@@ -1164,23 +1121,13 @@ function getArrayOffsetsForProperty(scenegraph, classProperty, propertyTableProp
1164
1121
  // If `count` is NOT defined, it's a VARIABLE-length array
1165
1122
  typeof classProperty.count === "undefined" && // `arrayOffsets` is an index of the buffer view containing offsets for variable-length arrays.
1166
1123
  typeof propertyTableProperty.arrayOffsets !== "undefined") {
1167
- return getOffsetsForProperty(
1168
- scenegraph,
1169
- propertyTableProperty.arrayOffsets,
1170
- propertyTableProperty.arrayOffsetType || "UINT32",
1171
- numberOfElements
1172
- );
1124
+ return getOffsetsForProperty(scenegraph, propertyTableProperty.arrayOffsets, propertyTableProperty.arrayOffsetType || "UINT32", numberOfElements);
1173
1125
  }
1174
1126
  return null;
1175
1127
  }
1176
1128
  function getStringOffsetsForProperty(scenegraph, propertyTableProperty, numberOfElements) {
1177
1129
  if (typeof propertyTableProperty.stringOffsets !== "undefined") {
1178
- return getOffsetsForProperty(
1179
- scenegraph,
1180
- propertyTableProperty.stringOffsets,
1181
- propertyTableProperty.stringOffsetType || "UINT32",
1182
- numberOfElements
1183
- );
1130
+ return getOffsetsForProperty(scenegraph, propertyTableProperty.stringOffsets, propertyTableProperty.stringOffsetType || "UINT32", numberOfElements);
1184
1131
  }
1185
1132
  return null;
1186
1133
  }
@@ -1203,13 +1150,7 @@ function getPropertyDataNumeric(classProperty, numberOfElements, valuesDataBytes
1203
1150
  }
1204
1151
  if (isArray) {
1205
1152
  if (arrayOffsets) {
1206
- return parseVariableLengthArrayNumeric(
1207
- valuesData,
1208
- numberOfElements,
1209
- arrayOffsets,
1210
- valuesDataBytes.length,
1211
- elementSize
1212
- );
1153
+ return parseVariableLengthArrayNumeric(valuesData, numberOfElements, arrayOffsets, valuesDataBytes.length, elementSize);
1213
1154
  }
1214
1155
  if (arrayCount) {
1215
1156
  return parseFixedLengthArrayNumeric(valuesData, numberOfElements, arrayCount);
@@ -1222,25 +1163,16 @@ function getPropertyDataENUM(schema, classProperty, numberOfElements, valuesData
1222
1163
  var _a;
1223
1164
  const enumType = classProperty.enumType;
1224
1165
  if (!enumType) {
1225
- throw new Error(
1226
- "Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM"
1227
- );
1166
+ throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");
1228
1167
  }
1229
1168
  const enumEntry = (_a = schema.enums) == null ? void 0 : _a[enumType];
1230
1169
  if (!enumEntry) {
1231
- throw new Error(
1232
- `Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${enumType}`
1233
- );
1170
+ throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${enumType}`);
1234
1171
  }
1235
1172
  const enumValueType = enumEntry.valueType || "UINT16";
1236
1173
  const elementSize = getArrayElementByteSize(classProperty.type, enumValueType);
1237
1174
  const elementCount = valuesDataBytes.byteLength / elementSize;
1238
- let valuesData = convertRawBufferToMetadataArray(
1239
- valuesDataBytes,
1240
- classProperty.type,
1241
- enumValueType,
1242
- elementCount
1243
- );
1175
+ let valuesData = convertRawBufferToMetadataArray(valuesDataBytes, classProperty.type, enumValueType, elementCount);
1244
1176
  if (!valuesData) {
1245
1177
  valuesData = valuesDataBytes;
1246
1178
  }
@@ -1264,14 +1196,7 @@ function getPropertyDataENUM(schema, classProperty, numberOfElements, valuesData
1264
1196
  return getEnumsArray(valuesData, 0, numberOfElements, enumEntry);
1265
1197
  }
1266
1198
  function parseVariableLengthArrayENUM(params) {
1267
- const {
1268
- valuesData,
1269
- numberOfElements,
1270
- arrayOffsets,
1271
- valuesDataBytesLength,
1272
- elementSize,
1273
- enumEntry
1274
- } = params;
1199
+ const { valuesData, numberOfElements, arrayOffsets, valuesDataBytesLength, elementSize, enumEntry } = params;
1275
1200
  const attributeValueArray = [];
1276
1201
  for (let index = 0; index < numberOfElements; index++) {
1277
1202
  const arrayOffset = arrayOffsets[index];
@@ -1321,7 +1246,7 @@ function getEnumByValue(enumEntry, value) {
1321
1246
  return null;
1322
1247
  }
1323
1248
 
1324
- // src/lib/extensions/deprecated/EXT_feature_metadata.ts
1249
+ // dist/lib/extensions/deprecated/EXT_feature_metadata.js
1325
1250
  var EXT_feature_metadata_exports = {};
1326
1251
  __export(EXT_feature_metadata_exports, {
1327
1252
  decode: () => decode3,
@@ -1405,22 +1330,14 @@ function processPropertyTable2(scenegraph, schema, propertyTable) {
1405
1330
  }
1406
1331
  const schemaClass = (_a = schema.classes) == null ? void 0 : _a[propertyTable.class];
1407
1332
  if (!schemaClass) {
1408
- throw new Error(
1409
- `Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`
1410
- );
1333
+ throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`);
1411
1334
  }
1412
1335
  const numberOfElements = propertyTable.count;
1413
1336
  for (const propertyName in schemaClass.properties) {
1414
1337
  const classProperty = schemaClass.properties[propertyName];
1415
1338
  const propertyTableProperty = (_b = propertyTable.properties) == null ? void 0 : _b[propertyName];
1416
1339
  if (propertyTableProperty) {
1417
- const data = getPropertyDataFromBinarySource2(
1418
- scenegraph,
1419
- schema,
1420
- classProperty,
1421
- numberOfElements,
1422
- propertyTableProperty
1423
- );
1340
+ const data = getPropertyDataFromBinarySource2(scenegraph, schema, classProperty, numberOfElements, propertyTableProperty);
1424
1341
  propertyTableProperty.data = data;
1425
1342
  }
1426
1343
  }
@@ -1440,18 +1357,8 @@ function getPropertyDataFromBinarySource2(scenegraph, schema, classProperty, num
1440
1357
  let data = [];
1441
1358
  const bufferView = featureTableProperty.bufferView;
1442
1359
  const dataArray = scenegraph.getTypedArrayForBufferView(bufferView);
1443
- const arrayOffsets = getArrayOffsetsForProperty2(
1444
- scenegraph,
1445
- classProperty,
1446
- featureTableProperty,
1447
- numberOfFeatures
1448
- );
1449
- const stringOffsets = getStringOffsetsForProperty2(
1450
- scenegraph,
1451
- classProperty,
1452
- featureTableProperty,
1453
- numberOfFeatures
1454
- );
1360
+ const arrayOffsets = getArrayOffsetsForProperty2(scenegraph, classProperty, featureTableProperty, numberOfFeatures);
1361
+ const stringOffsets = getStringOffsetsForProperty2(scenegraph, classProperty, featureTableProperty, numberOfFeatures);
1455
1362
  if (classProperty.type === "STRING" || classProperty.componentType === "STRING") {
1456
1363
  data = getPropertyDataString(numberOfFeatures, dataArray, arrayOffsets, stringOffsets);
1457
1364
  } else if (isNumericProperty(classProperty)) {
@@ -1507,21 +1414,10 @@ function getPropertyDataNumeric2(classProperty, numberOfElements, valuesDataByte
1507
1414
  const componentType = classProperty.componentType || classProperty.type;
1508
1415
  const elementSize = getArrayElementByteSize(attributeType, componentType);
1509
1416
  const elementCount = valuesDataBytes.byteLength / elementSize;
1510
- const valuesData = convertRawBufferToMetadataArray(
1511
- valuesDataBytes,
1512
- attributeType,
1513
- componentType,
1514
- elementCount
1515
- );
1417
+ const valuesData = convertRawBufferToMetadataArray(valuesDataBytes, attributeType, componentType, elementCount);
1516
1418
  if (isArray) {
1517
1419
  if (arrayOffsets) {
1518
- return parseVariableLengthArrayNumeric(
1519
- valuesData,
1520
- numberOfElements,
1521
- arrayOffsets,
1522
- valuesDataBytes.length,
1523
- elementSize
1524
- );
1420
+ return parseVariableLengthArrayNumeric(valuesData, numberOfElements, arrayOffsets, valuesDataBytes.length, elementSize);
1525
1421
  }
1526
1422
  if (arrayCount) {
1527
1423
  return parseFixedLengthArrayNumeric(valuesData, numberOfElements, arrayCount);
@@ -1538,13 +1434,7 @@ function getPropertyDataFromTexture(scenegraph, featureTextureProperty, attribut
1538
1434
  const featureTextureTable = [];
1539
1435
  for (const mesh of json.meshes) {
1540
1436
  for (const primitive of mesh.primitives) {
1541
- processPrimitiveTextures(
1542
- scenegraph,
1543
- attributeName,
1544
- featureTextureProperty,
1545
- featureTextureTable,
1546
- primitive
1547
- );
1437
+ processPrimitiveTextures(scenegraph, attributeName, featureTextureProperty, featureTextureTable, primitive);
1548
1438
  }
1549
1439
  }
1550
1440
  return featureTextureTable;
@@ -1554,32 +1444,22 @@ function processPrimitiveTextures(scenegraph, attributeName, featureTexturePrope
1554
1444
  channels: featureTextureProperty.channels,
1555
1445
  ...featureTextureProperty.texture
1556
1446
  };
1557
- const propertyData = getPrimitiveTextureData(
1558
- scenegraph,
1559
- textureInfoTopLevel,
1560
- primitive
1561
- );
1447
+ const propertyData = getPrimitiveTextureData(scenegraph, textureInfoTopLevel, primitive);
1562
1448
  if (!propertyData) {
1563
1449
  return;
1564
1450
  }
1565
- primitivePropertyDataToAttributes(
1566
- scenegraph,
1567
- attributeName,
1568
- propertyData,
1569
- featureTextureTable,
1570
- primitive
1571
- );
1451
+ primitivePropertyDataToAttributes(scenegraph, attributeName, propertyData, featureTextureTable, primitive);
1572
1452
  }
1573
1453
 
1574
- // src/lib/utils/version.ts
1575
- var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1454
+ // dist/lib/utils/version.js
1455
+ var VERSION = true ? "4.2.0-alpha.5" : "latest";
1576
1456
 
1577
- // src/lib/parsers/parse-gltf.ts
1457
+ // dist/lib/parsers/parse-gltf.js
1578
1458
  var import_loader_utils4 = require("@loaders.gl/loader-utils");
1579
1459
  var import_images4 = require("@loaders.gl/images");
1580
1460
  var import_textures = require("@loaders.gl/textures");
1581
1461
 
1582
- // src/lib/parsers/parse-glb.ts
1462
+ // dist/lib/parsers/parse-glb.js
1583
1463
  var import_loader_utils2 = require("@loaders.gl/loader-utils");
1584
1464
  var LITTLE_ENDIAN = true;
1585
1465
  var MAGIC_glTF = 1735152710;
@@ -1690,7 +1570,7 @@ function parseBINChunk(glb, dataView, byteOffset, chunkLength) {
1690
1570
  return (0, import_loader_utils2.padToNBytes)(chunkLength, 4);
1691
1571
  }
1692
1572
 
1693
- // src/lib/gltf-utils/resolve-url.ts
1573
+ // dist/lib/gltf-utils/resolve-url.js
1694
1574
  function resolveUrl(url, options) {
1695
1575
  const absolute = url.startsWith("data:") || url.startsWith("http:") || url.startsWith("https:");
1696
1576
  if (absolute) {
@@ -1703,14 +1583,14 @@ function resolveUrl(url, options) {
1703
1583
  return baseUrl.substr(0, baseUrl.lastIndexOf("/") + 1) + url;
1704
1584
  }
1705
1585
 
1706
- // src/lib/extensions/EXT_meshopt_compression.ts
1586
+ // dist/lib/extensions/EXT_meshopt_compression.js
1707
1587
  var EXT_meshopt_compression_exports = {};
1708
1588
  __export(EXT_meshopt_compression_exports, {
1709
1589
  decode: () => decode5,
1710
1590
  name: () => name4
1711
1591
  });
1712
1592
 
1713
- // src/meshopt/meshopt-decoder.ts
1593
+ // dist/meshopt/meshopt-decoder.js
1714
1594
  var wasm_base = "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";
1715
1595
  var wasm_simd = "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";
1716
1596
  var detector = new Uint8Array([
@@ -1852,15 +1732,7 @@ var DECODERS = {
1852
1732
  };
1853
1733
  async function meshoptDecodeGltfBuffer(target, count, size, source, mode, filter = "NONE") {
1854
1734
  const instance = await loadWasmInstance();
1855
- decode4(
1856
- instance,
1857
- instance.exports[DECODERS[mode]],
1858
- target,
1859
- count,
1860
- size,
1861
- source,
1862
- instance.exports[FILTERS[filter || "NONE"]]
1863
- );
1735
+ decode4(instance, instance.exports[DECODERS[mode]], target, count, size, source, instance.exports[FILTERS[filter || "NONE"]]);
1864
1736
  }
1865
1737
  var wasmPromise;
1866
1738
  async function loadWasmInstance() {
@@ -1909,7 +1781,7 @@ function decode4(instance, fun, target, count, size, source, filter) {
1909
1781
  }
1910
1782
  }
1911
1783
 
1912
- // src/lib/extensions/EXT_meshopt_compression.ts
1784
+ // dist/lib/extensions/EXT_meshopt_compression.js
1913
1785
  var EXT_MESHOPT_COMPRESSION = "EXT_meshopt_compression";
1914
1786
  var name4 = EXT_MESHOPT_COMPRESSION;
1915
1787
  async function decode5(gltfData, options) {
@@ -1926,33 +1798,18 @@ async function decode5(gltfData, options) {
1926
1798
  scenegraph.removeExtension(EXT_MESHOPT_COMPRESSION);
1927
1799
  }
1928
1800
  async function decodeMeshoptBufferView(scenegraph, bufferView) {
1929
- const meshoptExtension = scenegraph.getObjectExtension(
1930
- bufferView,
1931
- EXT_MESHOPT_COMPRESSION
1932
- );
1801
+ const meshoptExtension = scenegraph.getObjectExtension(bufferView, EXT_MESHOPT_COMPRESSION);
1933
1802
  if (meshoptExtension) {
1934
- const {
1935
- byteOffset = 0,
1936
- byteLength = 0,
1937
- byteStride,
1938
- count,
1939
- mode,
1940
- filter = "NONE",
1941
- buffer: bufferIndex
1942
- } = meshoptExtension;
1803
+ const { byteOffset = 0, byteLength = 0, byteStride, count, mode, filter = "NONE", buffer: bufferIndex } = meshoptExtension;
1943
1804
  const buffer = scenegraph.gltf.buffers[bufferIndex];
1944
1805
  const source = new Uint8Array(buffer.arrayBuffer, buffer.byteOffset + byteOffset, byteLength);
1945
- const result = new Uint8Array(
1946
- scenegraph.gltf.buffers[bufferView.buffer].arrayBuffer,
1947
- bufferView.byteOffset,
1948
- bufferView.byteLength
1949
- );
1806
+ const result = new Uint8Array(scenegraph.gltf.buffers[bufferView.buffer].arrayBuffer, bufferView.byteOffset, bufferView.byteLength);
1950
1807
  await meshoptDecodeGltfBuffer(result, count, byteStride, source, mode, filter);
1951
1808
  scenegraph.removeObjectExtension(bufferView, EXT_MESHOPT_COMPRESSION);
1952
1809
  }
1953
1810
  }
1954
1811
 
1955
- // src/lib/extensions/EXT_texture_webp.ts
1812
+ // dist/lib/extensions/EXT_texture_webp.js
1956
1813
  var EXT_texture_webp_exports = {};
1957
1814
  __export(EXT_texture_webp_exports, {
1958
1815
  name: () => name5,
@@ -1971,10 +1828,7 @@ function preprocess(gltfData, options) {
1971
1828
  }
1972
1829
  const { json } = scenegraph;
1973
1830
  for (const texture of json.textures || []) {
1974
- const extension = scenegraph.getObjectExtension(
1975
- texture,
1976
- EXT_TEXTURE_WEBP
1977
- );
1831
+ const extension = scenegraph.getObjectExtension(texture, EXT_TEXTURE_WEBP);
1978
1832
  if (extension) {
1979
1833
  texture.source = extension.source;
1980
1834
  }
@@ -1983,7 +1837,7 @@ function preprocess(gltfData, options) {
1983
1837
  scenegraph.removeExtension(EXT_TEXTURE_WEBP);
1984
1838
  }
1985
1839
 
1986
- // src/lib/extensions/KHR_texture_basisu.ts
1840
+ // dist/lib/extensions/KHR_texture_basisu.js
1987
1841
  var KHR_texture_basisu_exports = {};
1988
1842
  __export(KHR_texture_basisu_exports, {
1989
1843
  name: () => name6,
@@ -1995,10 +1849,7 @@ function preprocess2(gltfData, options) {
1995
1849
  const scene = new GLTFScenegraph(gltfData);
1996
1850
  const { json } = scene;
1997
1851
  for (const texture of json.textures || []) {
1998
- const extension = scene.getObjectExtension(
1999
- texture,
2000
- KHR_TEXTURE_BASISU
2001
- );
1852
+ const extension = scene.getObjectExtension(texture, KHR_TEXTURE_BASISU);
2002
1853
  if (extension) {
2003
1854
  texture.source = extension.source;
2004
1855
  scene.removeObjectExtension(texture, KHR_TEXTURE_BASISU);
@@ -2007,7 +1858,7 @@ function preprocess2(gltfData, options) {
2007
1858
  scene.removeExtension(KHR_TEXTURE_BASISU);
2008
1859
  }
2009
1860
 
2010
- // src/lib/extensions/KHR_draco_mesh_compression.ts
1861
+ // dist/lib/extensions/KHR_draco_mesh_compression.js
2011
1862
  var KHR_draco_mesh_compression_exports = {};
2012
1863
  __export(KHR_draco_mesh_compression_exports, {
2013
1864
  decode: () => decode6,
@@ -2018,7 +1869,7 @@ __export(KHR_draco_mesh_compression_exports, {
2018
1869
  var import_loader_utils3 = require("@loaders.gl/loader-utils");
2019
1870
  var import_draco = require("@loaders.gl/draco");
2020
1871
 
2021
- // src/lib/gltf-utils/gltf-attribute-utils.ts
1872
+ // dist/lib/gltf-utils/gltf-attribute-utils.js
2022
1873
  function getGLTFAccessors(attributes) {
2023
1874
  const accessors = {};
2024
1875
  for (const name12 in attributes) {
@@ -2077,7 +1928,7 @@ function toTypedArray(array, ArrayType, convertTypedArrays = false) {
2077
1928
  return array;
2078
1929
  }
2079
1930
 
2080
- // src/lib/extensions/KHR_draco_mesh_compression.ts
1931
+ // dist/lib/extensions/KHR_draco_mesh_compression.js
2081
1932
  var KHR_DRACO_MESH_COMPRESSION = "KHR_draco_mesh_compression";
2082
1933
  var name7 = KHR_DRACO_MESH_COMPRESSION;
2083
1934
  function preprocess3(gltfData, options, context) {
@@ -2110,10 +1961,7 @@ function encode(gltfData, options = {}) {
2110
1961
  }
2111
1962
  }
2112
1963
  async function decompressPrimitive(scenegraph, primitive, options, context) {
2113
- const dracoExtension = scenegraph.getObjectExtension(
2114
- primitive,
2115
- KHR_DRACO_MESH_COMPRESSION
2116
- );
1964
+ const dracoExtension = scenegraph.getObjectExtension(primitive, KHR_DRACO_MESH_COMPRESSION);
2117
1965
  if (!dracoExtension) {
2118
1966
  return;
2119
1967
  }
@@ -2181,22 +2029,22 @@ function* makeMeshPrimitiveIterator(scenegraph) {
2181
2029
  }
2182
2030
  }
2183
2031
 
2184
- // src/lib/extensions/KHR_texture_transform.ts
2032
+ // dist/lib/extensions/KHR_texture_transform.js
2185
2033
  var KHR_texture_transform_exports = {};
2186
2034
  __export(KHR_texture_transform_exports, {
2187
2035
  decode: () => decode7,
2188
2036
  name: () => name8
2189
2037
  });
2190
2038
  var import_core = require("@math.gl/core");
2191
- var EXT_MESHOPT_TRANSFORM = "KHR_texture_transform";
2192
- var name8 = EXT_MESHOPT_TRANSFORM;
2039
+ var KHR_TEXTURE_TRANSFORM = "KHR_texture_transform";
2040
+ var name8 = KHR_TEXTURE_TRANSFORM;
2193
2041
  var scratchVector = new import_core.Vector3();
2194
2042
  var scratchRotationMatrix = new import_core.Matrix3();
2195
2043
  var scratchScaleMatrix = new import_core.Matrix3();
2196
2044
  async function decode7(gltfData, options) {
2197
2045
  var _a;
2198
2046
  const gltfScenegraph = new GLTFScenegraph(gltfData);
2199
- const hasExtension = gltfScenegraph.hasExtension(EXT_MESHOPT_TRANSFORM);
2047
+ const hasExtension = gltfScenegraph.hasExtension(KHR_TEXTURE_TRANSFORM);
2200
2048
  if (!hasExtension || !((_a = options.gltf) == null ? void 0 : _a.loadBuffers)) {
2201
2049
  return;
2202
2050
  }
@@ -2206,28 +2054,20 @@ async function decode7(gltfData, options) {
2206
2054
  }
2207
2055
  }
2208
2056
  function transformTexCoords(materialIndex, gltfData) {
2209
- var _a, _b, _c;
2210
- const processedTexCoords = [];
2057
+ var _a, _b, _c, _d;
2211
2058
  const material = (_a = gltfData.json.materials) == null ? void 0 : _a[materialIndex];
2212
- const baseColorTexture = (_b = material == null ? void 0 : material.pbrMetallicRoughness) == null ? void 0 : _b.baseColorTexture;
2213
- if (baseColorTexture) {
2214
- transformPrimitives(gltfData, materialIndex, baseColorTexture, processedTexCoords);
2215
- }
2216
- const emisiveTexture = material == null ? void 0 : material.emissiveTexture;
2217
- if (emisiveTexture) {
2218
- transformPrimitives(gltfData, materialIndex, emisiveTexture, processedTexCoords);
2219
- }
2220
- const normalTexture = material == null ? void 0 : material.normalTexture;
2221
- if (normalTexture) {
2222
- transformPrimitives(gltfData, materialIndex, normalTexture, processedTexCoords);
2223
- }
2224
- const occlusionTexture = material == null ? void 0 : material.occlusionTexture;
2225
- if (occlusionTexture) {
2226
- transformPrimitives(gltfData, materialIndex, occlusionTexture, processedTexCoords);
2227
- }
2228
- const metallicRoughnessTexture = (_c = material == null ? void 0 : material.pbrMetallicRoughness) == null ? void 0 : _c.metallicRoughnessTexture;
2229
- if (metallicRoughnessTexture) {
2230
- transformPrimitives(gltfData, materialIndex, metallicRoughnessTexture, processedTexCoords);
2059
+ const materialTextures = [
2060
+ (_b = material == null ? void 0 : material.pbrMetallicRoughness) == null ? void 0 : _b.baseColorTexture,
2061
+ material == null ? void 0 : material.emissiveTexture,
2062
+ material == null ? void 0 : material.normalTexture,
2063
+ material == null ? void 0 : material.occlusionTexture,
2064
+ (_c = material == null ? void 0 : material.pbrMetallicRoughness) == null ? void 0 : _c.metallicRoughnessTexture
2065
+ ];
2066
+ const processedTexCoords = [];
2067
+ for (const textureInfo of materialTextures) {
2068
+ if (textureInfo && ((_d = textureInfo == null ? void 0 : textureInfo.extensions) == null ? void 0 : _d[KHR_TEXTURE_TRANSFORM])) {
2069
+ transformPrimitives(gltfData, materialIndex, textureInfo, processedTexCoords);
2070
+ }
2231
2071
  }
2232
2072
  }
2233
2073
  function transformPrimitives(gltfData, materialIndex, texture, processedTexCoords) {
@@ -2247,12 +2087,10 @@ function transformPrimitives(gltfData, materialIndex, texture, processedTexCoord
2247
2087
  }
2248
2088
  function getTransformParameters(texture, processedTexCoords) {
2249
2089
  var _a;
2250
- const textureInfo = (_a = texture.extensions) == null ? void 0 : _a[EXT_MESHOPT_TRANSFORM];
2090
+ const textureInfo = (_a = texture.extensions) == null ? void 0 : _a[KHR_TEXTURE_TRANSFORM];
2251
2091
  const { texCoord: originalTexCoord = 0 } = texture;
2252
2092
  const { texCoord = originalTexCoord } = textureInfo;
2253
- const isProcessed = processedTexCoords.findIndex(
2254
- ([original, newTexCoord]) => original === originalTexCoord && newTexCoord === texCoord
2255
- ) !== -1;
2093
+ const isProcessed = processedTexCoords.findIndex(([original, newTexCoord]) => original === originalTexCoord && newTexCoord === texCoord) !== -1;
2256
2094
  if (!isProcessed) {
2257
2095
  const matrix = makeTransformationMatrix(textureInfo);
2258
2096
  if (originalTexCoord !== texCoord) {
@@ -2337,22 +2175,12 @@ function createAttribute(newTexCoord, originalAccessor, primitive, gltfData, new
2337
2175
  function makeTransformationMatrix(extensionData) {
2338
2176
  const { offset = [0, 0], rotation = 0, scale = [1, 1] } = extensionData;
2339
2177
  const translationMatrix = new import_core.Matrix3().set(1, 0, 0, 0, 1, 0, offset[0], offset[1], 1);
2340
- const rotationMatrix = scratchRotationMatrix.set(
2341
- Math.cos(rotation),
2342
- Math.sin(rotation),
2343
- 0,
2344
- -Math.sin(rotation),
2345
- Math.cos(rotation),
2346
- 0,
2347
- 0,
2348
- 0,
2349
- 1
2350
- );
2178
+ const rotationMatrix = scratchRotationMatrix.set(Math.cos(rotation), Math.sin(rotation), 0, -Math.sin(rotation), Math.cos(rotation), 0, 0, 0, 1);
2351
2179
  const scaleMatrix = scratchScaleMatrix.set(scale[0], 0, 0, 0, scale[1], 0, 0, 0, 1);
2352
2180
  return translationMatrix.multiplyRight(rotationMatrix).multiplyRight(scaleMatrix);
2353
2181
  }
2354
2182
 
2355
- // src/lib/extensions/deprecated/KHR_lights_punctual.ts
2183
+ // dist/lib/extensions/deprecated/KHR_lights_punctual.js
2356
2184
  var KHR_lights_punctual_exports = {};
2357
2185
  __export(KHR_lights_punctual_exports, {
2358
2186
  decode: () => decode8,
@@ -2395,7 +2223,7 @@ async function encode2(gltfData) {
2395
2223
  }
2396
2224
  }
2397
2225
 
2398
- // src/lib/extensions/deprecated/KHR_materials_unlit.ts
2226
+ // dist/lib/extensions/deprecated/KHR_materials_unlit.js
2399
2227
  var KHR_materials_unlit_exports = {};
2400
2228
  __export(KHR_materials_unlit_exports, {
2401
2229
  decode: () => decode9,
@@ -2430,7 +2258,7 @@ function encode3(gltfData) {
2430
2258
  }
2431
2259
  }
2432
2260
 
2433
- // src/lib/extensions/deprecated/KHR_techniques_webgl.ts
2261
+ // dist/lib/extensions/deprecated/KHR_techniques_webgl.js
2434
2262
  var KHR_techniques_webgl_exports = {};
2435
2263
  __export(KHR_techniques_webgl_exports, {
2436
2264
  decode: () => decode10,
@@ -2468,9 +2296,7 @@ function resolveTechniques(techniquesExtension, gltfScenegraph) {
2468
2296
  const textDecoder = new TextDecoder();
2469
2297
  shaders.forEach((shader) => {
2470
2298
  if (Number.isFinite(shader.bufferView)) {
2471
- shader.code = textDecoder.decode(
2472
- gltfScenegraph.getTypedArrayForBufferView(shader.bufferView)
2473
- );
2299
+ shader.code = textDecoder.decode(gltfScenegraph.getTypedArrayForBufferView(shader.bufferView));
2474
2300
  } else {
2475
2301
  throw new Error("KHR_techniques_webgl: no shader code");
2476
2302
  }
@@ -2499,7 +2325,7 @@ function resolveValues(technique, gltfScenegraph) {
2499
2325
  return values;
2500
2326
  }
2501
2327
 
2502
- // src/lib/api/gltf-extensions.ts
2328
+ // dist/lib/api/gltf-extensions.js
2503
2329
  var EXTENSIONS = [
2504
2330
  // 1.0
2505
2331
  // KHR_binary_gltf is handled separately - must be processed before other parsing starts
@@ -2539,16 +2365,13 @@ function useExtension(extensionName, options) {
2539
2365
  return !exclude;
2540
2366
  }
2541
2367
 
2542
- // src/lib/extensions/KHR_binary_gltf.ts
2368
+ // dist/lib/extensions/KHR_binary_gltf.js
2543
2369
  var KHR_BINARY_GLTF = "KHR_binary_glTF";
2544
2370
  function preprocess4(gltfData) {
2545
2371
  const gltfScenegraph = new GLTFScenegraph(gltfData);
2546
2372
  const { json } = gltfScenegraph;
2547
2373
  for (const image of json.images || []) {
2548
- const extension = gltfScenegraph.getObjectExtension(
2549
- image,
2550
- KHR_BINARY_GLTF
2551
- );
2374
+ const extension = gltfScenegraph.getObjectExtension(image, KHR_BINARY_GLTF);
2552
2375
  if (extension) {
2553
2376
  Object.assign(image, extension);
2554
2377
  }
@@ -2560,7 +2383,7 @@ function preprocess4(gltfData) {
2560
2383
  gltfScenegraph.removeExtension(KHR_BINARY_GLTF);
2561
2384
  }
2562
2385
 
2563
- // src/lib/api/normalize-gltf-v1.ts
2386
+ // dist/lib/api/normalize-gltf-v1.js
2564
2387
  var GLTF_ARRAYS = {
2565
2388
  accessors: "accessor",
2566
2389
  animations: "animation",
@@ -2590,22 +2413,21 @@ var GLTF_KEYS = {
2590
2413
  texture: "textures"
2591
2414
  };
2592
2415
  var GLTFV1Normalizer = class {
2593
- constructor() {
2594
- this.idToIndexMap = {
2595
- animations: {},
2596
- accessors: {},
2597
- buffers: {},
2598
- bufferViews: {},
2599
- images: {},
2600
- materials: {},
2601
- meshes: {},
2602
- nodes: {},
2603
- samplers: {},
2604
- scenes: {},
2605
- skins: {},
2606
- textures: {}
2607
- };
2608
- }
2416
+ idToIndexMap = {
2417
+ animations: {},
2418
+ accessors: {},
2419
+ buffers: {},
2420
+ bufferViews: {},
2421
+ images: {},
2422
+ materials: {},
2423
+ meshes: {},
2424
+ nodes: {},
2425
+ samplers: {},
2426
+ scenes: {},
2427
+ skins: {},
2428
+ textures: {}
2429
+ };
2430
+ json;
2609
2431
  // constructor() {}
2610
2432
  /**
2611
2433
  * Convert (normalize) glTF < 2.0 to glTF 2.0
@@ -2774,7 +2596,7 @@ function normalizeGLTFV1(gltf, options = {}) {
2774
2596
  return new GLTFV1Normalizer().normalize(gltf, options);
2775
2597
  }
2776
2598
 
2777
- // src/lib/parsers/parse-gltf.ts
2599
+ // dist/lib/parsers/parse-gltf.js
2778
2600
  async function parseGLTF(gltf, arrayBufferOrString, byteOffset = 0, options, context) {
2779
2601
  var _a, _b, _c;
2780
2602
  parseGLTFContainerSync(gltf, arrayBufferOrString, byteOffset, options);
@@ -2882,16 +2704,11 @@ async function loadImage(gltf, image, index, options, context) {
2882
2704
  arrayBuffer = (0, import_loader_utils4.sliceArrayBuffer)(array.buffer, array.byteOffset, array.byteLength);
2883
2705
  }
2884
2706
  assert(arrayBuffer, "glTF image has no data");
2885
- let parsedImage = await (0, import_loader_utils4.parseFromContext)(
2886
- arrayBuffer,
2887
- [import_images4.ImageLoader, import_textures.BasisLoader],
2888
- {
2889
- ...options,
2890
- mimeType: image.mimeType,
2891
- basis: options.basis || { format: (0, import_textures.selectSupportedBasisFormat)() }
2892
- },
2893
- context
2894
- );
2707
+ let parsedImage = await (0, import_loader_utils4.parseFromContext)(arrayBuffer, [import_images4.ImageLoader, import_textures.BasisLoader], {
2708
+ ...options,
2709
+ mimeType: image.mimeType,
2710
+ basis: options.basis || { format: (0, import_textures.selectSupportedBasisFormat)() }
2711
+ }, context);
2895
2712
  if (parsedImage && parsedImage[0]) {
2896
2713
  parsedImage = {
2897
2714
  compressed: true,
@@ -2906,7 +2723,7 @@ async function loadImage(gltf, image, index, options, context) {
2906
2723
  gltf.images[index] = parsedImage;
2907
2724
  }
2908
2725
 
2909
- // src/gltf-loader.ts
2726
+ // dist/gltf-loader.js
2910
2727
  var GLTFLoader = {
2911
2728
  name: "glTF",
2912
2729
  id: "gltf",
@@ -2942,7 +2759,7 @@ async function parse(arrayBuffer, options = {}, context) {
2942
2759
  return await parseGLTF(gltf, arrayBuffer, byteOffset, options, context);
2943
2760
  }
2944
2761
 
2945
- // src/lib/encoders/encode-glb.ts
2762
+ // dist/lib/encoders/encode-glb.js
2946
2763
  var import_loader_utils5 = require("@loaders.gl/loader-utils");
2947
2764
  var MAGIC_glTF2 = 1179937895;
2948
2765
  var MAGIC_JSON = 1313821514;
@@ -2990,7 +2807,7 @@ function encodeGLBSync(glb, dataView, byteOffset = 0, options = {}) {
2990
2807
  return byteOffset;
2991
2808
  }
2992
2809
 
2993
- // src/lib/encoders/encode-gltf.ts
2810
+ // dist/lib/encoders/encode-gltf.js
2994
2811
  function encodeGLTFSync(gltf, arrayBuffer, byteOffset, options) {
2995
2812
  convertBuffersToBase64(gltf);
2996
2813
  return encodeGLBSync(gltf, arrayBuffer, byteOffset, options);
@@ -3001,7 +2818,7 @@ function convertBuffersToBase64(gltf, { firstBuffer = 0 } = {}) {
3001
2818
  }
3002
2819
  }
3003
2820
 
3004
- // src/gltf-writer.ts
2821
+ // dist/gltf-writer.js
3005
2822
  var GLTFWriter = {
3006
2823
  name: "glTF",
3007
2824
  id: "gltf",
@@ -3027,7 +2844,7 @@ function encodeSync(gltf, options = {}) {
3027
2844
  return arrayBuffer;
3028
2845
  }
3029
2846
 
3030
- // src/glb-loader.ts
2847
+ // dist/glb-loader.js
3031
2848
  var GLBLoader = {
3032
2849
  name: "GLB",
3033
2850
  id: "glb",
@@ -3055,7 +2872,7 @@ function parseSync(arrayBuffer, options) {
3055
2872
  return glb;
3056
2873
  }
3057
2874
 
3058
- // src/glb-writer.ts
2875
+ // dist/glb-writer.js
3059
2876
  var GLBWriter = {
3060
2877
  name: "GLB",
3061
2878
  id: "glb",
@@ -3079,7 +2896,7 @@ function encodeSync2(glb, options) {
3079
2896
  return arrayBuffer;
3080
2897
  }
3081
2898
 
3082
- // src/lib/api/post-process-gltf.ts
2899
+ // dist/lib/api/post-process-gltf.js
3083
2900
  var COMPONENTS2 = {
3084
2901
  SCALAR: 1,
3085
2902
  VEC2: 2,
@@ -3139,11 +2956,13 @@ function getSizeFromAccessorType(type) {
3139
2956
  return COMPONENTS2[type];
3140
2957
  }
3141
2958
  var GLTFPostProcessor = class {
3142
- constructor() {
3143
- this.baseUri = "";
3144
- this.buffers = [];
3145
- this.images = [];
3146
- }
2959
+ baseUri = "";
2960
+ // @ts-expect-error
2961
+ jsonUnprocessed;
2962
+ // @ts-expect-error
2963
+ json;
2964
+ buffers = [];
2965
+ images = [];
3147
2966
  postProcess(gltf, options = {}) {
3148
2967
  const { json, buffers = [], images = [] } = gltf;
3149
2968
  const { baseUri = "" } = gltf;
@@ -3268,15 +3087,12 @@ var GLTFPostProcessor = class {
3268
3087
  node.skin = this.getSkin(gltfNode.skin);
3269
3088
  }
3270
3089
  if (gltfNode.meshes !== void 0 && gltfNode.meshes.length) {
3271
- node.mesh = gltfNode.meshes.reduce(
3272
- (accum, meshIndex) => {
3273
- const mesh = this.getMesh(meshIndex);
3274
- accum.id = mesh.id;
3275
- accum.primitives = accum.primitives.concat(mesh.primitives);
3276
- return accum;
3277
- },
3278
- { primitives: [] }
3279
- );
3090
+ node.mesh = gltfNode.meshes.reduce((accum, meshIndex) => {
3091
+ const mesh = this.getMesh(meshIndex);
3092
+ accum.id = mesh.id;
3093
+ accum.primitives = accum.primitives.concat(mesh.primitives);
3094
+ return accum;
3095
+ }, { primitives: [] });
3280
3096
  }
3281
3097
  return node;
3282
3098
  }
@@ -3382,13 +3198,7 @@ var GLTFPostProcessor = class {
3382
3198
  const byteOffset = (accessor.bufferView.byteOffset || 0) + (accessor.byteOffset || 0) + buffer.byteOffset;
3383
3199
  let cutBuffer = buffer.arrayBuffer.slice(byteOffset, byteOffset + byteLength);
3384
3200
  if (accessor.bufferView.byteStride) {
3385
- cutBuffer = this._getValueFromInterleavedBuffer(
3386
- buffer,
3387
- byteOffset,
3388
- accessor.bufferView.byteStride,
3389
- accessor.bytesPerElement,
3390
- accessor.count
3391
- );
3201
+ cutBuffer = this._getValueFromInterleavedBuffer(buffer, byteOffset, accessor.bufferView.byteStride, accessor.bytesPerElement, accessor.count);
3392
3202
  }
3393
3203
  accessor.value = new ArrayType(cutBuffer);
3394
3204
  }
@@ -3408,10 +3218,7 @@ var GLTFPostProcessor = class {
3408
3218
  const result = new Uint8Array(count * bytesPerElement);
3409
3219
  for (let i = 0; i < count; i++) {
3410
3220
  const elementOffset = byteOffset + i * byteStride;
3411
- result.set(
3412
- new Uint8Array(buffer.arrayBuffer.slice(elementOffset, elementOffset + bytesPerElement)),
3413
- i * bytesPerElement
3414
- );
3221
+ result.set(new Uint8Array(buffer.arrayBuffer.slice(elementOffset, elementOffset + bytesPerElement)), i * bytesPerElement);
3415
3222
  }
3416
3223
  return result.buffer;
3417
3224
  }
@@ -3489,3 +3296,4 @@ var GLTFPostProcessor = class {
3489
3296
  function postProcessGLTF(gltf, options) {
3490
3297
  return new GLTFPostProcessor().postProcess(gltf, options);
3491
3298
  }
3299
+ //# sourceMappingURL=index.cjs.map