@ifc-lite/cache 1.14.5 → 1.14.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.
- package/README.md +52 -11
- package/dist/glb.d.ts +8 -0
- package/dist/glb.d.ts.map +1 -1
- package/dist/glb.js +16 -1
- package/dist/glb.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @ifc-lite/cache
|
|
2
2
|
|
|
3
|
-
Binary cache format for IFClite.
|
|
3
|
+
Binary cache format for IFClite. Caches parsed geometry as compressed GLB so a previously-loaded IFC reopens in milliseconds instead of re-running the full parse + tessellation pipeline. Content-addressable (SHA-256 of the source IFC), so cache invalidation is automatic.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -8,25 +8,66 @@ Binary cache format for IFClite. Enables instant loading of previously parsed IF
|
|
|
8
8
|
npm install @ifc-lite/cache
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Skip the parse on warm load
|
|
12
12
|
|
|
13
13
|
```typescript
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
computeFileHash,
|
|
16
|
+
BinaryCacheReader,
|
|
17
|
+
BinaryCacheWriter,
|
|
18
|
+
loadGLBToMeshData,
|
|
19
|
+
} from '@ifc-lite/cache';
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
const
|
|
21
|
+
const ifcBuffer = await file.arrayBuffer();
|
|
22
|
+
const cacheKey = await computeFileHash(ifcBuffer);
|
|
23
|
+
|
|
24
|
+
// Try cache first
|
|
25
|
+
const cached = await myStorage.get(cacheKey); // your IndexedDB / fs / S3 lookup
|
|
26
|
+
if (cached) {
|
|
27
|
+
const reader = new BinaryCacheReader(cached);
|
|
28
|
+
const meshes = await loadGLBToMeshData(reader.readGeometry());
|
|
29
|
+
renderer.loadGeometry(meshes);
|
|
30
|
+
return; // first triangles in milliseconds
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Cold path — full parse, then write the cache
|
|
34
|
+
const meshes = await geometryProcessor.process(new Uint8Array(ifcBuffer));
|
|
35
|
+
|
|
36
|
+
const writer = new BinaryCacheWriter();
|
|
37
|
+
writer.writeGeometry({ meshes });
|
|
38
|
+
await myStorage.put(cacheKey, writer.toBuffer());
|
|
18
39
|
```
|
|
19
40
|
|
|
20
|
-
##
|
|
41
|
+
## Pure GLB read
|
|
42
|
+
|
|
43
|
+
If you already have a GLB blob (from a server, S3, etc.), skip the binary cache wrapper and load directly:
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
import { loadGLBToMeshData, parseGLB } from '@ifc-lite/cache';
|
|
47
|
+
|
|
48
|
+
const meshes = await loadGLBToMeshData(glbBuffer);
|
|
49
|
+
// → MeshData[] ready to feed into @ifc-lite/renderer
|
|
50
|
+
|
|
51
|
+
// Or get the parsed GLB structure if you need lower-level access
|
|
52
|
+
const { json, bin, mapping } = parseGLB(glbBuffer);
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Hashing utilities
|
|
56
|
+
|
|
57
|
+
Two hash functions are exposed for cache key generation:
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
import { xxhash64Hex, computeFileHash } from '@ifc-lite/cache';
|
|
61
|
+
|
|
62
|
+
const fastKey = xxhash64Hex(buffer); // ~5 GB/s, 16-char hex — best for ephemeral keys
|
|
63
|
+
const stableKey = await computeFileHash(buf); // SHA-256 — persistent across machines
|
|
64
|
+
```
|
|
21
65
|
|
|
22
|
-
-
|
|
23
|
-
- GLB-based geometry caching
|
|
24
|
-
- Content-addressable caching (SHA-256 hash keys)
|
|
25
|
-
- Works with both browser and desktop storage backends
|
|
66
|
+
Use SHA-256 (the default) for any cache that survives a process restart. Use xxhash for purely in-memory deduplication.
|
|
26
67
|
|
|
27
68
|
## API
|
|
28
69
|
|
|
29
|
-
See the [API Reference](
|
|
70
|
+
See the [API Reference](https://ltplus-ag.github.io/ifc-lite/api/typescript/#ifc-litecache).
|
|
30
71
|
|
|
31
72
|
## License
|
|
32
73
|
|
package/dist/glb.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ interface GLTFDocument {
|
|
|
27
27
|
}>;
|
|
28
28
|
nodes?: GLTFNode[];
|
|
29
29
|
meshes?: GLTFMesh[];
|
|
30
|
+
materials?: GLTFMaterial[];
|
|
30
31
|
accessors?: GLTFAccessor[];
|
|
31
32
|
bufferViews?: GLTFBufferView[];
|
|
32
33
|
buffers?: GLTFBuffer[];
|
|
@@ -50,6 +51,13 @@ interface GLTFPrimitive {
|
|
|
50
51
|
};
|
|
51
52
|
indices?: number;
|
|
52
53
|
mode?: number;
|
|
54
|
+
material?: number;
|
|
55
|
+
}
|
|
56
|
+
interface GLTFMaterial {
|
|
57
|
+
pbrMetallicRoughness?: {
|
|
58
|
+
baseColorFactor?: [number, number, number, number] | number[];
|
|
59
|
+
};
|
|
60
|
+
alphaMode?: 'OPAQUE' | 'MASK' | 'BLEND';
|
|
53
61
|
}
|
|
54
62
|
interface GLTFAccessor {
|
|
55
63
|
bufferView: number;
|
package/dist/glb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glb.d.ts","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAgBnD,2BAA2B;AAC3B,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,UAAU,GAAG,IAAI,CAAC;CACxB;AAED,2DAA2D;AAC3D,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAGD,UAAU,YAAY;IACpB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,UAAU,QAAQ;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,UAAU,QAAQ;IAChB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,aAAa;IACrB,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"glb.d.ts","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"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"}
|
package/dist/glb.js
CHANGED
|
@@ -218,6 +218,21 @@ export function parseGLBToMeshData(gltf, bin) {
|
|
|
218
218
|
if (!gltf.nodes || !gltf.meshes) {
|
|
219
219
|
return meshes;
|
|
220
220
|
}
|
|
221
|
+
const DEFAULT_COLOR = [0.8, 0.8, 0.8, 1.0];
|
|
222
|
+
const resolveMaterialColor = (materialIdx) => {
|
|
223
|
+
if (materialIdx === undefined)
|
|
224
|
+
return DEFAULT_COLOR;
|
|
225
|
+
const material = gltf.materials?.[materialIdx];
|
|
226
|
+
const factor = material?.pbrMetallicRoughness?.baseColorFactor;
|
|
227
|
+
if (!factor || factor.length < 3)
|
|
228
|
+
return DEFAULT_COLOR;
|
|
229
|
+
return [
|
|
230
|
+
factor[0],
|
|
231
|
+
factor[1],
|
|
232
|
+
factor[2],
|
|
233
|
+
factor.length >= 4 ? factor[3] : 1.0,
|
|
234
|
+
];
|
|
235
|
+
};
|
|
221
236
|
for (let nodeIdx = 0; nodeIdx < gltf.nodes.length; nodeIdx++) {
|
|
222
237
|
const node = gltf.nodes[nodeIdx];
|
|
223
238
|
if (node.mesh === undefined)
|
|
@@ -278,7 +293,7 @@ export function parseGLBToMeshData(gltf, bin) {
|
|
|
278
293
|
positions,
|
|
279
294
|
normals,
|
|
280
295
|
indices,
|
|
281
|
-
color:
|
|
296
|
+
color: resolveMaterialColor(primitive.material),
|
|
282
297
|
});
|
|
283
298
|
}
|
|
284
299
|
}
|
package/dist/glb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glb.js","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAW/D,qBAAqB;AACrB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,SAAS;AACvC,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,SAAS;AAC7C,MAAM,cAAc,GAAG,UAAU,CAAC,CAAC,UAAU;AAE7C,kBAAkB;AAClB,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,MAAM,wBAAwB,GAAG,IAAI,CAAC;AACtC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,eAAe,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"glb.js","sourceRoot":"","sources":["../src/glb.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/cache",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.6",
|
|
4
4
|
"description": "Binary cache format for IFC-Lite - fast model loading",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -12,22 +12,22 @@
|
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@ifc-lite/data": "^1.
|
|
16
|
-
"@ifc-lite/geometry": "^1.
|
|
15
|
+
"@ifc-lite/data": "^1.17.0",
|
|
16
|
+
"@ifc-lite/geometry": "^1.19.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"typescript": "^
|
|
19
|
+
"typescript": "^6.0.3",
|
|
20
20
|
"vitest": "^1.6.0"
|
|
21
21
|
},
|
|
22
22
|
"license": "MPL-2.0",
|
|
23
23
|
"author": "Louis True",
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|
|
26
|
-
"url": "https://github.com/
|
|
26
|
+
"url": "https://github.com/LTplus-AG/ifc-lite.git",
|
|
27
27
|
"directory": "packages/cache"
|
|
28
28
|
},
|
|
29
|
-
"homepage": "https://
|
|
30
|
-
"bugs": "https://github.com/
|
|
29
|
+
"homepage": "https://ltplus-ag.github.io/ifc-lite/",
|
|
30
|
+
"bugs": "https://github.com/LTplus-AG/ifc-lite/issues",
|
|
31
31
|
"keywords": [
|
|
32
32
|
"ifc",
|
|
33
33
|
"bim",
|