@loaders.gl/gltf 4.2.0-alpha.4 → 4.2.0-alpha.5
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.
- package/dist/dist.dev.js +1049 -517
- package/dist/dist.min.js +9 -0
- package/dist/glb-loader.d.ts +2 -2
- package/dist/glb-loader.d.ts.map +1 -1
- package/dist/glb-loader.js +22 -21
- package/dist/glb-writer.d.ts +2 -2
- package/dist/glb-writer.d.ts.map +1 -1
- package/dist/glb-writer.js +27 -24
- package/dist/gltf-loader.d.ts +3 -3
- package/dist/gltf-loader.d.ts.map +1 -1
- package/dist/gltf-loader.js +31 -36
- package/dist/gltf-writer.js +24 -26
- package/dist/index.cjs +95 -284
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +17 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/lib/api/gltf-extensions.d.ts +2 -2
- package/dist/lib/api/gltf-extensions.d.ts.map +1 -1
- package/dist/lib/api/gltf-extensions.js +45 -22
- package/dist/lib/api/gltf-scenegraph.d.ts +2 -2
- package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
- package/dist/lib/api/gltf-scenegraph.js +561 -438
- package/dist/lib/api/normalize-gltf-v1.js +250 -181
- package/dist/lib/api/post-process-gltf.d.ts +3 -3
- package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
- package/dist/lib/api/post-process-gltf.js +375 -339
- package/dist/lib/encoders/encode-glb.js +62 -48
- package/dist/lib/encoders/encode-gltf.js +24 -10
- package/dist/lib/extensions/EXT_mesh_features.d.ts +2 -2
- package/dist/lib/extensions/EXT_mesh_features.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_mesh_features.js +55 -33
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts +2 -2
- package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_meshopt_compression.js +27 -31
- package/dist/lib/extensions/EXT_structural_metadata.d.ts +2 -2
- package/dist/lib/extensions/EXT_structural_metadata.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_structural_metadata.js +434 -230
- package/dist/lib/extensions/EXT_texture_webp.d.ts +2 -2
- package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
- package/dist/lib/extensions/EXT_texture_webp.js +24 -17
- package/dist/lib/extensions/KHR_binary_gltf.d.ts +1 -1
- package/dist/lib/extensions/KHR_binary_gltf.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_binary_gltf.js +29 -15
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts +2 -2
- package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_draco_mesh_compression.js +110 -87
- package/dist/lib/extensions/KHR_texture_basisu.d.ts +2 -2
- package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_texture_basisu.js +19 -12
- package/dist/lib/extensions/KHR_texture_transform.d.ts +2 -2
- package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -1
- package/dist/lib/extensions/KHR_texture_transform.js +194 -154
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts +2 -2
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +263 -143
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +44 -32
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +30 -24
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +65 -52
- package/dist/lib/extensions/utils/3d-tiles-utils.d.ts +2 -2
- package/dist/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -1
- package/dist/lib/extensions/utils/3d-tiles-utils.js +298 -181
- package/dist/lib/gltf-utils/get-typed-array.d.ts +1 -1
- package/dist/lib/gltf-utils/get-typed-array.d.ts.map +1 -1
- package/dist/lib/gltf-utils/get-typed-array.js +54 -42
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts +1 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.js +58 -52
- package/dist/lib/gltf-utils/gltf-constants.js +27 -27
- package/dist/lib/gltf-utils/gltf-utils.d.ts +1 -1
- package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -1
- package/dist/lib/gltf-utils/gltf-utils.js +67 -60
- package/dist/lib/gltf-utils/resolve-url.js +12 -10
- package/dist/lib/parsers/parse-glb.d.ts +1 -1
- package/dist/lib/parsers/parse-glb.d.ts.map +1 -1
- package/dist/lib/parsers/parse-glb.js +132 -89
- package/dist/lib/parsers/parse-gltf.d.ts +3 -3
- package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
- package/dist/lib/parsers/parse-gltf.js +155 -126
- package/dist/lib/types/glb-types.js +0 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.d.ts +1 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.js +0 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts +1 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.js +0 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.d.ts +1 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.d.ts.map +1 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.js +0 -1
- package/dist/lib/types/gltf-json-schema.js +2 -1
- package/dist/lib/types/gltf-postprocessed-schema.js +2 -1
- package/dist/lib/types/gltf-types.d.ts +3 -3
- package/dist/lib/types/gltf-types.d.ts.map +1 -1
- package/dist/lib/types/gltf-types.js +1 -1
- package/dist/lib/utils/assert.js +6 -4
- package/dist/lib/utils/version.js +3 -1
- package/dist/meshopt/meshopt-decoder.js +86 -67
- package/dist/webp/webp.js +28 -19
- package/package.json +12 -8
- package/dist/glb-loader.js.map +0 -1
- package/dist/glb-writer.js.map +0 -1
- package/dist/gltf-loader.js.map +0 -1
- package/dist/gltf-writer.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/lib/api/gltf-extensions.js.map +0 -1
- package/dist/lib/api/gltf-scenegraph.js.map +0 -1
- package/dist/lib/api/normalize-gltf-v1.js.map +0 -1
- package/dist/lib/api/post-process-gltf.js.map +0 -1
- package/dist/lib/encoders/encode-glb.js.map +0 -1
- package/dist/lib/encoders/encode-gltf.js.map +0 -1
- package/dist/lib/extensions/EXT_mesh_features.js.map +0 -1
- package/dist/lib/extensions/EXT_meshopt_compression.js.map +0 -1
- package/dist/lib/extensions/EXT_structural_metadata.js.map +0 -1
- package/dist/lib/extensions/EXT_texture_webp.js.map +0 -1
- package/dist/lib/extensions/KHR_binary_gltf.js.map +0 -1
- package/dist/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
- package/dist/lib/extensions/KHR_texture_basisu.js.map +0 -1
- package/dist/lib/extensions/KHR_texture_transform.js.map +0 -1
- package/dist/lib/extensions/deprecated/EXT_feature_metadata.js.map +0 -1
- package/dist/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
- package/dist/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
- package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
- package/dist/lib/extensions/utils/3d-tiles-utils.js.map +0 -1
- package/dist/lib/gltf-utils/get-typed-array.js.map +0 -1
- package/dist/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
- package/dist/lib/gltf-utils/gltf-constants.js.map +0 -1
- package/dist/lib/gltf-utils/gltf-utils.js.map +0 -1
- package/dist/lib/gltf-utils/resolve-url.js.map +0 -1
- package/dist/lib/parsers/parse-glb.js.map +0 -1
- package/dist/lib/parsers/parse-gltf.js.map +0 -1
- package/dist/lib/types/glb-types.js.map +0 -1
- package/dist/lib/types/gltf-ext-feature-metadata-schema.js.map +0 -1
- package/dist/lib/types/gltf-ext-mesh-features-schema.js.map +0 -1
- package/dist/lib/types/gltf-ext-structural-metadata-schema.js.map +0 -1
- package/dist/lib/types/gltf-json-schema.js.map +0 -1
- package/dist/lib/types/gltf-postprocessed-schema.js.map +0 -1
- package/dist/lib/types/gltf-types.js.map +0 -1
- package/dist/lib/utils/assert.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/meshopt/meshopt-decoder.js.map +0 -1
- package/dist/meshopt/meshopt-encoder.ts.disabled +0 -409
- 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
|
-
//
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
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(
|
|
34
|
+
module.exports = __toCommonJS(dist_exports);
|
|
35
35
|
|
|
36
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
//
|
|
190
|
+
// dist/lib/api/gltf-scenegraph.js
|
|
197
191
|
function makeDefaultGLTFJson() {
|
|
198
192
|
return {
|
|
199
193
|
asset: {
|
|
@@ -716,7 +710,7 @@ var GLTFScenegraph = class {
|
|
|
716
710
|
}
|
|
717
711
|
};
|
|
718
712
|
|
|
719
|
-
//
|
|
713
|
+
// dist/lib/extensions/utils/3d-tiles-utils.js
|
|
720
714
|
var import_images2 = require("@loaders.gl/images");
|
|
721
715
|
function emod(n) {
|
|
722
716
|
return (n % 1 + 1) % 1;
|
|
@@ -807,13 +801,7 @@ function getPrimitiveTextureData(scenegraph, textureInfo, primitive) {
|
|
|
807
801
|
if (parsedImage && typeof parsedImage.width !== "undefined") {
|
|
808
802
|
const textureData = [];
|
|
809
803
|
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
|
-
);
|
|
804
|
+
const value = getImageValueByCoordinates(parsedImage, mimeType, textureCoordinates, index, textureInfo.channels);
|
|
817
805
|
textureData.push(value);
|
|
818
806
|
}
|
|
819
807
|
return textureData;
|
|
@@ -928,7 +916,7 @@ function getPropertyDataString(numberOfElements, valuesDataBytes, arrayOffsets,
|
|
|
928
916
|
return [];
|
|
929
917
|
}
|
|
930
918
|
|
|
931
|
-
//
|
|
919
|
+
// dist/lib/extensions/EXT_mesh_features.js
|
|
932
920
|
var EXT_MESH_FEATURES_NAME = "EXT_mesh_features";
|
|
933
921
|
var name = EXT_MESH_FEATURES_NAME;
|
|
934
922
|
async function decode(gltfData, options) {
|
|
@@ -971,7 +959,7 @@ function processMeshPrimitiveFeatures(scenegraph, primitive, options) {
|
|
|
971
959
|
}
|
|
972
960
|
}
|
|
973
961
|
|
|
974
|
-
//
|
|
962
|
+
// dist/lib/extensions/EXT_structural_metadata.js
|
|
975
963
|
var EXT_structural_metadata_exports = {};
|
|
976
964
|
__export(EXT_structural_metadata_exports, {
|
|
977
965
|
decode: () => decode2,
|
|
@@ -988,9 +976,7 @@ function decodeExtStructuralMetadata(scenegraph, options) {
|
|
|
988
976
|
if (!((_a = options.gltf) == null ? void 0 : _a.loadBuffers)) {
|
|
989
977
|
return;
|
|
990
978
|
}
|
|
991
|
-
const extension = scenegraph.getExtension(
|
|
992
|
-
EXT_STRUCTURAL_METADATA_NAME
|
|
993
|
-
);
|
|
979
|
+
const extension = scenegraph.getExtension(EXT_STRUCTURAL_METADATA_NAME);
|
|
994
980
|
if (!extension) {
|
|
995
981
|
return;
|
|
996
982
|
}
|
|
@@ -1068,21 +1054,11 @@ function processPrimitivePropertyTexture(scenegraph, propertyTexture, primitive,
|
|
|
1068
1054
|
textureInfoTopLevel.data = [];
|
|
1069
1055
|
}
|
|
1070
1056
|
const featureTextureTable = textureInfoTopLevel.data;
|
|
1071
|
-
const propertyData = getPrimitiveTextureData(
|
|
1072
|
-
scenegraph,
|
|
1073
|
-
textureInfoTopLevel,
|
|
1074
|
-
primitive
|
|
1075
|
-
);
|
|
1057
|
+
const propertyData = getPrimitiveTextureData(scenegraph, textureInfoTopLevel, primitive);
|
|
1076
1058
|
if (propertyData === null) {
|
|
1077
1059
|
continue;
|
|
1078
1060
|
}
|
|
1079
|
-
primitivePropertyDataToAttributes(
|
|
1080
|
-
scenegraph,
|
|
1081
|
-
attributeName,
|
|
1082
|
-
propertyData,
|
|
1083
|
-
featureTextureTable,
|
|
1084
|
-
primitive
|
|
1085
|
-
);
|
|
1061
|
+
primitivePropertyDataToAttributes(scenegraph, attributeName, propertyData, featureTextureTable, primitive);
|
|
1086
1062
|
textureInfoTopLevel.data = featureTextureTable;
|
|
1087
1063
|
extension.dataAttributeNames.push(attributeName);
|
|
1088
1064
|
}
|
|
@@ -1091,22 +1067,14 @@ function processPropertyTable(scenegraph, schema, propertyTable) {
|
|
|
1091
1067
|
var _a, _b;
|
|
1092
1068
|
const schemaClass = (_a = schema.classes) == null ? void 0 : _a[propertyTable.class];
|
|
1093
1069
|
if (!schemaClass) {
|
|
1094
|
-
throw new Error(
|
|
1095
|
-
`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`
|
|
1096
|
-
);
|
|
1070
|
+
throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`);
|
|
1097
1071
|
}
|
|
1098
1072
|
const numberOfElements = propertyTable.count;
|
|
1099
1073
|
for (const propertyName in schemaClass.properties) {
|
|
1100
1074
|
const classProperty = schemaClass.properties[propertyName];
|
|
1101
1075
|
const propertyTableProperty = (_b = propertyTable.properties) == null ? void 0 : _b[propertyName];
|
|
1102
1076
|
if (propertyTableProperty) {
|
|
1103
|
-
const data = getPropertyDataFromBinarySource(
|
|
1104
|
-
scenegraph,
|
|
1105
|
-
schema,
|
|
1106
|
-
classProperty,
|
|
1107
|
-
numberOfElements,
|
|
1108
|
-
propertyTableProperty
|
|
1109
|
-
);
|
|
1077
|
+
const data = getPropertyDataFromBinarySource(scenegraph, schema, classProperty, numberOfElements, propertyTableProperty);
|
|
1110
1078
|
propertyTableProperty.data = data;
|
|
1111
1079
|
}
|
|
1112
1080
|
}
|
|
@@ -1115,17 +1083,8 @@ function getPropertyDataFromBinarySource(scenegraph, schema, classProperty, numb
|
|
|
1115
1083
|
let data = [];
|
|
1116
1084
|
const valuesBufferView = propertyTableProperty.values;
|
|
1117
1085
|
const valuesDataBytes = scenegraph.getTypedArrayForBufferView(valuesBufferView);
|
|
1118
|
-
const arrayOffsets = getArrayOffsetsForProperty(
|
|
1119
|
-
|
|
1120
|
-
classProperty,
|
|
1121
|
-
propertyTableProperty,
|
|
1122
|
-
numberOfElements
|
|
1123
|
-
);
|
|
1124
|
-
const stringOffsets = getStringOffsetsForProperty(
|
|
1125
|
-
scenegraph,
|
|
1126
|
-
propertyTableProperty,
|
|
1127
|
-
numberOfElements
|
|
1128
|
-
);
|
|
1086
|
+
const arrayOffsets = getArrayOffsetsForProperty(scenegraph, classProperty, propertyTableProperty, numberOfElements);
|
|
1087
|
+
const stringOffsets = getStringOffsetsForProperty(scenegraph, propertyTableProperty, numberOfElements);
|
|
1129
1088
|
switch (classProperty.type) {
|
|
1130
1089
|
case "SCALAR":
|
|
1131
1090
|
case "VEC2":
|
|
@@ -1145,13 +1104,7 @@ function getPropertyDataFromBinarySource(scenegraph, schema, classProperty, numb
|
|
|
1145
1104
|
break;
|
|
1146
1105
|
}
|
|
1147
1106
|
case "ENUM": {
|
|
1148
|
-
data = getPropertyDataENUM(
|
|
1149
|
-
schema,
|
|
1150
|
-
classProperty,
|
|
1151
|
-
numberOfElements,
|
|
1152
|
-
valuesDataBytes,
|
|
1153
|
-
arrayOffsets
|
|
1154
|
-
);
|
|
1107
|
+
data = getPropertyDataENUM(schema, classProperty, numberOfElements, valuesDataBytes, arrayOffsets);
|
|
1155
1108
|
break;
|
|
1156
1109
|
}
|
|
1157
1110
|
default:
|
|
@@ -1164,23 +1117,13 @@ function getArrayOffsetsForProperty(scenegraph, classProperty, propertyTableProp
|
|
|
1164
1117
|
// If `count` is NOT defined, it's a VARIABLE-length array
|
|
1165
1118
|
typeof classProperty.count === "undefined" && // `arrayOffsets` is an index of the buffer view containing offsets for variable-length arrays.
|
|
1166
1119
|
typeof propertyTableProperty.arrayOffsets !== "undefined") {
|
|
1167
|
-
return getOffsetsForProperty(
|
|
1168
|
-
scenegraph,
|
|
1169
|
-
propertyTableProperty.arrayOffsets,
|
|
1170
|
-
propertyTableProperty.arrayOffsetType || "UINT32",
|
|
1171
|
-
numberOfElements
|
|
1172
|
-
);
|
|
1120
|
+
return getOffsetsForProperty(scenegraph, propertyTableProperty.arrayOffsets, propertyTableProperty.arrayOffsetType || "UINT32", numberOfElements);
|
|
1173
1121
|
}
|
|
1174
1122
|
return null;
|
|
1175
1123
|
}
|
|
1176
1124
|
function getStringOffsetsForProperty(scenegraph, propertyTableProperty, numberOfElements) {
|
|
1177
1125
|
if (typeof propertyTableProperty.stringOffsets !== "undefined") {
|
|
1178
|
-
return getOffsetsForProperty(
|
|
1179
|
-
scenegraph,
|
|
1180
|
-
propertyTableProperty.stringOffsets,
|
|
1181
|
-
propertyTableProperty.stringOffsetType || "UINT32",
|
|
1182
|
-
numberOfElements
|
|
1183
|
-
);
|
|
1126
|
+
return getOffsetsForProperty(scenegraph, propertyTableProperty.stringOffsets, propertyTableProperty.stringOffsetType || "UINT32", numberOfElements);
|
|
1184
1127
|
}
|
|
1185
1128
|
return null;
|
|
1186
1129
|
}
|
|
@@ -1203,13 +1146,7 @@ function getPropertyDataNumeric(classProperty, numberOfElements, valuesDataBytes
|
|
|
1203
1146
|
}
|
|
1204
1147
|
if (isArray) {
|
|
1205
1148
|
if (arrayOffsets) {
|
|
1206
|
-
return parseVariableLengthArrayNumeric(
|
|
1207
|
-
valuesData,
|
|
1208
|
-
numberOfElements,
|
|
1209
|
-
arrayOffsets,
|
|
1210
|
-
valuesDataBytes.length,
|
|
1211
|
-
elementSize
|
|
1212
|
-
);
|
|
1149
|
+
return parseVariableLengthArrayNumeric(valuesData, numberOfElements, arrayOffsets, valuesDataBytes.length, elementSize);
|
|
1213
1150
|
}
|
|
1214
1151
|
if (arrayCount) {
|
|
1215
1152
|
return parseFixedLengthArrayNumeric(valuesData, numberOfElements, arrayCount);
|
|
@@ -1222,25 +1159,16 @@ function getPropertyDataENUM(schema, classProperty, numberOfElements, valuesData
|
|
|
1222
1159
|
var _a;
|
|
1223
1160
|
const enumType = classProperty.enumType;
|
|
1224
1161
|
if (!enumType) {
|
|
1225
|
-
throw new Error(
|
|
1226
|
-
"Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM"
|
|
1227
|
-
);
|
|
1162
|
+
throw new Error("Incorrect data in the EXT_structural_metadata extension: classProperty.enumType is not set for type ENUM");
|
|
1228
1163
|
}
|
|
1229
1164
|
const enumEntry = (_a = schema.enums) == null ? void 0 : _a[enumType];
|
|
1230
1165
|
if (!enumEntry) {
|
|
1231
|
-
throw new Error(
|
|
1232
|
-
`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${enumType}`
|
|
1233
|
-
);
|
|
1166
|
+
throw new Error(`Incorrect data in the EXT_structural_metadata extension: schema.enums does't contain ${enumType}`);
|
|
1234
1167
|
}
|
|
1235
1168
|
const enumValueType = enumEntry.valueType || "UINT16";
|
|
1236
1169
|
const elementSize = getArrayElementByteSize(classProperty.type, enumValueType);
|
|
1237
1170
|
const elementCount = valuesDataBytes.byteLength / elementSize;
|
|
1238
|
-
let valuesData = convertRawBufferToMetadataArray(
|
|
1239
|
-
valuesDataBytes,
|
|
1240
|
-
classProperty.type,
|
|
1241
|
-
enumValueType,
|
|
1242
|
-
elementCount
|
|
1243
|
-
);
|
|
1171
|
+
let valuesData = convertRawBufferToMetadataArray(valuesDataBytes, classProperty.type, enumValueType, elementCount);
|
|
1244
1172
|
if (!valuesData) {
|
|
1245
1173
|
valuesData = valuesDataBytes;
|
|
1246
1174
|
}
|
|
@@ -1264,14 +1192,7 @@ function getPropertyDataENUM(schema, classProperty, numberOfElements, valuesData
|
|
|
1264
1192
|
return getEnumsArray(valuesData, 0, numberOfElements, enumEntry);
|
|
1265
1193
|
}
|
|
1266
1194
|
function parseVariableLengthArrayENUM(params) {
|
|
1267
|
-
const {
|
|
1268
|
-
valuesData,
|
|
1269
|
-
numberOfElements,
|
|
1270
|
-
arrayOffsets,
|
|
1271
|
-
valuesDataBytesLength,
|
|
1272
|
-
elementSize,
|
|
1273
|
-
enumEntry
|
|
1274
|
-
} = params;
|
|
1195
|
+
const { valuesData, numberOfElements, arrayOffsets, valuesDataBytesLength, elementSize, enumEntry } = params;
|
|
1275
1196
|
const attributeValueArray = [];
|
|
1276
1197
|
for (let index = 0; index < numberOfElements; index++) {
|
|
1277
1198
|
const arrayOffset = arrayOffsets[index];
|
|
@@ -1321,7 +1242,7 @@ function getEnumByValue(enumEntry, value) {
|
|
|
1321
1242
|
return null;
|
|
1322
1243
|
}
|
|
1323
1244
|
|
|
1324
|
-
//
|
|
1245
|
+
// dist/lib/extensions/deprecated/EXT_feature_metadata.js
|
|
1325
1246
|
var EXT_feature_metadata_exports = {};
|
|
1326
1247
|
__export(EXT_feature_metadata_exports, {
|
|
1327
1248
|
decode: () => decode3,
|
|
@@ -1405,22 +1326,14 @@ function processPropertyTable2(scenegraph, schema, propertyTable) {
|
|
|
1405
1326
|
}
|
|
1406
1327
|
const schemaClass = (_a = schema.classes) == null ? void 0 : _a[propertyTable.class];
|
|
1407
1328
|
if (!schemaClass) {
|
|
1408
|
-
throw new Error(
|
|
1409
|
-
`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`
|
|
1410
|
-
);
|
|
1329
|
+
throw new Error(`Incorrect data in the EXT_structural_metadata extension: no schema class with name ${propertyTable.class}`);
|
|
1411
1330
|
}
|
|
1412
1331
|
const numberOfElements = propertyTable.count;
|
|
1413
1332
|
for (const propertyName in schemaClass.properties) {
|
|
1414
1333
|
const classProperty = schemaClass.properties[propertyName];
|
|
1415
1334
|
const propertyTableProperty = (_b = propertyTable.properties) == null ? void 0 : _b[propertyName];
|
|
1416
1335
|
if (propertyTableProperty) {
|
|
1417
|
-
const data = getPropertyDataFromBinarySource2(
|
|
1418
|
-
scenegraph,
|
|
1419
|
-
schema,
|
|
1420
|
-
classProperty,
|
|
1421
|
-
numberOfElements,
|
|
1422
|
-
propertyTableProperty
|
|
1423
|
-
);
|
|
1336
|
+
const data = getPropertyDataFromBinarySource2(scenegraph, schema, classProperty, numberOfElements, propertyTableProperty);
|
|
1424
1337
|
propertyTableProperty.data = data;
|
|
1425
1338
|
}
|
|
1426
1339
|
}
|
|
@@ -1440,18 +1353,8 @@ function getPropertyDataFromBinarySource2(scenegraph, schema, classProperty, num
|
|
|
1440
1353
|
let data = [];
|
|
1441
1354
|
const bufferView = featureTableProperty.bufferView;
|
|
1442
1355
|
const dataArray = scenegraph.getTypedArrayForBufferView(bufferView);
|
|
1443
|
-
const arrayOffsets = getArrayOffsetsForProperty2(
|
|
1444
|
-
|
|
1445
|
-
classProperty,
|
|
1446
|
-
featureTableProperty,
|
|
1447
|
-
numberOfFeatures
|
|
1448
|
-
);
|
|
1449
|
-
const stringOffsets = getStringOffsetsForProperty2(
|
|
1450
|
-
scenegraph,
|
|
1451
|
-
classProperty,
|
|
1452
|
-
featureTableProperty,
|
|
1453
|
-
numberOfFeatures
|
|
1454
|
-
);
|
|
1356
|
+
const arrayOffsets = getArrayOffsetsForProperty2(scenegraph, classProperty, featureTableProperty, numberOfFeatures);
|
|
1357
|
+
const stringOffsets = getStringOffsetsForProperty2(scenegraph, classProperty, featureTableProperty, numberOfFeatures);
|
|
1455
1358
|
if (classProperty.type === "STRING" || classProperty.componentType === "STRING") {
|
|
1456
1359
|
data = getPropertyDataString(numberOfFeatures, dataArray, arrayOffsets, stringOffsets);
|
|
1457
1360
|
} else if (isNumericProperty(classProperty)) {
|
|
@@ -1507,21 +1410,10 @@ function getPropertyDataNumeric2(classProperty, numberOfElements, valuesDataByte
|
|
|
1507
1410
|
const componentType = classProperty.componentType || classProperty.type;
|
|
1508
1411
|
const elementSize = getArrayElementByteSize(attributeType, componentType);
|
|
1509
1412
|
const elementCount = valuesDataBytes.byteLength / elementSize;
|
|
1510
|
-
const valuesData = convertRawBufferToMetadataArray(
|
|
1511
|
-
valuesDataBytes,
|
|
1512
|
-
attributeType,
|
|
1513
|
-
componentType,
|
|
1514
|
-
elementCount
|
|
1515
|
-
);
|
|
1413
|
+
const valuesData = convertRawBufferToMetadataArray(valuesDataBytes, attributeType, componentType, elementCount);
|
|
1516
1414
|
if (isArray) {
|
|
1517
1415
|
if (arrayOffsets) {
|
|
1518
|
-
return parseVariableLengthArrayNumeric(
|
|
1519
|
-
valuesData,
|
|
1520
|
-
numberOfElements,
|
|
1521
|
-
arrayOffsets,
|
|
1522
|
-
valuesDataBytes.length,
|
|
1523
|
-
elementSize
|
|
1524
|
-
);
|
|
1416
|
+
return parseVariableLengthArrayNumeric(valuesData, numberOfElements, arrayOffsets, valuesDataBytes.length, elementSize);
|
|
1525
1417
|
}
|
|
1526
1418
|
if (arrayCount) {
|
|
1527
1419
|
return parseFixedLengthArrayNumeric(valuesData, numberOfElements, arrayCount);
|
|
@@ -1538,13 +1430,7 @@ function getPropertyDataFromTexture(scenegraph, featureTextureProperty, attribut
|
|
|
1538
1430
|
const featureTextureTable = [];
|
|
1539
1431
|
for (const mesh of json.meshes) {
|
|
1540
1432
|
for (const primitive of mesh.primitives) {
|
|
1541
|
-
processPrimitiveTextures(
|
|
1542
|
-
scenegraph,
|
|
1543
|
-
attributeName,
|
|
1544
|
-
featureTextureProperty,
|
|
1545
|
-
featureTextureTable,
|
|
1546
|
-
primitive
|
|
1547
|
-
);
|
|
1433
|
+
processPrimitiveTextures(scenegraph, attributeName, featureTextureProperty, featureTextureTable, primitive);
|
|
1548
1434
|
}
|
|
1549
1435
|
}
|
|
1550
1436
|
return featureTextureTable;
|
|
@@ -1554,32 +1440,22 @@ function processPrimitiveTextures(scenegraph, attributeName, featureTexturePrope
|
|
|
1554
1440
|
channels: featureTextureProperty.channels,
|
|
1555
1441
|
...featureTextureProperty.texture
|
|
1556
1442
|
};
|
|
1557
|
-
const propertyData = getPrimitiveTextureData(
|
|
1558
|
-
scenegraph,
|
|
1559
|
-
textureInfoTopLevel,
|
|
1560
|
-
primitive
|
|
1561
|
-
);
|
|
1443
|
+
const propertyData = getPrimitiveTextureData(scenegraph, textureInfoTopLevel, primitive);
|
|
1562
1444
|
if (!propertyData) {
|
|
1563
1445
|
return;
|
|
1564
1446
|
}
|
|
1565
|
-
primitivePropertyDataToAttributes(
|
|
1566
|
-
scenegraph,
|
|
1567
|
-
attributeName,
|
|
1568
|
-
propertyData,
|
|
1569
|
-
featureTextureTable,
|
|
1570
|
-
primitive
|
|
1571
|
-
);
|
|
1447
|
+
primitivePropertyDataToAttributes(scenegraph, attributeName, propertyData, featureTextureTable, primitive);
|
|
1572
1448
|
}
|
|
1573
1449
|
|
|
1574
|
-
//
|
|
1575
|
-
var VERSION =
|
|
1450
|
+
// dist/lib/utils/version.js
|
|
1451
|
+
var VERSION = true ? "4.2.0-alpha.4" : "latest";
|
|
1576
1452
|
|
|
1577
|
-
//
|
|
1453
|
+
// dist/lib/parsers/parse-gltf.js
|
|
1578
1454
|
var import_loader_utils4 = require("@loaders.gl/loader-utils");
|
|
1579
1455
|
var import_images4 = require("@loaders.gl/images");
|
|
1580
1456
|
var import_textures = require("@loaders.gl/textures");
|
|
1581
1457
|
|
|
1582
|
-
//
|
|
1458
|
+
// dist/lib/parsers/parse-glb.js
|
|
1583
1459
|
var import_loader_utils2 = require("@loaders.gl/loader-utils");
|
|
1584
1460
|
var LITTLE_ENDIAN = true;
|
|
1585
1461
|
var MAGIC_glTF = 1735152710;
|
|
@@ -1690,7 +1566,7 @@ function parseBINChunk(glb, dataView, byteOffset, chunkLength) {
|
|
|
1690
1566
|
return (0, import_loader_utils2.padToNBytes)(chunkLength, 4);
|
|
1691
1567
|
}
|
|
1692
1568
|
|
|
1693
|
-
//
|
|
1569
|
+
// dist/lib/gltf-utils/resolve-url.js
|
|
1694
1570
|
function resolveUrl(url, options) {
|
|
1695
1571
|
const absolute = url.startsWith("data:") || url.startsWith("http:") || url.startsWith("https:");
|
|
1696
1572
|
if (absolute) {
|
|
@@ -1703,14 +1579,14 @@ function resolveUrl(url, options) {
|
|
|
1703
1579
|
return baseUrl.substr(0, baseUrl.lastIndexOf("/") + 1) + url;
|
|
1704
1580
|
}
|
|
1705
1581
|
|
|
1706
|
-
//
|
|
1582
|
+
// dist/lib/extensions/EXT_meshopt_compression.js
|
|
1707
1583
|
var EXT_meshopt_compression_exports = {};
|
|
1708
1584
|
__export(EXT_meshopt_compression_exports, {
|
|
1709
1585
|
decode: () => decode5,
|
|
1710
1586
|
name: () => name4
|
|
1711
1587
|
});
|
|
1712
1588
|
|
|
1713
|
-
//
|
|
1589
|
+
// dist/meshopt/meshopt-decoder.js
|
|
1714
1590
|
var wasm_base = "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";
|
|
1715
1591
|
var wasm_simd = "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";
|
|
1716
1592
|
var detector = new Uint8Array([
|
|
@@ -1852,15 +1728,7 @@ var DECODERS = {
|
|
|
1852
1728
|
};
|
|
1853
1729
|
async function meshoptDecodeGltfBuffer(target, count, size, source, mode, filter = "NONE") {
|
|
1854
1730
|
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
|
-
);
|
|
1731
|
+
decode4(instance, instance.exports[DECODERS[mode]], target, count, size, source, instance.exports[FILTERS[filter || "NONE"]]);
|
|
1864
1732
|
}
|
|
1865
1733
|
var wasmPromise;
|
|
1866
1734
|
async function loadWasmInstance() {
|
|
@@ -1909,7 +1777,7 @@ function decode4(instance, fun, target, count, size, source, filter) {
|
|
|
1909
1777
|
}
|
|
1910
1778
|
}
|
|
1911
1779
|
|
|
1912
|
-
//
|
|
1780
|
+
// dist/lib/extensions/EXT_meshopt_compression.js
|
|
1913
1781
|
var EXT_MESHOPT_COMPRESSION = "EXT_meshopt_compression";
|
|
1914
1782
|
var name4 = EXT_MESHOPT_COMPRESSION;
|
|
1915
1783
|
async function decode5(gltfData, options) {
|
|
@@ -1926,33 +1794,18 @@ async function decode5(gltfData, options) {
|
|
|
1926
1794
|
scenegraph.removeExtension(EXT_MESHOPT_COMPRESSION);
|
|
1927
1795
|
}
|
|
1928
1796
|
async function decodeMeshoptBufferView(scenegraph, bufferView) {
|
|
1929
|
-
const meshoptExtension = scenegraph.getObjectExtension(
|
|
1930
|
-
bufferView,
|
|
1931
|
-
EXT_MESHOPT_COMPRESSION
|
|
1932
|
-
);
|
|
1797
|
+
const meshoptExtension = scenegraph.getObjectExtension(bufferView, EXT_MESHOPT_COMPRESSION);
|
|
1933
1798
|
if (meshoptExtension) {
|
|
1934
|
-
const {
|
|
1935
|
-
byteOffset = 0,
|
|
1936
|
-
byteLength = 0,
|
|
1937
|
-
byteStride,
|
|
1938
|
-
count,
|
|
1939
|
-
mode,
|
|
1940
|
-
filter = "NONE",
|
|
1941
|
-
buffer: bufferIndex
|
|
1942
|
-
} = meshoptExtension;
|
|
1799
|
+
const { byteOffset = 0, byteLength = 0, byteStride, count, mode, filter = "NONE", buffer: bufferIndex } = meshoptExtension;
|
|
1943
1800
|
const buffer = scenegraph.gltf.buffers[bufferIndex];
|
|
1944
1801
|
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
|
-
);
|
|
1802
|
+
const result = new Uint8Array(scenegraph.gltf.buffers[bufferView.buffer].arrayBuffer, bufferView.byteOffset, bufferView.byteLength);
|
|
1950
1803
|
await meshoptDecodeGltfBuffer(result, count, byteStride, source, mode, filter);
|
|
1951
1804
|
scenegraph.removeObjectExtension(bufferView, EXT_MESHOPT_COMPRESSION);
|
|
1952
1805
|
}
|
|
1953
1806
|
}
|
|
1954
1807
|
|
|
1955
|
-
//
|
|
1808
|
+
// dist/lib/extensions/EXT_texture_webp.js
|
|
1956
1809
|
var EXT_texture_webp_exports = {};
|
|
1957
1810
|
__export(EXT_texture_webp_exports, {
|
|
1958
1811
|
name: () => name5,
|
|
@@ -1971,10 +1824,7 @@ function preprocess(gltfData, options) {
|
|
|
1971
1824
|
}
|
|
1972
1825
|
const { json } = scenegraph;
|
|
1973
1826
|
for (const texture of json.textures || []) {
|
|
1974
|
-
const extension = scenegraph.getObjectExtension(
|
|
1975
|
-
texture,
|
|
1976
|
-
EXT_TEXTURE_WEBP
|
|
1977
|
-
);
|
|
1827
|
+
const extension = scenegraph.getObjectExtension(texture, EXT_TEXTURE_WEBP);
|
|
1978
1828
|
if (extension) {
|
|
1979
1829
|
texture.source = extension.source;
|
|
1980
1830
|
}
|
|
@@ -1983,7 +1833,7 @@ function preprocess(gltfData, options) {
|
|
|
1983
1833
|
scenegraph.removeExtension(EXT_TEXTURE_WEBP);
|
|
1984
1834
|
}
|
|
1985
1835
|
|
|
1986
|
-
//
|
|
1836
|
+
// dist/lib/extensions/KHR_texture_basisu.js
|
|
1987
1837
|
var KHR_texture_basisu_exports = {};
|
|
1988
1838
|
__export(KHR_texture_basisu_exports, {
|
|
1989
1839
|
name: () => name6,
|
|
@@ -1995,10 +1845,7 @@ function preprocess2(gltfData, options) {
|
|
|
1995
1845
|
const scene = new GLTFScenegraph(gltfData);
|
|
1996
1846
|
const { json } = scene;
|
|
1997
1847
|
for (const texture of json.textures || []) {
|
|
1998
|
-
const extension = scene.getObjectExtension(
|
|
1999
|
-
texture,
|
|
2000
|
-
KHR_TEXTURE_BASISU
|
|
2001
|
-
);
|
|
1848
|
+
const extension = scene.getObjectExtension(texture, KHR_TEXTURE_BASISU);
|
|
2002
1849
|
if (extension) {
|
|
2003
1850
|
texture.source = extension.source;
|
|
2004
1851
|
scene.removeObjectExtension(texture, KHR_TEXTURE_BASISU);
|
|
@@ -2007,7 +1854,7 @@ function preprocess2(gltfData, options) {
|
|
|
2007
1854
|
scene.removeExtension(KHR_TEXTURE_BASISU);
|
|
2008
1855
|
}
|
|
2009
1856
|
|
|
2010
|
-
//
|
|
1857
|
+
// dist/lib/extensions/KHR_draco_mesh_compression.js
|
|
2011
1858
|
var KHR_draco_mesh_compression_exports = {};
|
|
2012
1859
|
__export(KHR_draco_mesh_compression_exports, {
|
|
2013
1860
|
decode: () => decode6,
|
|
@@ -2018,7 +1865,7 @@ __export(KHR_draco_mesh_compression_exports, {
|
|
|
2018
1865
|
var import_loader_utils3 = require("@loaders.gl/loader-utils");
|
|
2019
1866
|
var import_draco = require("@loaders.gl/draco");
|
|
2020
1867
|
|
|
2021
|
-
//
|
|
1868
|
+
// dist/lib/gltf-utils/gltf-attribute-utils.js
|
|
2022
1869
|
function getGLTFAccessors(attributes) {
|
|
2023
1870
|
const accessors = {};
|
|
2024
1871
|
for (const name12 in attributes) {
|
|
@@ -2077,7 +1924,7 @@ function toTypedArray(array, ArrayType, convertTypedArrays = false) {
|
|
|
2077
1924
|
return array;
|
|
2078
1925
|
}
|
|
2079
1926
|
|
|
2080
|
-
//
|
|
1927
|
+
// dist/lib/extensions/KHR_draco_mesh_compression.js
|
|
2081
1928
|
var KHR_DRACO_MESH_COMPRESSION = "KHR_draco_mesh_compression";
|
|
2082
1929
|
var name7 = KHR_DRACO_MESH_COMPRESSION;
|
|
2083
1930
|
function preprocess3(gltfData, options, context) {
|
|
@@ -2110,10 +1957,7 @@ function encode(gltfData, options = {}) {
|
|
|
2110
1957
|
}
|
|
2111
1958
|
}
|
|
2112
1959
|
async function decompressPrimitive(scenegraph, primitive, options, context) {
|
|
2113
|
-
const dracoExtension = scenegraph.getObjectExtension(
|
|
2114
|
-
primitive,
|
|
2115
|
-
KHR_DRACO_MESH_COMPRESSION
|
|
2116
|
-
);
|
|
1960
|
+
const dracoExtension = scenegraph.getObjectExtension(primitive, KHR_DRACO_MESH_COMPRESSION);
|
|
2117
1961
|
if (!dracoExtension) {
|
|
2118
1962
|
return;
|
|
2119
1963
|
}
|
|
@@ -2181,7 +2025,7 @@ function* makeMeshPrimitiveIterator(scenegraph) {
|
|
|
2181
2025
|
}
|
|
2182
2026
|
}
|
|
2183
2027
|
|
|
2184
|
-
//
|
|
2028
|
+
// dist/lib/extensions/KHR_texture_transform.js
|
|
2185
2029
|
var KHR_texture_transform_exports = {};
|
|
2186
2030
|
__export(KHR_texture_transform_exports, {
|
|
2187
2031
|
decode: () => decode7,
|
|
@@ -2250,9 +2094,7 @@ function getTransformParameters(texture, processedTexCoords) {
|
|
|
2250
2094
|
const textureInfo = (_a = texture.extensions) == null ? void 0 : _a[EXT_MESHOPT_TRANSFORM];
|
|
2251
2095
|
const { texCoord: originalTexCoord = 0 } = texture;
|
|
2252
2096
|
const { texCoord = originalTexCoord } = textureInfo;
|
|
2253
|
-
const isProcessed = processedTexCoords.findIndex(
|
|
2254
|
-
([original, newTexCoord]) => original === originalTexCoord && newTexCoord === texCoord
|
|
2255
|
-
) !== -1;
|
|
2097
|
+
const isProcessed = processedTexCoords.findIndex(([original, newTexCoord]) => original === originalTexCoord && newTexCoord === texCoord) !== -1;
|
|
2256
2098
|
if (!isProcessed) {
|
|
2257
2099
|
const matrix = makeTransformationMatrix(textureInfo);
|
|
2258
2100
|
if (originalTexCoord !== texCoord) {
|
|
@@ -2337,22 +2179,12 @@ function createAttribute(newTexCoord, originalAccessor, primitive, gltfData, new
|
|
|
2337
2179
|
function makeTransformationMatrix(extensionData) {
|
|
2338
2180
|
const { offset = [0, 0], rotation = 0, scale = [1, 1] } = extensionData;
|
|
2339
2181
|
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
|
-
);
|
|
2182
|
+
const rotationMatrix = scratchRotationMatrix.set(Math.cos(rotation), Math.sin(rotation), 0, -Math.sin(rotation), Math.cos(rotation), 0, 0, 0, 1);
|
|
2351
2183
|
const scaleMatrix = scratchScaleMatrix.set(scale[0], 0, 0, 0, scale[1], 0, 0, 0, 1);
|
|
2352
2184
|
return translationMatrix.multiplyRight(rotationMatrix).multiplyRight(scaleMatrix);
|
|
2353
2185
|
}
|
|
2354
2186
|
|
|
2355
|
-
//
|
|
2187
|
+
// dist/lib/extensions/deprecated/KHR_lights_punctual.js
|
|
2356
2188
|
var KHR_lights_punctual_exports = {};
|
|
2357
2189
|
__export(KHR_lights_punctual_exports, {
|
|
2358
2190
|
decode: () => decode8,
|
|
@@ -2395,7 +2227,7 @@ async function encode2(gltfData) {
|
|
|
2395
2227
|
}
|
|
2396
2228
|
}
|
|
2397
2229
|
|
|
2398
|
-
//
|
|
2230
|
+
// dist/lib/extensions/deprecated/KHR_materials_unlit.js
|
|
2399
2231
|
var KHR_materials_unlit_exports = {};
|
|
2400
2232
|
__export(KHR_materials_unlit_exports, {
|
|
2401
2233
|
decode: () => decode9,
|
|
@@ -2430,7 +2262,7 @@ function encode3(gltfData) {
|
|
|
2430
2262
|
}
|
|
2431
2263
|
}
|
|
2432
2264
|
|
|
2433
|
-
//
|
|
2265
|
+
// dist/lib/extensions/deprecated/KHR_techniques_webgl.js
|
|
2434
2266
|
var KHR_techniques_webgl_exports = {};
|
|
2435
2267
|
__export(KHR_techniques_webgl_exports, {
|
|
2436
2268
|
decode: () => decode10,
|
|
@@ -2468,9 +2300,7 @@ function resolveTechniques(techniquesExtension, gltfScenegraph) {
|
|
|
2468
2300
|
const textDecoder = new TextDecoder();
|
|
2469
2301
|
shaders.forEach((shader) => {
|
|
2470
2302
|
if (Number.isFinite(shader.bufferView)) {
|
|
2471
|
-
shader.code = textDecoder.decode(
|
|
2472
|
-
gltfScenegraph.getTypedArrayForBufferView(shader.bufferView)
|
|
2473
|
-
);
|
|
2303
|
+
shader.code = textDecoder.decode(gltfScenegraph.getTypedArrayForBufferView(shader.bufferView));
|
|
2474
2304
|
} else {
|
|
2475
2305
|
throw new Error("KHR_techniques_webgl: no shader code");
|
|
2476
2306
|
}
|
|
@@ -2499,7 +2329,7 @@ function resolveValues(technique, gltfScenegraph) {
|
|
|
2499
2329
|
return values;
|
|
2500
2330
|
}
|
|
2501
2331
|
|
|
2502
|
-
//
|
|
2332
|
+
// dist/lib/api/gltf-extensions.js
|
|
2503
2333
|
var EXTENSIONS = [
|
|
2504
2334
|
// 1.0
|
|
2505
2335
|
// KHR_binary_gltf is handled separately - must be processed before other parsing starts
|
|
@@ -2539,16 +2369,13 @@ function useExtension(extensionName, options) {
|
|
|
2539
2369
|
return !exclude;
|
|
2540
2370
|
}
|
|
2541
2371
|
|
|
2542
|
-
//
|
|
2372
|
+
// dist/lib/extensions/KHR_binary_gltf.js
|
|
2543
2373
|
var KHR_BINARY_GLTF = "KHR_binary_glTF";
|
|
2544
2374
|
function preprocess4(gltfData) {
|
|
2545
2375
|
const gltfScenegraph = new GLTFScenegraph(gltfData);
|
|
2546
2376
|
const { json } = gltfScenegraph;
|
|
2547
2377
|
for (const image of json.images || []) {
|
|
2548
|
-
const extension = gltfScenegraph.getObjectExtension(
|
|
2549
|
-
image,
|
|
2550
|
-
KHR_BINARY_GLTF
|
|
2551
|
-
);
|
|
2378
|
+
const extension = gltfScenegraph.getObjectExtension(image, KHR_BINARY_GLTF);
|
|
2552
2379
|
if (extension) {
|
|
2553
2380
|
Object.assign(image, extension);
|
|
2554
2381
|
}
|
|
@@ -2560,7 +2387,7 @@ function preprocess4(gltfData) {
|
|
|
2560
2387
|
gltfScenegraph.removeExtension(KHR_BINARY_GLTF);
|
|
2561
2388
|
}
|
|
2562
2389
|
|
|
2563
|
-
//
|
|
2390
|
+
// dist/lib/api/normalize-gltf-v1.js
|
|
2564
2391
|
var GLTF_ARRAYS = {
|
|
2565
2392
|
accessors: "accessor",
|
|
2566
2393
|
animations: "animation",
|
|
@@ -2774,7 +2601,7 @@ function normalizeGLTFV1(gltf, options = {}) {
|
|
|
2774
2601
|
return new GLTFV1Normalizer().normalize(gltf, options);
|
|
2775
2602
|
}
|
|
2776
2603
|
|
|
2777
|
-
//
|
|
2604
|
+
// dist/lib/parsers/parse-gltf.js
|
|
2778
2605
|
async function parseGLTF(gltf, arrayBufferOrString, byteOffset = 0, options, context) {
|
|
2779
2606
|
var _a, _b, _c;
|
|
2780
2607
|
parseGLTFContainerSync(gltf, arrayBufferOrString, byteOffset, options);
|
|
@@ -2882,16 +2709,11 @@ async function loadImage(gltf, image, index, options, context) {
|
|
|
2882
2709
|
arrayBuffer = (0, import_loader_utils4.sliceArrayBuffer)(array.buffer, array.byteOffset, array.byteLength);
|
|
2883
2710
|
}
|
|
2884
2711
|
assert(arrayBuffer, "glTF image has no data");
|
|
2885
|
-
let parsedImage = await (0, import_loader_utils4.parseFromContext)(
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
{
|
|
2889
|
-
|
|
2890
|
-
mimeType: image.mimeType,
|
|
2891
|
-
basis: options.basis || { format: (0, import_textures.selectSupportedBasisFormat)() }
|
|
2892
|
-
},
|
|
2893
|
-
context
|
|
2894
|
-
);
|
|
2712
|
+
let parsedImage = await (0, import_loader_utils4.parseFromContext)(arrayBuffer, [import_images4.ImageLoader, import_textures.BasisLoader], {
|
|
2713
|
+
...options,
|
|
2714
|
+
mimeType: image.mimeType,
|
|
2715
|
+
basis: options.basis || { format: (0, import_textures.selectSupportedBasisFormat)() }
|
|
2716
|
+
}, context);
|
|
2895
2717
|
if (parsedImage && parsedImage[0]) {
|
|
2896
2718
|
parsedImage = {
|
|
2897
2719
|
compressed: true,
|
|
@@ -2906,7 +2728,7 @@ async function loadImage(gltf, image, index, options, context) {
|
|
|
2906
2728
|
gltf.images[index] = parsedImage;
|
|
2907
2729
|
}
|
|
2908
2730
|
|
|
2909
|
-
//
|
|
2731
|
+
// dist/gltf-loader.js
|
|
2910
2732
|
var GLTFLoader = {
|
|
2911
2733
|
name: "glTF",
|
|
2912
2734
|
id: "gltf",
|
|
@@ -2942,7 +2764,7 @@ async function parse(arrayBuffer, options = {}, context) {
|
|
|
2942
2764
|
return await parseGLTF(gltf, arrayBuffer, byteOffset, options, context);
|
|
2943
2765
|
}
|
|
2944
2766
|
|
|
2945
|
-
//
|
|
2767
|
+
// dist/lib/encoders/encode-glb.js
|
|
2946
2768
|
var import_loader_utils5 = require("@loaders.gl/loader-utils");
|
|
2947
2769
|
var MAGIC_glTF2 = 1179937895;
|
|
2948
2770
|
var MAGIC_JSON = 1313821514;
|
|
@@ -2990,7 +2812,7 @@ function encodeGLBSync(glb, dataView, byteOffset = 0, options = {}) {
|
|
|
2990
2812
|
return byteOffset;
|
|
2991
2813
|
}
|
|
2992
2814
|
|
|
2993
|
-
//
|
|
2815
|
+
// dist/lib/encoders/encode-gltf.js
|
|
2994
2816
|
function encodeGLTFSync(gltf, arrayBuffer, byteOffset, options) {
|
|
2995
2817
|
convertBuffersToBase64(gltf);
|
|
2996
2818
|
return encodeGLBSync(gltf, arrayBuffer, byteOffset, options);
|
|
@@ -3001,7 +2823,7 @@ function convertBuffersToBase64(gltf, { firstBuffer = 0 } = {}) {
|
|
|
3001
2823
|
}
|
|
3002
2824
|
}
|
|
3003
2825
|
|
|
3004
|
-
//
|
|
2826
|
+
// dist/gltf-writer.js
|
|
3005
2827
|
var GLTFWriter = {
|
|
3006
2828
|
name: "glTF",
|
|
3007
2829
|
id: "gltf",
|
|
@@ -3027,7 +2849,7 @@ function encodeSync(gltf, options = {}) {
|
|
|
3027
2849
|
return arrayBuffer;
|
|
3028
2850
|
}
|
|
3029
2851
|
|
|
3030
|
-
//
|
|
2852
|
+
// dist/glb-loader.js
|
|
3031
2853
|
var GLBLoader = {
|
|
3032
2854
|
name: "GLB",
|
|
3033
2855
|
id: "glb",
|
|
@@ -3055,7 +2877,7 @@ function parseSync(arrayBuffer, options) {
|
|
|
3055
2877
|
return glb;
|
|
3056
2878
|
}
|
|
3057
2879
|
|
|
3058
|
-
//
|
|
2880
|
+
// dist/glb-writer.js
|
|
3059
2881
|
var GLBWriter = {
|
|
3060
2882
|
name: "GLB",
|
|
3061
2883
|
id: "glb",
|
|
@@ -3079,7 +2901,7 @@ function encodeSync2(glb, options) {
|
|
|
3079
2901
|
return arrayBuffer;
|
|
3080
2902
|
}
|
|
3081
2903
|
|
|
3082
|
-
//
|
|
2904
|
+
// dist/lib/api/post-process-gltf.js
|
|
3083
2905
|
var COMPONENTS2 = {
|
|
3084
2906
|
SCALAR: 1,
|
|
3085
2907
|
VEC2: 2,
|
|
@@ -3268,15 +3090,12 @@ var GLTFPostProcessor = class {
|
|
|
3268
3090
|
node.skin = this.getSkin(gltfNode.skin);
|
|
3269
3091
|
}
|
|
3270
3092
|
if (gltfNode.meshes !== void 0 && gltfNode.meshes.length) {
|
|
3271
|
-
node.mesh = gltfNode.meshes.reduce(
|
|
3272
|
-
(
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
},
|
|
3278
|
-
{ primitives: [] }
|
|
3279
|
-
);
|
|
3093
|
+
node.mesh = gltfNode.meshes.reduce((accum, meshIndex) => {
|
|
3094
|
+
const mesh = this.getMesh(meshIndex);
|
|
3095
|
+
accum.id = mesh.id;
|
|
3096
|
+
accum.primitives = accum.primitives.concat(mesh.primitives);
|
|
3097
|
+
return accum;
|
|
3098
|
+
}, { primitives: [] });
|
|
3280
3099
|
}
|
|
3281
3100
|
return node;
|
|
3282
3101
|
}
|
|
@@ -3382,13 +3201,7 @@ var GLTFPostProcessor = class {
|
|
|
3382
3201
|
const byteOffset = (accessor.bufferView.byteOffset || 0) + (accessor.byteOffset || 0) + buffer.byteOffset;
|
|
3383
3202
|
let cutBuffer = buffer.arrayBuffer.slice(byteOffset, byteOffset + byteLength);
|
|
3384
3203
|
if (accessor.bufferView.byteStride) {
|
|
3385
|
-
cutBuffer = this._getValueFromInterleavedBuffer(
|
|
3386
|
-
buffer,
|
|
3387
|
-
byteOffset,
|
|
3388
|
-
accessor.bufferView.byteStride,
|
|
3389
|
-
accessor.bytesPerElement,
|
|
3390
|
-
accessor.count
|
|
3391
|
-
);
|
|
3204
|
+
cutBuffer = this._getValueFromInterleavedBuffer(buffer, byteOffset, accessor.bufferView.byteStride, accessor.bytesPerElement, accessor.count);
|
|
3392
3205
|
}
|
|
3393
3206
|
accessor.value = new ArrayType(cutBuffer);
|
|
3394
3207
|
}
|
|
@@ -3408,10 +3221,7 @@ var GLTFPostProcessor = class {
|
|
|
3408
3221
|
const result = new Uint8Array(count * bytesPerElement);
|
|
3409
3222
|
for (let i = 0; i < count; i++) {
|
|
3410
3223
|
const elementOffset = byteOffset + i * byteStride;
|
|
3411
|
-
result.set(
|
|
3412
|
-
new Uint8Array(buffer.arrayBuffer.slice(elementOffset, elementOffset + bytesPerElement)),
|
|
3413
|
-
i * bytesPerElement
|
|
3414
|
-
);
|
|
3224
|
+
result.set(new Uint8Array(buffer.arrayBuffer.slice(elementOffset, elementOffset + bytesPerElement)), i * bytesPerElement);
|
|
3415
3225
|
}
|
|
3416
3226
|
return result.buffer;
|
|
3417
3227
|
}
|
|
@@ -3489,3 +3299,4 @@ var GLTFPostProcessor = class {
|
|
|
3489
3299
|
function postProcessGLTF(gltf, options) {
|
|
3490
3300
|
return new GLTFPostProcessor().postProcess(gltf, options);
|
|
3491
3301
|
}
|
|
3302
|
+
//# sourceMappingURL=index.cjs.map
|