@needle-tools/gltf-build-pipeline 1.4.1 → 1.4.3
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/CHANGELOG.md
CHANGED
|
@@ -4,8 +4,9 @@ All notable changes to this package will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [1.4.
|
|
7
|
+
## [1.4.3] - 2023-04-02
|
|
8
8
|
- release
|
|
9
|
+
- fix: generate cache key for meshes
|
|
9
10
|
|
|
10
11
|
## [1.4.1-beta.15] - 2023-04-02
|
|
11
12
|
- fix: issue where discarding all LODs might result in broken mesh due to simplify having modified the original mesh
|
package/dist/cache/cache.js
CHANGED
|
@@ -165,13 +165,17 @@ export function getHash(property) {
|
|
|
165
165
|
const weights = property.getWeights();
|
|
166
166
|
hash += hashObject(weights);
|
|
167
167
|
const primitives = property.listPrimitives();
|
|
168
|
-
|
|
168
|
+
for (const prim of primitives)
|
|
169
|
+
hash += getHash(prim);
|
|
169
170
|
}
|
|
170
171
|
else if (property instanceof Primitive) {
|
|
171
172
|
const indices = property.getIndices();
|
|
172
173
|
const attributes = property.listAttributes();
|
|
173
174
|
const targets = property.listTargets();
|
|
174
|
-
|
|
175
|
+
// TODO: hash buffer view if possible
|
|
176
|
+
const semantics = property.listSemantics().map(s => {
|
|
177
|
+
return { name: s, array: property.getAttribute(s).getArray() };
|
|
178
|
+
});
|
|
175
179
|
hash += hashObject({
|
|
176
180
|
indices,
|
|
177
181
|
attributes,
|
|
@@ -150,14 +150,17 @@ export function make_progressive_textures(filePath, _options = TEXTURE_RESIZE_DE
|
|
|
150
150
|
}
|
|
151
151
|
const relName = path.relative(directory, outPath);
|
|
152
152
|
// TODO: this path should be added to the NEEDLE dependencies extension
|
|
153
|
-
|
|
153
|
+
const model = {
|
|
154
154
|
guid: textureGuid,
|
|
155
155
|
lods: [
|
|
156
156
|
{
|
|
157
157
|
path: relName,
|
|
158
158
|
}
|
|
159
159
|
],
|
|
160
|
-
}
|
|
160
|
+
};
|
|
161
|
+
// for backwards compatibility - this should be removed in the future
|
|
162
|
+
model["uri"] = relName;
|
|
163
|
+
texture.setExtension(NEEDLE_PROGRESSIVE_EXTENSION_NAME, progressiveExt.createTexture(model));
|
|
161
164
|
const key = getKey(texture);
|
|
162
165
|
if (opts.useCache) {
|
|
163
166
|
const cached = tryGetFromCache(key);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/gltf-build-pipeline",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.3",
|
|
4
4
|
"description": "Pipeline and tools for optimizing gltf files using gltf-transform and compression settings within glTF extensions",
|
|
5
5
|
"main": "index.mjs",
|
|
6
6
|
"type": "module",
|