@ifc-lite/server-client 1.19.0 → 1.21.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/dist/data-model-decoder.d.ts +64 -1
- package/dist/data-model-decoder.d.ts.map +1 -1
- package/dist/data-model-decoder.js +182 -16
- package/dist/data-model-decoder.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/parquet-decoder.d.ts.map +1 -1
- package/dist/parquet-decoder.js +15 -258
- package/dist/parquet-decoder.js.map +1 -1
- package/dist/parquet-tables.d.ts +59 -0
- package/dist/parquet-tables.d.ts.map +1 -0
- package/dist/parquet-tables.js +360 -0
- package/dist/parquet-tables.js.map +1 -0
- package/dist/types.d.ts +22 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -3
|
@@ -0,0 +1,360 @@
|
|
|
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
|
+
/** 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
|
+
}
|
|
19
|
+
/**
|
|
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
|
+
const origin = hasOrigin && (originX[index] || originY[index] || originZ[index])
|
|
29
|
+
? [originX[index], originY[index], originZ[index]]
|
|
30
|
+
: undefined;
|
|
31
|
+
const geometry_class = hasGeometryClass && geometryClass[index] ? geometryClass[index] : undefined;
|
|
32
|
+
return {
|
|
33
|
+
...(origin ? { origin } : {}),
|
|
34
|
+
...(geometry_class ? { geometry_class } : {}),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Rebuild `MeshData[]` from the standard (non-instanced) three-table layout.
|
|
39
|
+
*
|
|
40
|
+
* Positions/normals are already Y-up metres — the server applies the axis swap
|
|
41
|
+
* once, in `services::axis` (issue #1841), so every transport agrees.
|
|
42
|
+
*/
|
|
43
|
+
export function buildMeshesFromTables(meshArrow, vertexArrow, indexArrow) {
|
|
44
|
+
// Extract columns from mesh table
|
|
45
|
+
const expressIds = numericColumn(meshArrow, 'express_id');
|
|
46
|
+
const ifcTypes = meshArrow.getChild('ifc_type');
|
|
47
|
+
const vertexStarts = numericColumn(meshArrow, 'vertex_start');
|
|
48
|
+
const vertexCounts = numericColumn(meshArrow, 'vertex_count');
|
|
49
|
+
const indexStarts = numericColumn(meshArrow, 'index_start');
|
|
50
|
+
const indexCounts = numericColumn(meshArrow, 'index_count');
|
|
51
|
+
const colorR = numericColumn(meshArrow, 'color_r');
|
|
52
|
+
const colorG = numericColumn(meshArrow, 'color_g');
|
|
53
|
+
const colorB = numericColumn(meshArrow, 'color_b');
|
|
54
|
+
const colorA = numericColumn(meshArrow, 'color_a');
|
|
55
|
+
// Per-mesh local-frame origin + geometry provenance (issue #1841). Additive
|
|
56
|
+
// columns — absent on payloads/caches from servers predating this field, in
|
|
57
|
+
// which case origin defaults to [0,0,0] (world-baked, the prior behaviour).
|
|
58
|
+
const originX = numericColumn(meshArrow, 'origin_x');
|
|
59
|
+
const originY = numericColumn(meshArrow, 'origin_y');
|
|
60
|
+
const originZ = numericColumn(meshArrow, 'origin_z');
|
|
61
|
+
const geometryClass = numericColumn(meshArrow, 'geometry_class');
|
|
62
|
+
if (!expressIds || !vertexStarts || !vertexCounts || !indexStarts || !indexCounts) {
|
|
63
|
+
throw new Error('Malformed Parquet geometry: missing required mesh column');
|
|
64
|
+
}
|
|
65
|
+
if (!colorR || !colorG || !colorB || !colorA) {
|
|
66
|
+
throw new Error('Malformed Parquet geometry: missing required color column');
|
|
67
|
+
}
|
|
68
|
+
// Extract columns from vertex table
|
|
69
|
+
const posX = numericColumn(vertexArrow, 'x');
|
|
70
|
+
const posY = numericColumn(vertexArrow, 'y');
|
|
71
|
+
const posZ = numericColumn(vertexArrow, 'z');
|
|
72
|
+
const normX = numericColumn(vertexArrow, 'nx');
|
|
73
|
+
const normY = numericColumn(vertexArrow, 'ny');
|
|
74
|
+
const normZ = numericColumn(vertexArrow, 'nz');
|
|
75
|
+
// Extract columns from index table
|
|
76
|
+
const idx0 = numericColumn(indexArrow, 'i0');
|
|
77
|
+
const idx1 = numericColumn(indexArrow, 'i1');
|
|
78
|
+
const idx2 = numericColumn(indexArrow, 'i2');
|
|
79
|
+
// The per-mesh bounds check below only validates posX/normX/idx0, but the
|
|
80
|
+
// loop also reads the sibling columns (posY/posZ, normY/normZ, idx1/idx2).
|
|
81
|
+
// A malformed payload with a missing or short sibling would read `undefined`
|
|
82
|
+
// → NaN positions / bad indices, so verify presence + matching lengths once
|
|
83
|
+
// up front; the per-mesh check then transitively covers every sibling.
|
|
84
|
+
if (!posX || !posY || !posZ || !normX || !normY || !normZ || !idx0 || !idx1 || !idx2) {
|
|
85
|
+
throw new Error('Malformed Parquet geometry: missing required vertex/index column');
|
|
86
|
+
}
|
|
87
|
+
if (posX.length !== posY.length ||
|
|
88
|
+
posX.length !== posZ.length ||
|
|
89
|
+
normX.length !== normY.length ||
|
|
90
|
+
normX.length !== normZ.length ||
|
|
91
|
+
idx0.length !== idx1.length ||
|
|
92
|
+
idx0.length !== idx2.length) {
|
|
93
|
+
throw new Error('Malformed Parquet geometry: inconsistent parallel column lengths');
|
|
94
|
+
}
|
|
95
|
+
// Reconstruct MeshData array
|
|
96
|
+
const meshCount = expressIds.length;
|
|
97
|
+
const meshes = new Array(meshCount);
|
|
98
|
+
// Only consume the additive origin/geometry_class columns when all three
|
|
99
|
+
// origin components are present AND parallel to the mesh rows — a short or
|
|
100
|
+
// partial set (malformed/truncated payload) must not read `undefined` → NaN.
|
|
101
|
+
const hasOrigin = originIsUsable(originX, originY, originZ, meshCount);
|
|
102
|
+
const hasGeometryClass = !!geometryClass && geometryClass.length === meshCount;
|
|
103
|
+
for (let i = 0; i < meshCount; i++) {
|
|
104
|
+
const vertexStart = vertexStarts[i];
|
|
105
|
+
const vertexCount = vertexCounts[i];
|
|
106
|
+
const indexStart = indexStarts[i];
|
|
107
|
+
const indexCount = indexCounts[i];
|
|
108
|
+
// Validate per-mesh ranges against the actual (untrusted) column lengths
|
|
109
|
+
// before indexing, so an overrun fails loudly instead of silently
|
|
110
|
+
// writing NaN positions / 0 indices into the geometry.
|
|
111
|
+
if (vertexStart + vertexCount > posX.length ||
|
|
112
|
+
vertexStart + vertexCount > normX.length ||
|
|
113
|
+
indexStart % 3 !== 0 ||
|
|
114
|
+
indexCount % 3 !== 0 ||
|
|
115
|
+
(indexStart + indexCount) / 3 > idx0.length) {
|
|
116
|
+
throw new Error(`Malformed Parquet geometry: mesh ${i} range out of bounds ` +
|
|
117
|
+
`(vertexStart=${vertexStart}, vertexCount=${vertexCount}, vertices=${posX.length}; ` +
|
|
118
|
+
`indexStart=${indexStart}, indexCount=${indexCount}, triangles=${idx0.length})`);
|
|
119
|
+
}
|
|
120
|
+
// Reconstruct interleaved positions from columnar format
|
|
121
|
+
// OPTIMIZATION: Z-up to Y-up transform is now done server-side
|
|
122
|
+
// Server already transforms: X stays same, new Y = old Z, new Z = -old Y
|
|
123
|
+
// So we just copy directly without per-vertex transformation
|
|
124
|
+
const positions = new Float32Array(vertexCount * 3);
|
|
125
|
+
for (let v = 0; v < vertexCount; v++) {
|
|
126
|
+
const srcIdx = vertexStart + v;
|
|
127
|
+
positions[v * 3] = posX[srcIdx];
|
|
128
|
+
positions[v * 3 + 1] = posY[srcIdx];
|
|
129
|
+
positions[v * 3 + 2] = posZ[srcIdx];
|
|
130
|
+
}
|
|
131
|
+
// Reconstruct interleaved normals (also pre-transformed server-side)
|
|
132
|
+
const normals = new Float32Array(vertexCount * 3);
|
|
133
|
+
for (let v = 0; v < vertexCount; v++) {
|
|
134
|
+
const srcIdx = vertexStart + v;
|
|
135
|
+
normals[v * 3] = normX[srcIdx];
|
|
136
|
+
normals[v * 3 + 1] = normY[srcIdx];
|
|
137
|
+
normals[v * 3 + 2] = normZ[srcIdx];
|
|
138
|
+
}
|
|
139
|
+
// Reconstruct triangle indices from columnar format
|
|
140
|
+
const triangleCount = indexCount / 3;
|
|
141
|
+
const triangleStart = indexStart / 3;
|
|
142
|
+
const indices = new Uint32Array(indexCount);
|
|
143
|
+
for (let t = 0; t < triangleCount; t++) {
|
|
144
|
+
const srcIdx = triangleStart + t;
|
|
145
|
+
indices[t * 3] = idx0[srcIdx];
|
|
146
|
+
indices[t * 3 + 1] = idx1[srcIdx];
|
|
147
|
+
indices[t * 3 + 2] = idx2[srcIdx];
|
|
148
|
+
}
|
|
149
|
+
meshes[i] = {
|
|
150
|
+
express_id: expressIds[i],
|
|
151
|
+
ifc_type: ifcTypes?.get(i) ?? 'Unknown',
|
|
152
|
+
positions,
|
|
153
|
+
normals,
|
|
154
|
+
indices,
|
|
155
|
+
color: [colorR[i], colorG[i], colorB[i], colorA[i]],
|
|
156
|
+
// world vertex = origin + position (both Y-up metres).
|
|
157
|
+
...transformFields(i, originX, originY, originZ, hasOrigin, geometryClass, hasGeometryClass),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
return meshes;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Rebuild `MeshData[]` from the optimized instanced layout.
|
|
164
|
+
*
|
|
165
|
+
* Geometry is deduplicated: many instances share one template mesh, so the
|
|
166
|
+
* per-INSTANCE `origin` is the only thing that places each occurrence. Dropping
|
|
167
|
+
* it renders every occurrence at the template's coordinates — literally the
|
|
168
|
+
* "N slabs collapse to one" symptom of issue #1841.
|
|
169
|
+
*/
|
|
170
|
+
export function buildMeshesFromOptimizedTables(tables) {
|
|
171
|
+
const { instanceArrow, meshArrow, materialArrow, vertexArrow, indexArrow, hasNormals, vertexMultiplier, } = tables;
|
|
172
|
+
// Extract instance columns
|
|
173
|
+
const entityIds = numericColumn(instanceArrow, 'entity_id');
|
|
174
|
+
const ifcTypes = instanceArrow.getChild('ifc_type');
|
|
175
|
+
const meshIndices = numericColumn(instanceArrow, 'mesh_index');
|
|
176
|
+
const materialIndices = numericColumn(instanceArrow, 'material_index');
|
|
177
|
+
// Per-instance placement + provenance (issue #1841). Additive columns —
|
|
178
|
+
// absent on payloads from servers predating them, where origin defaults to
|
|
179
|
+
// [0,0,0].
|
|
180
|
+
const instOriginX = numericColumn(instanceArrow, 'origin_x');
|
|
181
|
+
const instOriginY = numericColumn(instanceArrow, 'origin_y');
|
|
182
|
+
const instOriginZ = numericColumn(instanceArrow, 'origin_z');
|
|
183
|
+
const instGeometryClass = numericColumn(instanceArrow, 'geometry_class');
|
|
184
|
+
// Extract mesh columns
|
|
185
|
+
const meshVertexOffsets = numericColumn(meshArrow, 'vertex_offset');
|
|
186
|
+
const meshVertexCounts = numericColumn(meshArrow, 'vertex_count');
|
|
187
|
+
const meshIndexOffsets = numericColumn(meshArrow, 'index_offset');
|
|
188
|
+
const meshIndexCounts = numericColumn(meshArrow, 'index_count');
|
|
189
|
+
// Extract material columns (bytes 0-255)
|
|
190
|
+
const matR = numericColumn(materialArrow, 'r');
|
|
191
|
+
const matG = numericColumn(materialArrow, 'g');
|
|
192
|
+
const matB = numericColumn(materialArrow, 'b');
|
|
193
|
+
const matA = numericColumn(materialArrow, 'a');
|
|
194
|
+
// Extract vertex columns (quantized integers)
|
|
195
|
+
const vertexX = numericColumn(vertexArrow, 'x');
|
|
196
|
+
const vertexY = numericColumn(vertexArrow, 'y');
|
|
197
|
+
const vertexZ = numericColumn(vertexArrow, 'z');
|
|
198
|
+
const normalX = hasNormals ? numericColumn(vertexArrow, 'nx') : undefined;
|
|
199
|
+
const normalY = hasNormals ? numericColumn(vertexArrow, 'ny') : undefined;
|
|
200
|
+
const normalZ = hasNormals ? numericColumn(vertexArrow, 'nz') : undefined;
|
|
201
|
+
// Extract index column
|
|
202
|
+
const indices = numericColumn(indexArrow, 'i');
|
|
203
|
+
if (!entityIds || !meshIndices || !materialIndices) {
|
|
204
|
+
throw new Error('Malformed optimized Parquet geometry: missing required instance column');
|
|
205
|
+
}
|
|
206
|
+
if (!meshVertexOffsets || !meshVertexCounts || !meshIndexOffsets || !meshIndexCounts) {
|
|
207
|
+
throw new Error('Malformed optimized Parquet geometry: missing required mesh column');
|
|
208
|
+
}
|
|
209
|
+
// The per-instance check below validates only vertexX/normalX/indices/matR,
|
|
210
|
+
// but the loop also reads the sibling columns (vertexY/Z, normalY/Z, matG/B/A).
|
|
211
|
+
// Verify presence + length parity once up front so a malformed payload with a
|
|
212
|
+
// missing/short sibling fails loudly instead of producing NaN geometry/colors.
|
|
213
|
+
if (!vertexX || !vertexY || !vertexZ || !indices || !matR || !matG || !matB || !matA) {
|
|
214
|
+
throw new Error('Malformed optimized Parquet geometry: missing required column');
|
|
215
|
+
}
|
|
216
|
+
if (vertexX.length !== vertexY.length ||
|
|
217
|
+
vertexX.length !== vertexZ.length ||
|
|
218
|
+
matR.length !== matG.length ||
|
|
219
|
+
matR.length !== matB.length ||
|
|
220
|
+
matR.length !== matA.length ||
|
|
221
|
+
(hasNormals &&
|
|
222
|
+
(!normalX ||
|
|
223
|
+
!normalY ||
|
|
224
|
+
!normalZ ||
|
|
225
|
+
normalX.length !== vertexX.length ||
|
|
226
|
+
normalY.length !== vertexX.length ||
|
|
227
|
+
normalZ.length !== vertexX.length))) {
|
|
228
|
+
throw new Error('Malformed optimized Parquet geometry: inconsistent parallel column lengths');
|
|
229
|
+
}
|
|
230
|
+
// Reconstruct MeshData array from instances
|
|
231
|
+
const instanceCount = entityIds.length;
|
|
232
|
+
const meshes = new Array(instanceCount);
|
|
233
|
+
const dequantMultiplier = 1.0 / vertexMultiplier;
|
|
234
|
+
// Additive per-instance origin/geometry_class columns (issue #1841): consume
|
|
235
|
+
// only when present AND parallel to the instance rows.
|
|
236
|
+
const hasInstOrigin = originIsUsable(instOriginX, instOriginY, instOriginZ, instanceCount);
|
|
237
|
+
const hasInstGeometryClass = !!instGeometryClass && instGeometryClass.length === instanceCount;
|
|
238
|
+
for (let i = 0; i < instanceCount; i++) {
|
|
239
|
+
const meshIdx = meshIndices[i];
|
|
240
|
+
const materialIdx = materialIndices[i];
|
|
241
|
+
// Validate the untrusted cross-table indices before dereferencing, so a
|
|
242
|
+
// bad index fails loudly instead of silently producing empty meshes /
|
|
243
|
+
// NaN colors.
|
|
244
|
+
if (meshIdx >= meshVertexOffsets.length || materialIdx >= matR.length) {
|
|
245
|
+
throw new Error(`Malformed optimized Parquet geometry: instance ${i} references ` +
|
|
246
|
+
`mesh ${meshIdx} (of ${meshVertexOffsets.length}) / ` +
|
|
247
|
+
`material ${materialIdx} (of ${matR.length})`);
|
|
248
|
+
}
|
|
249
|
+
const vertexOffset = meshVertexOffsets[meshIdx];
|
|
250
|
+
const vertexCount = meshVertexCounts[meshIdx];
|
|
251
|
+
const indexOffset = meshIndexOffsets[meshIdx];
|
|
252
|
+
const indexCount = meshIndexCounts[meshIdx];
|
|
253
|
+
// Validate the resolved ranges against the actual vertex/index column
|
|
254
|
+
// lengths (indices here are flat, not triangle-columnar — no %3 check).
|
|
255
|
+
if (vertexOffset + vertexCount > vertexX.length ||
|
|
256
|
+
(normalX && vertexOffset + vertexCount > normalX.length) ||
|
|
257
|
+
indexOffset + indexCount > indices.length) {
|
|
258
|
+
throw new Error(`Malformed optimized Parquet geometry: instance ${i} range out of bounds ` +
|
|
259
|
+
`(meshIdx=${meshIdx}, vertexOffset=${vertexOffset}, vertexCount=${vertexCount}, ` +
|
|
260
|
+
`vertices=${vertexX.length}; indexOffset=${indexOffset}, indexCount=${indexCount}, ` +
|
|
261
|
+
`indices=${indices.length})`);
|
|
262
|
+
}
|
|
263
|
+
// Dequantize and reconstruct positions
|
|
264
|
+
// OPTIMIZATION: Z-up to Y-up transform is now done server-side for optimized format too
|
|
265
|
+
// Server already transforms before quantization, so we just dequantize directly
|
|
266
|
+
const positions = new Float32Array(vertexCount * 3);
|
|
267
|
+
for (let v = 0; v < vertexCount; v++) {
|
|
268
|
+
const srcIdx = vertexOffset + v;
|
|
269
|
+
positions[v * 3] = vertexX[srcIdx] * dequantMultiplier;
|
|
270
|
+
positions[v * 3 + 1] = vertexY[srcIdx] * dequantMultiplier;
|
|
271
|
+
positions[v * 3 + 2] = vertexZ[srcIdx] * dequantMultiplier;
|
|
272
|
+
}
|
|
273
|
+
// Reconstruct indices (relative to this mesh's vertices)
|
|
274
|
+
const meshIndicesArray = new Uint32Array(indexCount);
|
|
275
|
+
for (let j = 0; j < indexCount; j++) {
|
|
276
|
+
meshIndicesArray[j] = indices[indexOffset + j];
|
|
277
|
+
}
|
|
278
|
+
// Reconstruct normals (pre-transformed server-side, or compute if not present)
|
|
279
|
+
let normals;
|
|
280
|
+
if (hasNormals && normalX && normalY && normalZ) {
|
|
281
|
+
normals = new Float32Array(vertexCount * 3);
|
|
282
|
+
for (let v = 0; v < vertexCount; v++) {
|
|
283
|
+
const srcIdx = vertexOffset + v;
|
|
284
|
+
normals[v * 3] = normalX[srcIdx];
|
|
285
|
+
normals[v * 3 + 1] = normalY[srcIdx];
|
|
286
|
+
normals[v * 3 + 2] = normalZ[srcIdx];
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
// Compute flat normals from triangle faces
|
|
291
|
+
normals = computeFlatNormals(positions, meshIndicesArray);
|
|
292
|
+
}
|
|
293
|
+
// Convert byte colors to float [0-1]. `positions` are the TEMPLATE-local
|
|
294
|
+
// vertices; `origin` (not baked in, to keep f32 precision at building scale)
|
|
295
|
+
// carries the per-instance placement so the renderer reconstructs
|
|
296
|
+
// world = origin + position — the same contract as the standard path.
|
|
297
|
+
meshes[i] = {
|
|
298
|
+
express_id: entityIds[i],
|
|
299
|
+
ifc_type: ifcTypes?.get(i) ?? 'Unknown',
|
|
300
|
+
positions,
|
|
301
|
+
normals,
|
|
302
|
+
indices: meshIndicesArray,
|
|
303
|
+
color: [
|
|
304
|
+
matR[materialIdx] / 255,
|
|
305
|
+
matG[materialIdx] / 255,
|
|
306
|
+
matB[materialIdx] / 255,
|
|
307
|
+
matA[materialIdx] / 255,
|
|
308
|
+
],
|
|
309
|
+
...transformFields(i, instOriginX, instOriginY, instOriginZ, hasInstOrigin, instGeometryClass, hasInstGeometryClass),
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
return meshes;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Compute flat normals for a mesh from positions and indices.
|
|
316
|
+
* Each triangle face gets a uniform normal.
|
|
317
|
+
*/
|
|
318
|
+
export function computeFlatNormals(positions, indices) {
|
|
319
|
+
const vertexCount = positions.length / 3;
|
|
320
|
+
const normals = new Float32Array(vertexCount * 3).fill(0);
|
|
321
|
+
const triangleCount = indices.length / 3;
|
|
322
|
+
for (let t = 0; t < triangleCount; t++) {
|
|
323
|
+
const i0 = indices[t * 3];
|
|
324
|
+
const i1 = indices[t * 3 + 1];
|
|
325
|
+
const i2 = indices[t * 3 + 2];
|
|
326
|
+
// Get triangle vertices
|
|
327
|
+
const ax = positions[i0 * 3], ay = positions[i0 * 3 + 1], az = positions[i0 * 3 + 2];
|
|
328
|
+
const bx = positions[i1 * 3], by = positions[i1 * 3 + 1], bz = positions[i1 * 3 + 2];
|
|
329
|
+
const cx = positions[i2 * 3], cy = positions[i2 * 3 + 1], cz = positions[i2 * 3 + 2];
|
|
330
|
+
// Compute edge vectors
|
|
331
|
+
const e1x = bx - ax, e1y = by - ay, e1z = bz - az;
|
|
332
|
+
const e2x = cx - ax, e2y = cy - ay, e2z = cz - az;
|
|
333
|
+
// Cross product
|
|
334
|
+
const nx = e1y * e2z - e1z * e2y;
|
|
335
|
+
const ny = e1z * e2x - e1x * e2z;
|
|
336
|
+
const nz = e1x * e2y - e1y * e2x;
|
|
337
|
+
// Accumulate normals (will normalize later)
|
|
338
|
+
normals[i0 * 3] += nx;
|
|
339
|
+
normals[i0 * 3 + 1] += ny;
|
|
340
|
+
normals[i0 * 3 + 2] += nz;
|
|
341
|
+
normals[i1 * 3] += nx;
|
|
342
|
+
normals[i1 * 3 + 1] += ny;
|
|
343
|
+
normals[i1 * 3 + 2] += nz;
|
|
344
|
+
normals[i2 * 3] += nx;
|
|
345
|
+
normals[i2 * 3 + 1] += ny;
|
|
346
|
+
normals[i2 * 3 + 2] += nz;
|
|
347
|
+
}
|
|
348
|
+
// Normalize
|
|
349
|
+
for (let v = 0; v < vertexCount; v++) {
|
|
350
|
+
const x = normals[v * 3], y = normals[v * 3 + 1], z = normals[v * 3 + 2];
|
|
351
|
+
const len = Math.sqrt(x * x + y * y + z * z);
|
|
352
|
+
if (len > 0) {
|
|
353
|
+
normals[v * 3] /= len;
|
|
354
|
+
normals[v * 3 + 1] /= len;
|
|
355
|
+
normals[v * 3 + 2] /= len;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return normals;
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=parquet-tables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parquet-tables.js","sourceRoot":"","sources":["../src/parquet-tables.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -22,7 +22,12 @@ export interface MeshData {
|
|
|
22
22
|
express_id: number;
|
|
23
23
|
/** IFC type name (e.g., "IfcWall") */
|
|
24
24
|
ifc_type: string;
|
|
25
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Vertex positions as flat array (x, y, z triplets), in **Y-up metres**.
|
|
27
|
+
* Every server transport (JSON, parquet, optimized parquet) emits the same
|
|
28
|
+
* Y-up frame — the server converts from IFC Z-up once, in one place. See
|
|
29
|
+
* `origin`: the world position of vertex i is `origin + positions[3i..3i+3]`.
|
|
30
|
+
*/
|
|
26
31
|
positions: Float32Array;
|
|
27
32
|
/** Vertex normals as flat array (x, y, z triplets) */
|
|
28
33
|
normals: Float32Array;
|
|
@@ -42,6 +47,22 @@ export interface MeshData {
|
|
|
42
47
|
geometry_item_id?: number;
|
|
43
48
|
/** Space/zone properties attached to the element, when extracted. */
|
|
44
49
|
properties?: Record<string, string>;
|
|
50
|
+
/**
|
|
51
|
+
* Per-mesh local-frame origin in Y-up metres: world vertex = `origin +
|
|
52
|
+
* position` (issue #1841). Mirrors the canonical `@ifc-lite/geometry`
|
|
53
|
+
* `MeshData.origin`. Absent (⇒ `[0,0,0]`) means `positions` are already
|
|
54
|
+
* absolute world coords — the world-baked default. The renderer applies it as
|
|
55
|
+
* a per-batch translation, so building/georef-scale placement never collapses
|
|
56
|
+
* to the world origin and repeated (instanced) elements place correctly.
|
|
57
|
+
*/
|
|
58
|
+
origin?: [number, number, number];
|
|
59
|
+
/**
|
|
60
|
+
* Geometry provenance for the viewer's Model/Types switch (issue #1841),
|
|
61
|
+
* mirroring the canonical `MeshData.geometryClass`: 0 = occurrence,
|
|
62
|
+
* 1 = orphan type-product map, 2 = instanced type-library template (must NOT
|
|
63
|
+
* be drawn in the normal view — doing so duplicates geometry). Absent ⇒ 0.
|
|
64
|
+
*/
|
|
65
|
+
geometry_class?: number;
|
|
45
66
|
}
|
|
46
67
|
/**
|
|
47
68
|
* Model metadata extracted from the IFC file.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/server-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.21.0",
|
|
4
4
|
"description": "TypeScript client SDK for IFC-Lite Server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,7 +25,8 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"typescript": "^6.0.3"
|
|
28
|
+
"typescript": "^6.0.3",
|
|
29
|
+
"vitest": "^4.1.10"
|
|
29
30
|
},
|
|
30
31
|
"license": "MPL-2.0",
|
|
31
32
|
"author": "Louis True",
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
],
|
|
54
55
|
"scripts": {
|
|
55
56
|
"build": "pnpm exec tsc",
|
|
56
|
-
"dev": "pnpm exec tsc --watch"
|
|
57
|
+
"dev": "pnpm exec tsc --watch",
|
|
58
|
+
"test": "vitest run"
|
|
57
59
|
}
|
|
58
60
|
}
|