@ifc-lite/server-client 1.24.0 → 2.0.0
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 +28 -1
- package/dist/client.d.ts +29 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +89 -162
- package/dist/client.js.map +1 -1
- package/dist/data-model-decoder.d.ts +4 -0
- package/dist/data-model-decoder.d.ts.map +1 -1
- package/dist/data-model-decoder.js +14 -8
- package/dist/data-model-decoder.js.map +1 -1
- package/dist/geometry-diagnostics-types.d.ts +124 -0
- package/dist/geometry-diagnostics-types.d.ts.map +1 -0
- package/dist/geometry-diagnostics-types.js +5 -0
- package/dist/geometry-diagnostics-types.js.map +1 -0
- package/dist/parquet-columns.d.ts +22 -4
- package/dist/parquet-columns.d.ts.map +1 -1
- package/dist/parquet-columns.js +32 -0
- package/dist/parquet-columns.js.map +1 -1
- package/dist/parquet-decoder.d.ts +3 -1
- package/dist/parquet-decoder.d.ts.map +1 -1
- package/dist/parquet-decoder.js +40 -70
- package/dist/parquet-decoder.js.map +1 -1
- package/dist/parquet-nullable.d.ts +26 -0
- package/dist/parquet-nullable.d.ts.map +1 -0
- package/dist/parquet-nullable.js +36 -0
- package/dist/parquet-nullable.js.map +1 -0
- package/dist/parquet-rotation.d.ts +70 -0
- package/dist/parquet-rotation.d.ts.map +1 -0
- package/dist/parquet-rotation.js +96 -0
- package/dist/parquet-rotation.js.map +1 -0
- package/dist/parquet-stream-events.d.ts +23 -0
- package/dist/parquet-stream-events.d.ts.map +1 -0
- package/dist/parquet-stream-events.js +133 -0
- package/dist/parquet-stream-events.js.map +1 -0
- package/dist/parquet-tables.d.ts +11 -1
- package/dist/parquet-tables.d.ts.map +1 -1
- package/dist/parquet-tables.js +45 -59
- package/dist/parquet-tables.js.map +1 -1
- package/dist/parse-query.d.ts +18 -0
- package/dist/parse-query.d.ts.map +1 -0
- package/dist/parse-query.js +21 -0
- package/dist/parse-query.js.map +1 -0
- package/dist/types.d.ts +8 -46
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -25,13 +25,40 @@ console.log(`${result.metadata.entity_count} entities, ${result.meshes.length} m
|
|
|
25
25
|
## Stream a large file
|
|
26
26
|
|
|
27
27
|
```typescript
|
|
28
|
+
import type { MeshData as ServerMeshData } from '@ifc-lite/server-client';
|
|
29
|
+
import type { MeshData } from '@ifc-lite/geometry';
|
|
30
|
+
|
|
31
|
+
// Server meshes are the snake_case wire shape. Converting them is a real seam,
|
|
32
|
+
// not a rename: `origin` and `geometryClass` must be OMITTED rather than
|
|
33
|
+
// stamped when absent or zero, so a world-baked mesh decodes identically over
|
|
34
|
+
// every transport, and the two disjoint source ids are tested against
|
|
35
|
+
// `undefined` rather than for truthiness. The viewer keeps the tested copy at
|
|
36
|
+
// apps/viewer/src/utils/serverMesh.ts (issue #1841, #3199); keep yours in step.
|
|
37
|
+
function convertServerMesh(m: ServerMeshData): MeshData {
|
|
38
|
+
return {
|
|
39
|
+
expressId: m.express_id,
|
|
40
|
+
ifcType: m.ifc_type,
|
|
41
|
+
positions: new Float32Array(m.positions),
|
|
42
|
+
normals: m.normals ? new Float32Array(m.normals) : new Float32Array(0),
|
|
43
|
+
indices: new Uint32Array(m.indices),
|
|
44
|
+
color: m.color,
|
|
45
|
+
...(m.origin?.some((v) => v !== 0) ? { origin: m.origin } : {}),
|
|
46
|
+
...(m.geometry_class ? { geometryClass: m.geometry_class } : {}),
|
|
47
|
+
...(m.geometry_item_id !== undefined ? { geometryItemId: m.geometry_item_id } : {}),
|
|
48
|
+
...(m.material_id !== undefined ? { materialId: m.material_id } : {}),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
|
|
28
52
|
for await (const event of client.parseStream(file)) {
|
|
29
53
|
switch (event.type) {
|
|
30
54
|
case 'progress':
|
|
31
55
|
console.log(`${event.processed}/${event.total}`);
|
|
32
56
|
break;
|
|
33
57
|
case 'batch':
|
|
34
|
-
renderer.
|
|
58
|
+
renderer.addMeshes(
|
|
59
|
+
event.meshes.map(convertServerMesh),
|
|
60
|
+
true, // streaming: throttle batch rebuilds — first triangles ~300ms in
|
|
61
|
+
);
|
|
35
62
|
break;
|
|
36
63
|
case 'complete':
|
|
37
64
|
console.log(`Done: ${event.stats.total_meshes} meshes`);
|
package/dist/client.d.ts
CHANGED
|
@@ -30,6 +30,21 @@ export interface ParseRequestOptions {
|
|
|
30
30
|
*/
|
|
31
31
|
tessellationQuality?: 'lowest' | 'low' | 'medium' | 'high' | 'highest';
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Options for {@link IfcServerClient.parseParquetStream}.
|
|
35
|
+
*/
|
|
36
|
+
export interface ParseStreamOptions extends ParseRequestOptions {
|
|
37
|
+
/**
|
|
38
|
+
* Skip the hash-only cache probe and upload straight away (#3901).
|
|
39
|
+
*
|
|
40
|
+
* The probe costs one round trip plus a local SHA-256 of the file, and saves
|
|
41
|
+
* the entire upload when the server already has the model. Turn it off when
|
|
42
|
+
* you know the server is cold, or when hashing locally is the expensive part
|
|
43
|
+
* (a very large file behind a fast link).
|
|
44
|
+
*/
|
|
45
|
+
skipCacheProbe?: boolean;
|
|
46
|
+
}
|
|
47
|
+
/** Build the query string shared by the parse endpoints. */
|
|
33
48
|
export declare class IfcServerClient {
|
|
34
49
|
private baseUrl;
|
|
35
50
|
private readonly token?;
|
|
@@ -98,11 +113,22 @@ export declare class IfcServerClient {
|
|
|
98
113
|
/**
|
|
99
114
|
* Parse IFC file with streaming Parquet response for progressive rendering.
|
|
100
115
|
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
116
|
+
* Calls `onBatch` with each geometry batch as it is decoded. Use this for
|
|
117
|
+
* large files (>50MB) to show geometry progressively.
|
|
103
118
|
*
|
|
104
119
|
* After streaming completes, fetch the data model via `fetchDataModel(cacheKey)`.
|
|
105
120
|
*
|
|
121
|
+
* **Cache-aware, without paying the upload.** The file is hashed locally and
|
|
122
|
+
* the hash is presented to `/parse/parquet-stream` on its own, with no body
|
|
123
|
+
* (issue #3901). A warm server replays the cached stream immediately; a cold
|
|
124
|
+
* one answers `404` and this method uploads. Either way the SSE events are
|
|
125
|
+
* read by the same code, so a hit and a miss render identically.
|
|
126
|
+
*
|
|
127
|
+
* The probe replaced a two-request `cache/check` + `cache/geometry` dance
|
|
128
|
+
* that fetched the whole model as ONE batch on a hit, i.e. no progressive
|
|
129
|
+
* rendering exactly when the data was already there. Set
|
|
130
|
+
* `skipCacheProbe: true` to go straight to the upload.
|
|
131
|
+
*
|
|
106
132
|
* @param file - IFC file to parse (File or ArrayBuffer)
|
|
107
133
|
* @param onBatch - Callback for each geometry batch (for immediate rendering)
|
|
108
134
|
* @returns Final result with cache_key, stats, and metadata
|
|
@@ -120,7 +146,7 @@ export declare class IfcServerClient {
|
|
|
120
146
|
* const dataModel = await client.fetchDataModel(result.cache_key);
|
|
121
147
|
* ```
|
|
122
148
|
*/
|
|
123
|
-
parseParquetStream(file: File | ArrayBuffer, onBatch: (batch: ParquetBatch) => void, options?:
|
|
149
|
+
parseParquetStream(file: File | ArrayBuffer, onBatch: (batch: ParquetBatch) => void, options?: ParseStreamOptions): Promise<ParquetStreamResult>;
|
|
124
150
|
/**
|
|
125
151
|
* Fetch cached geometry directly without uploading the file.
|
|
126
152
|
* @private
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,cAAc,EACd,gBAAgB,EAEhB,6BAA6B,EAC7B,YAAY,EAEZ,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACb,MAAM,YAAY,CAAC;AAiEpB;;;;;;;;;;;;;;;;;GAiBG;AACH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CACxE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,mBAAmB;IAC7D;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,4DAA4D;AAC5D,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,OAAO,CAAS;IAExB;;;;OAIG;gBACS,MAAM,EAAE,YAAY;IAMhC;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;OAIG;IACG,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;IAYvC;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAsB5F;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoC1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACG,kBAAkB,CACtB,IAAI,EAAE,IAAI,GAAG,WAAW,EACxB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;IAuF/B;;;OAGG;YACW,mBAAmB;IAkCjC;;;OAGG;YACW,uBAAuB;IA2DrC;;;OAGG;YACW,oBAAoB;IAoElC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IA2CpF;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA4CpF;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,6BAA6B,CAAC;IA6D5H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACI,WAAW,CAChB,IAAI,EAAE,IAAI,GAAG,WAAW,EACxB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc,CAAC,WAAW,CAAC;IAiF9B;;;;;;;;;;;;;;;OAeG;IACG,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBtE;;;;;;;;;;;;;;;;;;OAkBG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAiB3D;;OAEG;YACW,WAAW;CAQ1B"}
|
package/dist/client.js
CHANGED
|
@@ -2,18 +2,34 @@
|
|
|
2
2
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
4
4
|
import { decodeParquetGeometry, decodeOptimizedParquetGeometry, isParquetAvailable } from './parquet-decoder.js';
|
|
5
|
+
import { parseQuery } from './parse-query.js';
|
|
6
|
+
import { consumeParquetStream, STREAM_ENDED_WITHOUT_TERMINAL_EVENT, } from './parquet-stream-events.js';
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
8
|
+
* How long the hash-only cache probe may take to answer with its HEADERS
|
|
9
|
+
* before the client gives up and uploads (issue #3901).
|
|
7
10
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* `parseStream`'s `!terminated` describes — the stream stopped without ever
|
|
13
|
-
* saying why. Not exported: it is an internal guarantee about two call sites,
|
|
14
|
-
* not part of the published surface.
|
|
11
|
+
* Short on purpose, and short of `timeout`, which covers the replay body once
|
|
12
|
+
* the headers have arrived. The probe's whole value is being cheaper than the
|
|
13
|
+
* upload; a probe that is not cheap has to get out of the way of it. Matches
|
|
14
|
+
* the 5s the `/cache/check` request it replaced used, for the same reason.
|
|
15
15
|
*/
|
|
16
|
-
const
|
|
16
|
+
const PROBE_HEADER_TIMEOUT_MS = 5000;
|
|
17
|
+
/**
|
|
18
|
+
* Probe statuses that mean "no cached replay, send the file", as opposed to a
|
|
19
|
+
* failure worth surfacing.
|
|
20
|
+
*
|
|
21
|
+
* `404` is the server saying it looked and found nothing. The rest are a
|
|
22
|
+
* server that does not understand the probe at all: `@ifc-lite/server-client`
|
|
23
|
+
* is published to npm and pointed at a user-supplied `baseUrl`, so a client
|
|
24
|
+
* upgraded ahead of a self-hosted server is ordinary. On a server built before
|
|
25
|
+
* #3901 the route's `Multipart` extractor rejects a bodyless POST with `400`
|
|
26
|
+
* (axum's InvalidBoundary); `405`/`415`/`501` cover a proxy or a future server
|
|
27
|
+
* refusing the shape. Treating those as a failure would take the streaming
|
|
28
|
+
* path from working to broken on every such deployment, when uploading is
|
|
29
|
+
* right there and always correct. `503` is admission shedding: queueing for
|
|
30
|
+
* the upload is the older, better behaviour.
|
|
31
|
+
*/
|
|
32
|
+
const PROBE_NOT_ANSWERED = new Set([400, 404, 405, 415, 501, 503]);
|
|
17
33
|
/**
|
|
18
34
|
* Compress a file or ArrayBuffer using gzip compression.
|
|
19
35
|
* Uses the browser's CompressionStream API for efficient compression.
|
|
@@ -42,14 +58,6 @@ async function computeFileHash(file) {
|
|
|
42
58
|
.join('');
|
|
43
59
|
}
|
|
44
60
|
/** Build the query string shared by the parse endpoints. */
|
|
45
|
-
function parseQuery(options) {
|
|
46
|
-
const params = new URLSearchParams();
|
|
47
|
-
if (options?.tessellationQuality && options.tessellationQuality !== 'medium') {
|
|
48
|
-
params.set('tessellation_quality', options.tessellationQuality);
|
|
49
|
-
}
|
|
50
|
-
const qs = params.toString();
|
|
51
|
-
return qs ? `?${qs}` : '';
|
|
52
|
-
}
|
|
53
61
|
export class IfcServerClient {
|
|
54
62
|
/**
|
|
55
63
|
* Create a new IFC server client.
|
|
@@ -158,7 +166,7 @@ export class IfcServerClient {
|
|
|
158
166
|
console.log(`[client] Computed file hash in ${hashTime.toFixed(0)}ms: ${hash.substring(0, 16)}...`);
|
|
159
167
|
// Step 2: Check if already cached
|
|
160
168
|
const cacheCheckStart = performance.now();
|
|
161
|
-
const cacheCheck = await fetch(`${this.baseUrl}/api/v1/cache/check/${hash}${parseQuery(options)}`, {
|
|
169
|
+
const cacheCheck = await fetch(`${this.baseUrl}/api/v1/cache/check/${hash}${parseQuery(options, true)}`, {
|
|
162
170
|
method: 'GET',
|
|
163
171
|
headers: this.authHeaders(),
|
|
164
172
|
signal: AbortSignal.timeout(5000), // 5s timeout for cache check
|
|
@@ -176,11 +184,22 @@ export class IfcServerClient {
|
|
|
176
184
|
/**
|
|
177
185
|
* Parse IFC file with streaming Parquet response for progressive rendering.
|
|
178
186
|
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
187
|
+
* Calls `onBatch` with each geometry batch as it is decoded. Use this for
|
|
188
|
+
* large files (>50MB) to show geometry progressively.
|
|
181
189
|
*
|
|
182
190
|
* After streaming completes, fetch the data model via `fetchDataModel(cacheKey)`.
|
|
183
191
|
*
|
|
192
|
+
* **Cache-aware, without paying the upload.** The file is hashed locally and
|
|
193
|
+
* the hash is presented to `/parse/parquet-stream` on its own, with no body
|
|
194
|
+
* (issue #3901). A warm server replays the cached stream immediately; a cold
|
|
195
|
+
* one answers `404` and this method uploads. Either way the SSE events are
|
|
196
|
+
* read by the same code, so a hit and a miss render identically.
|
|
197
|
+
*
|
|
198
|
+
* The probe replaced a two-request `cache/check` + `cache/geometry` dance
|
|
199
|
+
* that fetched the whole model as ONE batch on a hit, i.e. no progressive
|
|
200
|
+
* rendering exactly when the data was already there. Set
|
|
201
|
+
* `skipCacheProbe: true` to go straight to the upload.
|
|
202
|
+
*
|
|
184
203
|
* @param file - IFC file to parse (File or ArrayBuffer)
|
|
185
204
|
* @param onBatch - Callback for each geometry batch (for immediate rendering)
|
|
186
205
|
* @returns Final result with cache_key, stats, and metadata
|
|
@@ -206,58 +225,61 @@ export class IfcServerClient {
|
|
|
206
225
|
}
|
|
207
226
|
const fileSize = file instanceof File ? file.size : file.byteLength;
|
|
208
227
|
const fileName = file instanceof File ? file.name : 'model.ifc';
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
// omitting them would fetch default `medium` geometry (or 404) even
|
|
227
|
-
// though the option-scoped cache-check above hit the requested variant.
|
|
228
|
-
const cachedResult = await this.fetchCachedGeometry(hash, options);
|
|
229
|
-
// Send all meshes as a single batch to the callback
|
|
230
|
-
const decodeStart = performance.now();
|
|
231
|
-
onBatch({
|
|
232
|
-
meshes: cachedResult.meshes,
|
|
233
|
-
batch_number: 1,
|
|
234
|
-
decode_time_ms: performance.now() - decodeStart,
|
|
235
|
-
});
|
|
236
|
-
// Symbolic data isn't in the cached geometry payload — fetch it by key
|
|
237
|
-
// so the cache-HIT path reaches the same parity as the live stream.
|
|
238
|
-
// Symbols are supplementary, so a fetch failure must not fail the geometry
|
|
239
|
-
// load: log and continue without them (fetchSymbolic surfaces real errors).
|
|
240
|
-
let cachedSymbolic = null;
|
|
228
|
+
if (!options?.skipCacheProbe) {
|
|
229
|
+
// Hash locally and ask by hash. On a hit this is the WHOLE request: the
|
|
230
|
+
// 40 MB the upload would have cost never leaves the machine.
|
|
231
|
+
const hashStart = performance.now();
|
|
232
|
+
const hash = await computeFileHash(file);
|
|
233
|
+
console.log(`[client] Stream: computed hash in ${(performance.now() - hashStart).toFixed(0)}ms: ${hash.substring(0, 16)}...`);
|
|
234
|
+
// Two budgets on one signal. The probe's HEADERS must arrive fast or the
|
|
235
|
+
// probe is not worth waiting for — the upload it is trying to avoid
|
|
236
|
+
// would already be in flight. Once they do, the same request is the
|
|
237
|
+
// replay, and draining it gets the full request timeout. Without the
|
|
238
|
+
// split, a server that is slow to answer burns `this.timeout` (5 min by
|
|
239
|
+
// default) and then rejects with an AbortError that never reaches the
|
|
240
|
+
// fallback below, so the load dies instead of uploading.
|
|
241
|
+
const controller = new AbortController();
|
|
242
|
+
let timer = setTimeout(() => controller.abort(), PROBE_HEADER_TIMEOUT_MS);
|
|
243
|
+
const probeStart = performance.now();
|
|
244
|
+
let probe = null;
|
|
241
245
|
try {
|
|
242
|
-
|
|
246
|
+
probe = await fetch(`${this.baseUrl}/api/v1/parse/parquet-stream${parseQuery(options, true, hash)}`, {
|
|
247
|
+
method: 'POST',
|
|
248
|
+
headers: this.authHeaders(),
|
|
249
|
+
signal: controller.signal,
|
|
250
|
+
});
|
|
243
251
|
}
|
|
244
252
|
catch (error) {
|
|
245
|
-
|
|
253
|
+
// A probe that times out or fails to connect is not an answer about
|
|
254
|
+
// the cache. Upload, which is what would have happened without it.
|
|
255
|
+
console.warn('[client] Stream: hash probe failed; uploading instead:', error);
|
|
256
|
+
}
|
|
257
|
+
finally {
|
|
258
|
+
clearTimeout(timer);
|
|
259
|
+
}
|
|
260
|
+
if (probe?.ok) {
|
|
261
|
+
console.log(`[client] Stream: cache HIT by hash (${(performance.now() - probeStart).toFixed(0)}ms) - replaying without upload`);
|
|
262
|
+
timer = setTimeout(() => controller.abort(), this.timeout);
|
|
263
|
+
try {
|
|
264
|
+
return await consumeParquetStream(probe, onBatch, probeStart);
|
|
265
|
+
}
|
|
266
|
+
finally {
|
|
267
|
+
clearTimeout(timer);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if (probe && !PROBE_NOT_ANSWERED.has(probe.status)) {
|
|
271
|
+
// A real server-side failure. Surfacing it beats silently spending the
|
|
272
|
+
// upload the probe exists to avoid.
|
|
273
|
+
throw await this.handleError(probe);
|
|
246
274
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
total_meshes: cachedResult.meshes.length,
|
|
250
|
-
stats: cachedResult.stats,
|
|
251
|
-
metadata: cachedResult.metadata,
|
|
252
|
-
symbolic_data: cachedSymbolic ?? undefined,
|
|
253
|
-
};
|
|
275
|
+
await probe?.body?.cancel();
|
|
276
|
+
console.log(`[client] Stream: no cached replay (${(performance.now() - probeStart).toFixed(0)}ms) - uploading`);
|
|
254
277
|
}
|
|
255
|
-
|
|
256
|
-
console.log(`[client] Stream: Cache MISS (check: ${cacheCheckTime.toFixed(0)}ms) - starting stream for ${fileName} (${(fileSize / 1024 / 1024).toFixed(1)}MB)`);
|
|
278
|
+
console.log(`[client] Stream: starting upload for ${fileName} (${(fileSize / 1024 / 1024).toFixed(1)}MB)`);
|
|
257
279
|
const formData = new FormData();
|
|
258
280
|
formData.append('file', file instanceof File ? file : new Blob([file]), fileName);
|
|
259
281
|
const uploadStart = performance.now();
|
|
260
|
-
const response = await fetch(`${this.baseUrl}/api/v1/parse/parquet-stream${parseQuery(options)}`, {
|
|
282
|
+
const response = await fetch(`${this.baseUrl}/api/v1/parse/parquet-stream${parseQuery(options, true)}`, {
|
|
261
283
|
method: 'POST',
|
|
262
284
|
headers: this.authHeaders(),
|
|
263
285
|
body: formData,
|
|
@@ -266,102 +288,7 @@ export class IfcServerClient {
|
|
|
266
288
|
if (!response.ok) {
|
|
267
289
|
throw await this.handleError(response);
|
|
268
290
|
}
|
|
269
|
-
|
|
270
|
-
throw new Error('No response body for streaming');
|
|
271
|
-
}
|
|
272
|
-
// Parse SSE stream
|
|
273
|
-
const reader = response.body.getReader();
|
|
274
|
-
const decoder = new TextDecoder();
|
|
275
|
-
let buffer = '';
|
|
276
|
-
let cache_key = '';
|
|
277
|
-
let total_meshes = 0;
|
|
278
|
-
let stats = null;
|
|
279
|
-
let metadata = null;
|
|
280
|
-
let symbolic_data;
|
|
281
|
-
// A thrown 'error' event (or any other exception mid-loop) must not
|
|
282
|
-
// leave the reader locked on `response.body` — mirrors the try/finally
|
|
283
|
-
// `parseStream` already uses for the same SSE-reading shape.
|
|
284
|
-
try {
|
|
285
|
-
while (true) {
|
|
286
|
-
const { done, value } = await reader.read();
|
|
287
|
-
if (done)
|
|
288
|
-
break;
|
|
289
|
-
buffer += decoder.decode(value, { stream: true });
|
|
290
|
-
// Process complete SSE events
|
|
291
|
-
const lines = buffer.split('\n');
|
|
292
|
-
buffer = lines.pop() || ''; // Keep incomplete line in buffer
|
|
293
|
-
for (const line of lines) {
|
|
294
|
-
if (!line.startsWith('data:'))
|
|
295
|
-
continue;
|
|
296
|
-
const jsonStr = line.slice(5).trim();
|
|
297
|
-
if (!jsonStr)
|
|
298
|
-
continue;
|
|
299
|
-
try {
|
|
300
|
-
const event = JSON.parse(jsonStr);
|
|
301
|
-
switch (event.type) {
|
|
302
|
-
case 'start':
|
|
303
|
-
cache_key = event.cache_key;
|
|
304
|
-
console.log(`[client] Stream started: ${event.total_estimate} entities, cache_key: ${cache_key.substring(0, 16)}...`);
|
|
305
|
-
break;
|
|
306
|
-
case 'progress':
|
|
307
|
-
// Progress events can be used for UI feedback
|
|
308
|
-
break;
|
|
309
|
-
case 'batch': {
|
|
310
|
-
const decodeStart = performance.now();
|
|
311
|
-
// Decode base64 Parquet data
|
|
312
|
-
const binaryStr = atob(event.data);
|
|
313
|
-
const bytes = new Uint8Array(binaryStr.length);
|
|
314
|
-
for (let i = 0; i < binaryStr.length; i++) {
|
|
315
|
-
bytes[i] = binaryStr.charCodeAt(i);
|
|
316
|
-
}
|
|
317
|
-
// Decode Parquet to meshes
|
|
318
|
-
const meshes = await decodeParquetGeometry(bytes.buffer);
|
|
319
|
-
const decodeTime = performance.now() - decodeStart;
|
|
320
|
-
total_meshes += meshes.length;
|
|
321
|
-
console.log(`[client] Batch #${event.batch_number}: ${meshes.length} meshes, decode: ${decodeTime.toFixed(0)}ms`);
|
|
322
|
-
// Call the batch callback for immediate rendering
|
|
323
|
-
onBatch({
|
|
324
|
-
meshes,
|
|
325
|
-
batch_number: event.batch_number,
|
|
326
|
-
decode_time_ms: decodeTime,
|
|
327
|
-
});
|
|
328
|
-
break;
|
|
329
|
-
}
|
|
330
|
-
case 'complete':
|
|
331
|
-
stats = event.stats;
|
|
332
|
-
metadata = event.metadata;
|
|
333
|
-
symbolic_data = event.symbolic_data;
|
|
334
|
-
const totalTime = performance.now() - uploadStart;
|
|
335
|
-
console.log(`[client] Stream complete: ${total_meshes} meshes in ${totalTime.toFixed(0)}ms`);
|
|
336
|
-
break;
|
|
337
|
-
case 'error':
|
|
338
|
-
throw new Error(`Stream error: ${event.message}`);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
catch (e) {
|
|
342
|
-
if (e instanceof SyntaxError) {
|
|
343
|
-
console.warn('[client] Failed to parse SSE event:', jsonStr);
|
|
344
|
-
}
|
|
345
|
-
else {
|
|
346
|
-
throw e;
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
finally {
|
|
353
|
-
reader.releaseLock();
|
|
354
|
-
}
|
|
355
|
-
if (!stats || !metadata) {
|
|
356
|
-
throw new Error(STREAM_ENDED_WITHOUT_TERMINAL_EVENT);
|
|
357
|
-
}
|
|
358
|
-
return {
|
|
359
|
-
cache_key,
|
|
360
|
-
total_meshes,
|
|
361
|
-
stats,
|
|
362
|
-
metadata,
|
|
363
|
-
symbolic_data,
|
|
364
|
-
};
|
|
291
|
+
return consumeParquetStream(response, onBatch, uploadStart);
|
|
365
292
|
}
|
|
366
293
|
/**
|
|
367
294
|
* Fetch cached geometry directly without uploading the file.
|
|
@@ -369,7 +296,7 @@ export class IfcServerClient {
|
|
|
369
296
|
*/
|
|
370
297
|
async fetchCachedGeometry(hash, options) {
|
|
371
298
|
const fetchStart = performance.now();
|
|
372
|
-
const response = await fetch(`${this.baseUrl}/api/v1/cache/geometry/${hash}${parseQuery(options)}`, {
|
|
299
|
+
const response = await fetch(`${this.baseUrl}/api/v1/cache/geometry/${hash}${parseQuery(options, true)}`, {
|
|
373
300
|
method: 'GET',
|
|
374
301
|
headers: this.authHeaders(),
|
|
375
302
|
signal: AbortSignal.timeout(this.timeout),
|
|
@@ -415,7 +342,7 @@ export class IfcServerClient {
|
|
|
415
342
|
const formData = new FormData();
|
|
416
343
|
formData.append('file', uploadFile, fileName);
|
|
417
344
|
const uploadStart = performance.now();
|
|
418
|
-
const response = await fetch(`${this.baseUrl}/api/v1/parse/parquet${parseQuery(options)}`, {
|
|
345
|
+
const response = await fetch(`${this.baseUrl}/api/v1/parse/parquet${parseQuery(options, true)}`, {
|
|
419
346
|
method: 'POST',
|
|
420
347
|
headers: this.authHeaders(),
|
|
421
348
|
body: formData,
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,6 +102,10 @@ export interface Relationship {
|
|
|
102
102
|
rel_type: string;
|
|
103
103
|
relating_id: number;
|
|
104
104
|
related_id: number;
|
|
105
|
+
/** Express id of the `IfcRel*` entity this row came from. v6 payload (issue
|
|
106
|
+
* #3860); `undefined` for older servers. `0` on the synthetic
|
|
107
|
+
* `TYPEHASPROPERTYSETS` rows, which no IFC entity declares. */
|
|
108
|
+
rel_id?: number;
|
|
105
109
|
}
|
|
106
110
|
export interface SpatialNode {
|
|
107
111
|
entity_id: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-decoder.d.ts","sourceRoot":"","sources":["../src/data-model-decoder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-model-decoder.d.ts","sourceRoot":"","sources":["../src/data-model-decoder.ts"],"names":[],"mappings":"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"}
|