@ifc-lite/server-client 1.23.1 → 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 +81 -0
- package/dist/parquet-columns.d.ts.map +1 -0
- package/dist/parquet-columns.js +97 -0
- package/dist/parquet-columns.js.map +1 -0
- 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 +54 -94
- 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/symbolic-types.d.ts +168 -0
- package/dist/symbolic-types.d.ts.map +1 -0
- package/dist/symbolic-types.js +5 -0
- package/dist/symbolic-types.js.map +1 -0
- package/dist/types.d.ts +29 -205
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
package/dist/parquet-tables.js
CHANGED
|
@@ -1,59 +1,22 @@
|
|
|
1
1
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
return table.getChild(name)?.toArray();
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* True when all three origin components are present AND parallel to `rowCount`.
|
|
10
|
-
*
|
|
11
|
-
* A short or partial set (truncated payload, or a server predating the columns)
|
|
12
|
-
* must fall back to "no origin" rather than index past the end into `undefined`
|
|
13
|
-
* -> NaN. Shared by both decoders so the standard and instanced paths can never
|
|
14
|
-
* disagree about when the origin is trustworthy.
|
|
15
|
-
*/
|
|
16
|
-
function originIsUsable(x, y, z, rowCount) {
|
|
17
|
-
return (!!x && !!y && !!z && x.length === rowCount && y.length === rowCount && z.length === rowCount);
|
|
18
|
-
}
|
|
4
|
+
import { meshColumns, numericColumn, transformFields } from './parquet-columns.js';
|
|
5
|
+
import { applyInstanceRotation, readRotationColumns } from './parquet-rotation.js';
|
|
19
6
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* `origin` is omitted when the frame IS the world origin and `geometry_class`
|
|
23
|
-
* when it is 0 (occurrence), so a world-baked mesh decodes to exactly the shape
|
|
24
|
-
* it had before these columns existed — and to the same shape on every
|
|
25
|
-
* transport (JSON, standard Parquet, optimized Parquet).
|
|
26
|
-
*/
|
|
27
|
-
function transformFields(index, originX, originY, originZ, hasOrigin, geometryClass, hasGeometryClass) {
|
|
28
|
-
// A column set can be structurally usable (present, parallel to the rows)
|
|
29
|
-
// yet still carry a non-finite VALUE at this row — origin_x/y/z are Float64
|
|
30
|
-
// server-side and can legitimately hold NaN/Infinity on a corrupted payload.
|
|
31
|
-
// `||` alone does not catch this: NaN is falsy, so an all-NaN triplet was
|
|
32
|
-
// already dropped, but a PARTIAL one (e.g. `[NaN, 5, 0]`) is truthy and the
|
|
33
|
-
// NaN would ride straight into `MeshData.origin` and poison downstream
|
|
34
|
-
// bounds/position math. Treat non-finite the same as "column unusable" —
|
|
35
|
-
// fall back to no origin, exactly like `originIsUsable`'s own structural
|
|
36
|
-
// fallback — rather than throwing: this file only throws for STRUCTURAL
|
|
37
|
-
// malformation (missing columns, length mismatch, out-of-bounds index),
|
|
38
|
-
// never for a value inside an otherwise well-formed float column.
|
|
39
|
-
const ox = hasOrigin ? originX[index] : undefined;
|
|
40
|
-
const oy = hasOrigin ? originY[index] : undefined;
|
|
41
|
-
const oz = hasOrigin ? originZ[index] : undefined;
|
|
42
|
-
const originFinite = hasOrigin && Number.isFinite(ox) && Number.isFinite(oy) && Number.isFinite(oz);
|
|
43
|
-
const origin = originFinite && (ox || oy || oz)
|
|
44
|
-
? [ox, oy, oz]
|
|
45
|
-
: undefined;
|
|
46
|
-
const geometry_class = hasGeometryClass && geometryClass[index] ? geometryClass[index] : undefined;
|
|
47
|
-
return {
|
|
48
|
-
...(origin ? { origin } : {}),
|
|
49
|
-
...(geometry_class ? { geometry_class } : {}),
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Rebuild `MeshData[]` from the standard (non-instanced) three-table layout.
|
|
7
|
+
* Rebuild `MeshData[]` from the standard three-table layout.
|
|
54
8
|
*
|
|
55
9
|
* Positions/normals are already Y-up metres — the server applies the axis swap
|
|
56
10
|
* once, in `services::axis` (issue #1841), so every transport agrees.
|
|
11
|
+
*
|
|
12
|
+
* "Non-instanced" until `-parquet-v6` (issue #3888): several mesh rows can now
|
|
13
|
+
* name the SAME `vertex_start`/`index_start` block, each placed by its own
|
|
14
|
+
* `origin_x/y/z` plus a `rot0..rot8` rotation (`world = origin + R * p`) — the
|
|
15
|
+
* rotation-aware sharing the optimized transport has carried since #3575. Two
|
|
16
|
+
* things follow, and both are what keeps a `-parquet-v5` blob decoding here
|
|
17
|
+
* unchanged: the rotation columns are ABSENT on v5, and absent means identity;
|
|
18
|
+
* and `origin` was zero on every v5 flat row, so folding it in was a no-op
|
|
19
|
+
* there and is load-bearing here.
|
|
57
20
|
*/
|
|
58
21
|
export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
59
22
|
// Extract columns from mesh table
|
|
@@ -67,13 +30,6 @@ export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
|
67
30
|
const colorG = numericColumn(meshArrow, 'color_g');
|
|
68
31
|
const colorB = numericColumn(meshArrow, 'color_b');
|
|
69
32
|
const colorA = numericColumn(meshArrow, 'color_a');
|
|
70
|
-
// Per-mesh local-frame origin + geometry provenance (issue #1841). Additive
|
|
71
|
-
// columns — absent on payloads/caches from servers predating this field, in
|
|
72
|
-
// which case origin defaults to [0,0,0] (world-baked, the prior behaviour).
|
|
73
|
-
const originX = numericColumn(meshArrow, 'origin_x');
|
|
74
|
-
const originY = numericColumn(meshArrow, 'origin_y');
|
|
75
|
-
const originZ = numericColumn(meshArrow, 'origin_z');
|
|
76
|
-
const geometryClass = numericColumn(meshArrow, 'geometry_class');
|
|
77
33
|
if (!expressIds || !vertexStarts || !vertexCounts || !indexStarts || !indexCounts) {
|
|
78
34
|
throw new Error('Malformed Parquet geometry: missing required mesh column');
|
|
79
35
|
}
|
|
@@ -109,12 +65,18 @@ export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
|
109
65
|
}
|
|
110
66
|
// Reconstruct MeshData array
|
|
111
67
|
const meshCount = expressIds.length;
|
|
68
|
+
// Additive per-mesh columns (#1841, #3215) — absent on payloads and caches
|
|
69
|
+
// from servers predating them, where origin defaults to [0,0,0] and the
|
|
70
|
+
// source ids simply do not appear.
|
|
71
|
+
const cols = meshColumns(meshArrow, meshCount);
|
|
72
|
+
// Absent on every pre-#3888 payload. The flat transport has no version byte
|
|
73
|
+
// to tell a truncated v6 from a genuine v5, so absence reads as the identity
|
|
74
|
+
// it is on a v5 blob (see `readRotationColumns`).
|
|
75
|
+
const rotationCols = readRotationColumns(meshArrow, meshCount, 'identity');
|
|
112
76
|
const meshes = new Array(meshCount);
|
|
113
77
|
// Only consume the additive origin/geometry_class columns when all three
|
|
114
78
|
// origin components are present AND parallel to the mesh rows — a short or
|
|
115
79
|
// partial set (malformed/truncated payload) must not read `undefined` → NaN.
|
|
116
|
-
const hasOrigin = originIsUsable(originX, originY, originZ, meshCount);
|
|
117
|
-
const hasGeometryClass = !!geometryClass && geometryClass.length === meshCount;
|
|
118
80
|
for (let i = 0; i < meshCount; i++) {
|
|
119
81
|
const vertexStart = vertexStarts[i];
|
|
120
82
|
const vertexCount = vertexCounts[i];
|
|
@@ -132,10 +94,8 @@ export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
|
132
94
|
`(vertexStart=${vertexStart}, vertexCount=${vertexCount}, vertices=${posX.length}; ` +
|
|
133
95
|
`indexStart=${indexStart}, indexCount=${indexCount}, triangles=${idx0.length})`);
|
|
134
96
|
}
|
|
135
|
-
// Reconstruct interleaved positions from columnar format
|
|
136
|
-
//
|
|
137
|
-
// Server already transforms: X stays same, new Y = old Z, new Z = -old Y
|
|
138
|
-
// So we just copy directly without per-vertex transformation
|
|
97
|
+
// Reconstruct interleaved positions from columnar format. The server
|
|
98
|
+
// already applies the Z-up -> Y-up swap, so this just copies through.
|
|
139
99
|
const positions = new Float32Array(vertexCount * 3);
|
|
140
100
|
for (let v = 0; v < vertexCount; v++) {
|
|
141
101
|
const srcIdx = vertexStart + v;
|
|
@@ -143,7 +103,7 @@ export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
|
143
103
|
positions[v * 3 + 1] = posY[srcIdx];
|
|
144
104
|
positions[v * 3 + 2] = posZ[srcIdx];
|
|
145
105
|
}
|
|
146
|
-
// Reconstruct interleaved normals (also pre-transformed server-side)
|
|
106
|
+
// Reconstruct interleaved normals (also pre-transformed server-side).
|
|
147
107
|
const normals = new Float32Array(vertexCount * 3);
|
|
148
108
|
for (let v = 0; v < vertexCount; v++) {
|
|
149
109
|
const srcIdx = vertexStart + v;
|
|
@@ -151,9 +111,13 @@ export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
|
151
111
|
normals[v * 3 + 1] = normY[srcIdx];
|
|
152
112
|
normals[v * 3 + 2] = normZ[srcIdx];
|
|
153
113
|
}
|
|
154
|
-
//
|
|
155
|
-
|
|
156
|
-
|
|
114
|
+
// Rotate the shared block onto THIS occurrence before `origin` translates
|
|
115
|
+
// it (`world = origin + R * p`). A no-op on an identity row, which is every
|
|
116
|
+
// row of a v5 payload and every unshared row of a v6 one.
|
|
117
|
+
if (rotationCols)
|
|
118
|
+
applyInstanceRotation(positions, normals, rotationCols, i);
|
|
119
|
+
// Reconstruct triangle indices from columnar format.
|
|
120
|
+
const triangleCount = indexCount / 3, triangleStart = indexStart / 3;
|
|
157
121
|
const indices = new Uint32Array(indexCount);
|
|
158
122
|
for (let t = 0; t < triangleCount; t++) {
|
|
159
123
|
const srcIdx = triangleStart + t;
|
|
@@ -169,7 +133,7 @@ export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
|
169
133
|
indices,
|
|
170
134
|
color: [colorR[i], colorG[i], colorB[i], colorA[i]],
|
|
171
135
|
// world vertex = origin + position (both Y-up metres).
|
|
172
|
-
...transformFields(i,
|
|
136
|
+
...transformFields(i, cols),
|
|
173
137
|
};
|
|
174
138
|
}
|
|
175
139
|
return meshes;
|
|
@@ -189,13 +153,6 @@ export function buildMeshesFromOptimizedTables(tables) {
|
|
|
189
153
|
const ifcTypes = instanceArrow.getChild('ifc_type');
|
|
190
154
|
const meshIndices = numericColumn(instanceArrow, 'mesh_index');
|
|
191
155
|
const materialIndices = numericColumn(instanceArrow, 'material_index');
|
|
192
|
-
// Per-instance placement + provenance (issue #1841). Additive columns —
|
|
193
|
-
// absent on payloads from servers predating them, where origin defaults to
|
|
194
|
-
// [0,0,0].
|
|
195
|
-
const instOriginX = numericColumn(instanceArrow, 'origin_x');
|
|
196
|
-
const instOriginY = numericColumn(instanceArrow, 'origin_y');
|
|
197
|
-
const instOriginZ = numericColumn(instanceArrow, 'origin_z');
|
|
198
|
-
const instGeometryClass = numericColumn(instanceArrow, 'geometry_class');
|
|
199
156
|
// Extract mesh columns
|
|
200
157
|
const meshVertexOffsets = numericColumn(meshArrow, 'vertex_offset');
|
|
201
158
|
const meshVertexCounts = numericColumn(meshArrow, 'vertex_count');
|
|
@@ -244,12 +201,16 @@ export function buildMeshesFromOptimizedTables(tables) {
|
|
|
244
201
|
}
|
|
245
202
|
// Reconstruct MeshData array from instances
|
|
246
203
|
const instanceCount = entityIds.length;
|
|
204
|
+
// Per INSTANCE, not per template: two instances sharing one geometry template
|
|
205
|
+
// can come from different representation items (#3215).
|
|
206
|
+
const cols = meshColumns(instanceArrow, instanceCount);
|
|
247
207
|
const meshes = new Array(instanceCount);
|
|
248
208
|
const dequantMultiplier = 1.0 / vertexMultiplier;
|
|
209
|
+
// Wire version 3 states the columns are there (#3575), so absence is
|
|
210
|
+
// truncated data, not an older payload; version 2 predates them.
|
|
211
|
+
const rotationCols = readRotationColumns(instanceArrow, instanceCount, tables.wireVersion === 3 ? 'throw' : 'identity');
|
|
249
212
|
// Additive per-instance origin/geometry_class columns (issue #1841): consume
|
|
250
213
|
// only when present AND parallel to the instance rows.
|
|
251
|
-
const hasInstOrigin = originIsUsable(instOriginX, instOriginY, instOriginZ, instanceCount);
|
|
252
|
-
const hasInstGeometryClass = !!instGeometryClass && instGeometryClass.length === instanceCount;
|
|
253
214
|
for (let i = 0; i < instanceCount; i++) {
|
|
254
215
|
const meshIdx = meshIndices[i];
|
|
255
216
|
const materialIdx = materialIndices[i];
|
|
@@ -275,9 +236,7 @@ export function buildMeshesFromOptimizedTables(tables) {
|
|
|
275
236
|
`vertices=${vertexX.length}; indexOffset=${indexOffset}, indexCount=${indexCount}, ` +
|
|
276
237
|
`indices=${indices.length})`);
|
|
277
238
|
}
|
|
278
|
-
// Dequantize
|
|
279
|
-
// OPTIMIZATION: Z-up to Y-up transform is now done server-side for optimized format too
|
|
280
|
-
// Server already transforms before quantization, so we just dequantize directly
|
|
239
|
+
// Dequantize (the server already applied Z-up -> Y-up before quantizing).
|
|
281
240
|
const positions = new Float32Array(vertexCount * 3);
|
|
282
241
|
for (let v = 0; v < vertexCount; v++) {
|
|
283
242
|
const srcIdx = vertexOffset + v;
|
|
@@ -290,25 +249,26 @@ export function buildMeshesFromOptimizedTables(tables) {
|
|
|
290
249
|
for (let j = 0; j < indexCount; j++) {
|
|
291
250
|
meshIndicesArray[j] = indices[indexOffset + j];
|
|
292
251
|
}
|
|
293
|
-
//
|
|
294
|
-
|
|
252
|
+
// Server-provided normals, read BEFORE rotating (#3575) so a flat
|
|
253
|
+
// recompute below, when absent, starts from already-rotated positions.
|
|
254
|
+
let providedNormals;
|
|
295
255
|
if (hasNormals && normalX && normalY && normalZ) {
|
|
296
|
-
|
|
256
|
+
providedNormals = new Float32Array(vertexCount * 3);
|
|
297
257
|
for (let v = 0; v < vertexCount; v++) {
|
|
298
258
|
const srcIdx = vertexOffset + v;
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
259
|
+
providedNormals[v * 3] = normalX[srcIdx];
|
|
260
|
+
providedNormals[v * 3 + 1] = normalY[srcIdx];
|
|
261
|
+
providedNormals[v * 3 + 2] = normalZ[srcIdx];
|
|
302
262
|
}
|
|
303
263
|
}
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
// Convert byte colors to float [0-1]. `
|
|
309
|
-
//
|
|
310
|
-
//
|
|
311
|
-
//
|
|
264
|
+
// Rotate into this instance's own frame (#3575); no-op for identity rows.
|
|
265
|
+
if (rotationCols)
|
|
266
|
+
applyInstanceRotation(positions, providedNormals, rotationCols, i);
|
|
267
|
+
const normals = providedNormals ?? computeFlatNormals(positions, meshIndicesArray);
|
|
268
|
+
// Convert byte colors to float [0-1]. `origin` (not baked in, for f32
|
|
269
|
+
// precision at building scale) carries the remaining translation: world
|
|
270
|
+
// = origin + position, same contract as the standard path (#1841),
|
|
271
|
+
// extended with the rotation already applied to `positions` above.
|
|
312
272
|
meshes[i] = {
|
|
313
273
|
express_id: entityIds[i],
|
|
314
274
|
ifc_type: ifcTypes?.get(i) ?? 'Unknown',
|
|
@@ -321,7 +281,7 @@ export function buildMeshesFromOptimizedTables(tables) {
|
|
|
321
281
|
matB[materialIdx] / 255,
|
|
322
282
|
matA[materialIdx] / 255,
|
|
323
283
|
],
|
|
324
|
-
...transformFields(i,
|
|
284
|
+
...transformFields(i, cols),
|
|
325
285
|
};
|
|
326
286
|
}
|
|
327
287
|
return meshes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parquet-tables.js","sourceRoot":"","sources":["../src/parquet-tables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parquet-tables.js","sourceRoot":"","sources":["../src/parquet-tables.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The query string every parse-family request carries.
|
|
3
|
+
*
|
|
4
|
+
* Its own module because it encodes a SAFETY contract, not just formatting.
|
|
5
|
+
* `flatLayout` opts this client in to the server's shared-shape flat Parquet
|
|
6
|
+
* layout (issue #3888): the server produces the older layout unless asked,
|
|
7
|
+
* because the shared one renders wrong on a decoder that ignores its
|
|
8
|
+
* `rot0..rot8` columns and the flat wire has no version marker such a decoder
|
|
9
|
+
* could reject. This version's decoder applies them, so it opts in.
|
|
10
|
+
*
|
|
11
|
+
* The two layouts are cached under separate server-side keys, which is why the
|
|
12
|
+
* signal has to go on EVERY endpoint touching that cache — both parse routes,
|
|
13
|
+
* the cache check and the cached-geometry fetch. One that forgets it asks about
|
|
14
|
+
* the other entry. Pinned by `parquet-layout-signal.test.ts`.
|
|
15
|
+
*/
|
|
16
|
+
import type { ParseRequestOptions } from './client.js';
|
|
17
|
+
export declare function parseQuery(options?: ParseRequestOptions, flatLayout?: boolean, sha256?: string): string;
|
|
18
|
+
//# sourceMappingURL=parse-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-query.d.ts","sourceRoot":"","sources":["../src/parse-query.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAgB,UAAU,CACxB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,UAAU,UAAQ,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAgBR"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
|
+
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
3
|
+
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
|
4
|
+
export function parseQuery(options, flatLayout = false, sha256) {
|
|
5
|
+
const params = new URLSearchParams();
|
|
6
|
+
if (options?.tessellationQuality && options.tessellationQuality !== 'medium') {
|
|
7
|
+
params.set('tessellation_quality', options.tessellationQuality);
|
|
8
|
+
}
|
|
9
|
+
if (flatLayout) {
|
|
10
|
+
params.set('parquet_layout', 'shared-shapes');
|
|
11
|
+
}
|
|
12
|
+
// The hash-only stream probe (#3901). It belongs here, beside the rest of the
|
|
13
|
+
// cache identity, because the entry it names is the one THIS query selects:
|
|
14
|
+
// a hash paired with the wrong layout or quality asks about a different blob.
|
|
15
|
+
if (sha256) {
|
|
16
|
+
params.set('sha256', sha256);
|
|
17
|
+
}
|
|
18
|
+
const qs = params.toString();
|
|
19
|
+
return qs ? `?${qs}` : '';
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=parse-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-query.js","sourceRoot":"","sources":["../src/parse-query.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAoB/D,MAAM,UAAU,UAAU,CACxB,OAA6B,EAC7B,UAAU,GAAG,KAAK,EAClB,MAAe;IAEf,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;IACrC,IAAI,OAAO,EAAE,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;QAC7E,MAAM,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC;IACD,8EAA8E;IAC9E,4EAA4E;IAC5E,8EAA8E;IAC9E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The symbolic (2D drawing) wire shapes of the parse response.
|
|
3
|
+
*
|
|
4
|
+
* Split out of `types.ts` under the module-size ratchet (#3199): the family is
|
|
5
|
+
* self-contained -- nothing here references a mesh, a spatial node or a
|
|
6
|
+
* property -- and `types.ts` re-exports it, so the package's public surface is
|
|
7
|
+
* unchanged and every existing `from '@ifc-lite/server-client'` import keeps
|
|
8
|
+
* resolving. Mirrors the same split made in `@ifc-lite/geometry`.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* A single `IfcGridAxis` tag + axis curve (compact endpoint-pair shape).
|
|
12
|
+
*/
|
|
13
|
+
export interface SymbolicGridAxis {
|
|
14
|
+
express_id: number;
|
|
15
|
+
grid_express_id: number;
|
|
16
|
+
tag: string;
|
|
17
|
+
/** Endpoint pair `[x0, y0, x1, y1]` in metres (plan view). */
|
|
18
|
+
endpoints: [number, number, number, number];
|
|
19
|
+
/**
|
|
20
|
+
* World-Y elevation in metres, or `null` when unresolved. See the
|
|
21
|
+
* "UNRESOLVED SCALARS" note at the top of this section — `null` is not `0`.
|
|
22
|
+
*/
|
|
23
|
+
world_y: number | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A 2D polyline (`IfcPolyline`, `IfcIndexedPolyCurve`, tessellated ellipses,
|
|
27
|
+
* trimmed-curve arcs, grid axis lines).
|
|
28
|
+
*/
|
|
29
|
+
export interface SymbolicPolyline {
|
|
30
|
+
express_id: number;
|
|
31
|
+
ifc_type: string;
|
|
32
|
+
/** Flat `[x0, y0, x1, y1, …]` plan-view coordinates. */
|
|
33
|
+
points: number[];
|
|
34
|
+
closed: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* World-Y elevation in metres, or `null` when unresolved. See the
|
|
37
|
+
* "UNRESOLVED SCALARS" note at the top of this section — `null` is not `0`.
|
|
38
|
+
*/
|
|
39
|
+
world_y: number | null;
|
|
40
|
+
representation: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* A 2D circle / arc (`IfcCircle`).
|
|
44
|
+
*/
|
|
45
|
+
export interface SymbolicCircle {
|
|
46
|
+
express_id: number;
|
|
47
|
+
ifc_type: string;
|
|
48
|
+
center_x: number;
|
|
49
|
+
center_y: number;
|
|
50
|
+
radius: number;
|
|
51
|
+
/**
|
|
52
|
+
* World-Y elevation in metres, or `null` when unresolved. See the
|
|
53
|
+
* "UNRESOLVED SCALARS" note at the top of this section — `null` is not `0`.
|
|
54
|
+
*/
|
|
55
|
+
world_y: number | null;
|
|
56
|
+
/** Start angle in radians (0 for a full circle). */
|
|
57
|
+
start_angle: number;
|
|
58
|
+
/** End angle in radians (`2π` for a full circle). */
|
|
59
|
+
end_angle: number;
|
|
60
|
+
representation: string;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A 2D text annotation (`IfcTextLiteral` / grid bubble glyphs + tags).
|
|
64
|
+
*/
|
|
65
|
+
export interface SymbolicText {
|
|
66
|
+
express_id: number;
|
|
67
|
+
ifc_type: string;
|
|
68
|
+
x: number;
|
|
69
|
+
y: number;
|
|
70
|
+
/** Baseline orientation as a `(cos, sin)` pair. */
|
|
71
|
+
dir_x: number;
|
|
72
|
+
dir_y: number;
|
|
73
|
+
/** Font cap height in model units (already unit-scaled). */
|
|
74
|
+
height: number;
|
|
75
|
+
content: string;
|
|
76
|
+
/** IFC `BoxAlignment` (`top-left`, `center`, …). Empty when absent. */
|
|
77
|
+
alignment: string;
|
|
78
|
+
/**
|
|
79
|
+
* World-Y elevation in metres, or `null` when unresolved. See the
|
|
80
|
+
* "UNRESOLVED SCALARS" note at the top of this section — `null` is not `0`.
|
|
81
|
+
*/
|
|
82
|
+
world_y: number | null;
|
|
83
|
+
/** sRGB straight-alpha colour `[r, g, b, a]`. */
|
|
84
|
+
color: [number, number, number, number];
|
|
85
|
+
/** Per-instance target screen-pixel cap height (`0` = renderer default). */
|
|
86
|
+
target_px: number;
|
|
87
|
+
representation: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* A 2D filled region (`IfcAnnotationFillArea`). Outer ring + optional holes
|
|
91
|
+
* packed into a single `points` buffer; `holes_offsets[i]` is the vertex index
|
|
92
|
+
* where hole `i` begins.
|
|
93
|
+
*/
|
|
94
|
+
export interface SymbolicFillArea {
|
|
95
|
+
express_id: number;
|
|
96
|
+
ifc_type: string;
|
|
97
|
+
points: number[];
|
|
98
|
+
holes_offsets: number[];
|
|
99
|
+
fill_color: [number, number, number, number];
|
|
100
|
+
has_hatching: boolean;
|
|
101
|
+
hatch_spacing: number;
|
|
102
|
+
hatch_angle: number;
|
|
103
|
+
/**
|
|
104
|
+
* Secondary cross-hatch angle. `null` when absent — the Rust model uses
|
|
105
|
+
* `f32::NAN`, which `serde_json` serializes as JSON `null` (not `NaN`).
|
|
106
|
+
*/
|
|
107
|
+
hatch_angle_secondary: number | null;
|
|
108
|
+
hatch_line_width: number;
|
|
109
|
+
/**
|
|
110
|
+
* World-Y elevation in metres, or `null` when unresolved. See the
|
|
111
|
+
* "UNRESOLVED SCALARS" note at the top of this section — `null` is not `0`.
|
|
112
|
+
*/
|
|
113
|
+
world_y: number | null;
|
|
114
|
+
representation: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* 2D symbol data extracted from `IfcAnnotation` and `IfcGrid` entities.
|
|
118
|
+
*
|
|
119
|
+
* Returned inline by `POST /api/v1/parse` and the streaming `complete` events,
|
|
120
|
+
* and fetched by cache key from `GET /api/v1/parse/symbolic/{cache_key}` for the
|
|
121
|
+
* binary (Parquet) transports. Arrays may be empty when the model carries no
|
|
122
|
+
* 2D symbols.
|
|
123
|
+
*/
|
|
124
|
+
/**
|
|
125
|
+
* Present only when extraction stopped at its bound; absent when the file was
|
|
126
|
+
* emitted in full.
|
|
127
|
+
*/
|
|
128
|
+
/**
|
|
129
|
+
* Which bound stopped an extraction early.
|
|
130
|
+
*
|
|
131
|
+
* Mirrors `SymbolicTruncationReason` in `rust/processing/src/symbolic/output_cap.rs`,
|
|
132
|
+
* serialized kebab-case. The extraction bounds (`element-count`, `output-bytes`)
|
|
133
|
+
* are the severe ones and outrank the per-item bounds, which stop one
|
|
134
|
+
* representation item's contribution while the whole-file totals can sit far
|
|
135
|
+
* below either extraction bound.
|
|
136
|
+
*/
|
|
137
|
+
export type SymbolicTruncationReason = 'element-count' | 'output-bytes' | 'item-depth' | 'item-revisits' | 'item-cycle';
|
|
138
|
+
export interface SymbolicTruncation {
|
|
139
|
+
/** Which bound fired. */
|
|
140
|
+
reason: SymbolicTruncationReason;
|
|
141
|
+
/** Total primitives emitted. */
|
|
142
|
+
emitted: number;
|
|
143
|
+
/**
|
|
144
|
+
* The bound's numeric value, when the reason has one.
|
|
145
|
+
*
|
|
146
|
+
* ABSENT for `item-depth`, `item-revisits` and `item-cycle`: those bounds
|
|
147
|
+
* count traversal revisits and nesting depth, not emitted primitives, so
|
|
148
|
+
* there is no number to compare `emitted` against without inventing one.
|
|
149
|
+
*/
|
|
150
|
+
limit?: number;
|
|
151
|
+
}
|
|
152
|
+
export interface SymbolicData {
|
|
153
|
+
grid_axes: SymbolicGridAxis[];
|
|
154
|
+
polylines: SymbolicPolyline[];
|
|
155
|
+
circles: SymbolicCircle[];
|
|
156
|
+
texts: SymbolicText[];
|
|
157
|
+
fills: SymbolicFillArea[];
|
|
158
|
+
/**
|
|
159
|
+
* Set when the server bounded this extraction and returned a partial result.
|
|
160
|
+
*
|
|
161
|
+
* Optional because it is omitted for a complete extraction, so an existing
|
|
162
|
+
* consumer keeps compiling. But a consumer that renders symbolic geometry
|
|
163
|
+
* without reading this shows a clipped drawing as though it were the whole
|
|
164
|
+
* drawing, which is the failure this field exists to end.
|
|
165
|
+
*/
|
|
166
|
+
truncated?: SymbolicTruncation;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=symbolic-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbolic-types.d.ts","sourceRoot":"","sources":["../src/symbolic-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"symbolic-types.js","sourceRoot":"","sources":["../src/symbolic-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}
|