@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.
Files changed (50) hide show
  1. package/README.md +28 -1
  2. package/dist/client.d.ts +29 -3
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +89 -162
  5. package/dist/client.js.map +1 -1
  6. package/dist/data-model-decoder.d.ts +4 -0
  7. package/dist/data-model-decoder.d.ts.map +1 -1
  8. package/dist/data-model-decoder.js +14 -8
  9. package/dist/data-model-decoder.js.map +1 -1
  10. package/dist/geometry-diagnostics-types.d.ts +124 -0
  11. package/dist/geometry-diagnostics-types.d.ts.map +1 -0
  12. package/dist/geometry-diagnostics-types.js +5 -0
  13. package/dist/geometry-diagnostics-types.js.map +1 -0
  14. package/dist/parquet-columns.d.ts +81 -0
  15. package/dist/parquet-columns.d.ts.map +1 -0
  16. package/dist/parquet-columns.js +97 -0
  17. package/dist/parquet-columns.js.map +1 -0
  18. package/dist/parquet-decoder.d.ts +3 -1
  19. package/dist/parquet-decoder.d.ts.map +1 -1
  20. package/dist/parquet-decoder.js +40 -70
  21. package/dist/parquet-decoder.js.map +1 -1
  22. package/dist/parquet-nullable.d.ts +26 -0
  23. package/dist/parquet-nullable.d.ts.map +1 -0
  24. package/dist/parquet-nullable.js +36 -0
  25. package/dist/parquet-nullable.js.map +1 -0
  26. package/dist/parquet-rotation.d.ts +70 -0
  27. package/dist/parquet-rotation.d.ts.map +1 -0
  28. package/dist/parquet-rotation.js +96 -0
  29. package/dist/parquet-rotation.js.map +1 -0
  30. package/dist/parquet-stream-events.d.ts +23 -0
  31. package/dist/parquet-stream-events.d.ts.map +1 -0
  32. package/dist/parquet-stream-events.js +133 -0
  33. package/dist/parquet-stream-events.js.map +1 -0
  34. package/dist/parquet-tables.d.ts +11 -1
  35. package/dist/parquet-tables.d.ts.map +1 -1
  36. package/dist/parquet-tables.js +54 -94
  37. package/dist/parquet-tables.js.map +1 -1
  38. package/dist/parse-query.d.ts +18 -0
  39. package/dist/parse-query.d.ts.map +1 -0
  40. package/dist/parse-query.js +21 -0
  41. package/dist/parse-query.js.map +1 -0
  42. package/dist/symbolic-types.d.ts +168 -0
  43. package/dist/symbolic-types.d.ts.map +1 -0
  44. package/dist/symbolic-types.js +5 -0
  45. package/dist/symbolic-types.js.map +1 -0
  46. package/dist/types.d.ts +29 -205
  47. package/dist/types.d.ts.map +1 -1
  48. package/dist/types.js +2 -1
  49. package/dist/types.js.map +1 -1
  50. package/package.json +4 -3
@@ -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
- /** Read a numeric column, or `undefined` when the table does not carry it. */
5
- function numericColumn(table, name) {
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
- * The canonical per-mesh transform metadata, spread into the `MeshData` literal.
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
- // OPTIMIZATION: Z-up to Y-up transform is now done server-side
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
- // Reconstruct triangle indices from columnar format
155
- const triangleCount = indexCount / 3;
156
- const triangleStart = indexStart / 3;
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, originX, originY, originZ, hasOrigin, geometryClass, hasGeometryClass),
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 and reconstruct positions
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
- // Reconstruct normals (pre-transformed server-side, or compute if not present)
294
- let normals;
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
- normals = new Float32Array(vertexCount * 3);
256
+ providedNormals = new Float32Array(vertexCount * 3);
297
257
  for (let v = 0; v < vertexCount; v++) {
298
258
  const srcIdx = vertexOffset + v;
299
- normals[v * 3] = normalX[srcIdx];
300
- normals[v * 3 + 1] = normalY[srcIdx];
301
- normals[v * 3 + 2] = normalZ[srcIdx];
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
- else {
305
- // Compute flat normals from triangle faces
306
- normals = computeFlatNormals(positions, meshIndicesArray);
307
- }
308
- // Convert byte colors to float [0-1]. `positions` are the TEMPLATE-local
309
- // vertices; `origin` (not baked in, to keep f32 precision at building scale)
310
- // carries the per-instance placement so the renderer reconstructs
311
- // world = origin + position — the same contract as the standard path.
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, instOriginX, instOriginY, instOriginZ, hasInstOrigin, instGeometryClass, hasInstGeometryClass),
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,5 @@
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 {};
5
+ //# sourceMappingURL=symbolic-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbolic-types.js","sourceRoot":"","sources":["../src/symbolic-types.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}