@ifc-lite/export 1.17.0 → 1.17.2

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 CHANGED
@@ -11,7 +11,7 @@ npm install @ifc-lite/export
11
11
  ## Quick Start
12
12
 
13
13
  ```typescript
14
- import { GLTFExporter, ParquetExporter, exportToStep, Ifc5Exporter } from '@ifc-lite/export';
14
+ import { GLTFExporter, ParquetExporter, exportToStep, Ifc5Exporter, generateLod0, generateLod1 } from '@ifc-lite/export';
15
15
 
16
16
  // Export geometry to GLB
17
17
  const gltfExporter = new GLTFExporter();
@@ -28,6 +28,10 @@ const step = exportToStep(dataStore, { schema: 'IFC4' });
28
28
  const ifc5 = new Ifc5Exporter(dataStore, geometryResult);
29
29
  const result = ifc5.export({ includeGeometry: true });
30
30
  // result.content is IFCX JSON, save as .ifcx
31
+
32
+ // Generate lightweight LOD artifacts from IFC bytes
33
+ const lod0 = await generateLod0(ifcBytes);
34
+ const lod1 = await generateLod1(ifcBytes, { quality: 'medium' });
31
35
  ```
32
36
 
33
37
  ## Features
@@ -37,8 +41,34 @@ const result = ifc5.export({ includeGeometry: true });
37
41
  - Apache Arrow in-memory format
38
42
  - IFC STEP export with mutations applied
39
43
  - **IFC5 IFCX export** with USD geometry and full schema conversion
44
+ - Lightweight LOD0/LOD1 generation from IFC bytes
40
45
  - Cross-schema conversion (IFC2X3 ↔ IFC4 ↔ IFC4X3 ↔ IFC5)
41
46
 
47
+ ## Lightweight LOD Generation
48
+
49
+ The LOD generators are environment-agnostic. They accept IFC bytes, not file paths,
50
+ so the same API works in Node, browser, and server runtimes.
51
+
52
+ ```typescript
53
+ import { generateLod0, generateLod1 } from '@ifc-lite/export';
54
+
55
+ const bytes = await file.arrayBuffer();
56
+
57
+ const lod0 = await generateLod0(bytes);
58
+ // => JSON envelopes, transforms, and world-space bounding boxes
59
+
60
+ const lod1 = await generateLod1(bytes, { quality: 'medium' });
61
+ // => { glb, meta }
62
+ ```
63
+
64
+ `generateLod0()` returns cheap geometric envelopes for every placeable element.
65
+
66
+ `generateLod1()` returns:
67
+ - `glb`: binary GLB geometry
68
+ - `meta`: generation status, failed elements, and expressId → node/mesh mapping
69
+
70
+ If meshing fails, LOD1 degrades gracefully to box geometry derived from LOD0.
71
+
42
72
  ## IFC5 Export
43
73
 
44
74
  The `Ifc5Exporter` converts IFC data from any schema version to the IFC5 IFCX JSON format:
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-exporter.d.ts","sourceRoot":"","sources":["../src/gltf-exporter.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,oBAAoB,CAAC;AAmEnE,MAAM,WAAW,iBAAiB;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACH,SAAS,CAAC,OAAO,GAAE,iBAAsB,GAAG,UAAU;IAKtD;;OAEG;IACH,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE;IAQ9E,OAAO,CAAC,SAAS;IA2PjB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,OAAO;CA8ClB"}
1
+ {"version":3,"file":"gltf-exporter.d.ts","sourceRoot":"","sources":["../src/gltf-exporter.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,oBAAoB,CAAC;AAiFnE,MAAM,WAAW,iBAAiB;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,qBAAa,YAAY;IACrB,OAAO,CAAC,cAAc,CAAiB;gBAE3B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACH,SAAS,CAAC,OAAO,GAAE,iBAAsB,GAAG,UAAU;IAKtD;;OAEG;IACH,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE;IAQ9E,OAAO,CAAC,SAAS;IAqRjB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,OAAO;CA8ClB"}
@@ -45,99 +45,124 @@ export class GLTFExporter {
45
45
  triangleCount: this.geometryResult.totalTriangles,
46
46
  };
47
47
  }
48
- // Collect geometry data
49
- const positions = [];
50
- const normals = [];
51
- const indices = [];
52
- const nodeIndices = [];
53
- // Helper function to calculate min/max bounds for positions
54
- const calculateBounds = (positions) => {
55
- if (positions.length === 0) {
56
- return { min: [0, 0, 0], max: [0, 0, 0] };
57
- }
58
- let minX = positions[0];
59
- let minY = positions[1];
60
- let minZ = positions[2];
61
- let maxX = positions[0];
62
- let maxY = positions[1];
63
- let maxZ = positions[2];
64
- for (let i = 0; i < positions.length; i += 3) {
65
- const x = positions[i];
66
- const y = positions[i + 1];
67
- const z = positions[i + 2];
68
- minX = Math.min(minX, x);
69
- minY = Math.min(minY, y);
70
- minZ = Math.min(minZ, z);
71
- maxX = Math.max(maxX, x);
72
- maxY = Math.max(maxY, y);
73
- maxZ = Math.max(maxZ, z);
74
- }
75
- return {
76
- min: [minX, minY, minZ],
77
- max: [maxX, maxY, maxZ],
78
- };
79
- };
48
+ // Build materials from mesh colors (deduplicate by rounded RGBA key)
49
+ const materialMap = new Map();
50
+ const materials = [];
51
+ function getOrCreateMaterial(color) {
52
+ // Round to 2 decimals for deduplicate key only — use original values for export
53
+ const key = `${Math.round(color[0] * 100)},${Math.round(color[1] * 100)},${Math.round(color[2] * 100)},${Math.round(color[3] * 100)}`;
54
+ const existing = materialMap.get(key);
55
+ if (existing !== undefined)
56
+ return existing;
57
+ const idx = materials.length;
58
+ materials.push({
59
+ pbrMetallicRoughness: {
60
+ baseColorFactor: [color[0], color[1], color[2], color[3]],
61
+ metallicFactor: 0,
62
+ roughnessFactor: 1,
63
+ },
64
+ extensions: { KHR_materials_unlit: {} },
65
+ ...(color[3] < 1 ? { alphaMode: 'BLEND' } : {}),
66
+ });
67
+ materialMap.set(key, idx);
68
+ return idx;
69
+ }
70
+ const meshMetas = [];
71
+ let totalPosFloats = 0;
72
+ let totalNormFloats = 0;
73
+ let totalIdxInts = 0;
80
74
  for (let i = 0; i < meshes.length; i++) {
81
75
  const mesh = meshes[i];
82
- const meshPositions = mesh.positions;
83
- const meshNormals = mesh.normals;
84
- const meshIndices = mesh.indices;
85
- // Skip empty meshes
86
- if (!meshPositions.length || !meshNormals.length || !meshIndices.length) {
87
- console.warn(`Skipping empty mesh ${i} (positions: ${meshPositions.length}, normals: ${meshNormals.length}, indices: ${meshIndices.length})`);
76
+ const mp = mesh.positions;
77
+ const mn = mesh.normals;
78
+ const mi = mesh.indices;
79
+ if (!mp.length || !mn.length || !mi.length)
88
80
  continue;
89
- }
90
- // Validate array lengths are multiples of 3 for positions/normals
91
- if (meshPositions.length % 3 !== 0) {
92
- console.warn(`Mesh ${i} has invalid position count: ${meshPositions.length} (not divisible by 3)`);
81
+ if (mp.length % 3 !== 0 || mn.length % 3 !== 0)
93
82
  continue;
94
- }
95
- if (meshNormals.length % 3 !== 0) {
96
- console.warn(`Mesh ${i} has invalid normal count: ${meshNormals.length} (not divisible by 3)`);
83
+ if (mp.length !== mn.length)
97
84
  continue;
85
+ // Calculate bounds directly from the typed array
86
+ let minX = mp[0], minY = mp[1], minZ = mp[2];
87
+ let maxX = mp[0], maxY = mp[1], maxZ = mp[2];
88
+ for (let j = 3; j < mp.length; j += 3) {
89
+ const x = mp[j], y = mp[j + 1], z = mp[j + 2];
90
+ if (x < minX)
91
+ minX = x;
92
+ if (x > maxX)
93
+ maxX = x;
94
+ if (y < minY)
95
+ minY = y;
96
+ if (y > maxY)
97
+ maxY = y;
98
+ if (z < minZ)
99
+ minZ = z;
100
+ if (z > maxZ)
101
+ maxZ = z;
98
102
  }
99
- // Calculate byte offsets BEFORE adding data (based on current array lengths)
100
- const positionByteOffset = positions.length * 4; // Each float is 4 bytes
101
- const normalByteOffset = normals.length * 4;
102
- const indexByteOffset = indices.length * 4;
103
- const meshPositionsArray = Array.from(meshPositions);
104
- const meshNormalsArray = Array.from(meshNormals);
105
- const meshIndicesArray = Array.from(meshIndices);
106
- positions.push(...meshPositionsArray);
107
- normals.push(...meshNormalsArray);
108
- // Indices stay local (0-based) for each mesh since each mesh has its own
109
- // accessor pointing to its own section of the bufferView
110
- indices.push(...meshIndicesArray);
111
- // Calculate bounds for this mesh's positions
112
- const bounds = calculateBounds(meshPositionsArray);
113
- // Accessors - byteOffset is relative to the bufferView start
103
+ meshMetas.push({
104
+ meshIndex: i,
105
+ posCount: mp.length,
106
+ normCount: mn.length,
107
+ idxCount: mi.length,
108
+ posByteOffset: totalPosFloats * 4,
109
+ normByteOffset: totalNormFloats * 4,
110
+ idxByteOffset: totalIdxInts * 4,
111
+ bounds: { min: [minX, minY, minZ], max: [maxX, maxY, maxZ] },
112
+ materialIdx: mesh.color ? getOrCreateMaterial(mesh.color) : undefined,
113
+ });
114
+ totalPosFloats += mp.length;
115
+ totalNormFloats += mn.length;
116
+ totalIdxInts += mi.length;
117
+ }
118
+ if (totalPosFloats === 0 || totalNormFloats === 0 || totalIdxInts === 0) {
119
+ throw new Error('Cannot export GLB: no valid geometry data found');
120
+ }
121
+ // ── Pass 2: build glTF structure and copy geometry into typed arrays ──
122
+ const positionsArray = new Float32Array(totalPosFloats);
123
+ const normalsArray = new Float32Array(totalNormFloats);
124
+ const indicesArray = new Uint32Array(totalIdxInts);
125
+ let posOffset = 0;
126
+ let normOffset = 0;
127
+ let idxOffset = 0;
128
+ const nodeIndices = [];
129
+ for (const meta of meshMetas) {
130
+ const mesh = meshes[meta.meshIndex];
131
+ // Copy geometry data directly (no intermediate array)
132
+ positionsArray.set(mesh.positions, posOffset);
133
+ normalsArray.set(mesh.normals, normOffset);
134
+ indicesArray.set(mesh.indices, idxOffset);
135
+ posOffset += meta.posCount;
136
+ normOffset += meta.normCount;
137
+ idxOffset += meta.idxCount;
138
+ // Accessors
114
139
  const posAccessorIdx = gltf.accessors.length;
115
140
  gltf.accessors.push({
116
141
  bufferView: 0,
117
- byteOffset: positionByteOffset,
118
- componentType: 5126, // FLOAT
119
- count: meshPositions.length / 3,
142
+ byteOffset: meta.posByteOffset,
143
+ componentType: 5126,
144
+ count: meta.posCount / 3,
120
145
  type: 'VEC3',
121
- min: bounds.min,
122
- max: bounds.max,
146
+ min: meta.bounds.min,
147
+ max: meta.bounds.max,
123
148
  });
124
149
  const normAccessorIdx = gltf.accessors.length;
125
150
  gltf.accessors.push({
126
151
  bufferView: 1,
127
- byteOffset: normalByteOffset,
152
+ byteOffset: meta.normByteOffset,
128
153
  componentType: 5126,
129
- count: meshNormals.length / 3,
154
+ count: meta.normCount / 3,
130
155
  type: 'VEC3',
131
156
  });
132
157
  const idxAccessorIdx = gltf.accessors.length;
133
158
  gltf.accessors.push({
134
159
  bufferView: 2,
135
- byteOffset: indexByteOffset,
136
- componentType: 5125, // UNSIGNED_INT
137
- count: meshIndices.length,
160
+ byteOffset: meta.idxByteOffset,
161
+ componentType: 5125,
162
+ count: meta.idxCount,
138
163
  type: 'SCALAR',
139
164
  });
140
- // Mesh
165
+ // Mesh with material
141
166
  const meshIdx = gltf.meshes.length;
142
167
  gltf.meshes.push({
143
168
  primitives: [{
@@ -146,30 +171,27 @@ export class GLTFExporter {
146
171
  NORMAL: normAccessorIdx,
147
172
  },
148
173
  indices: idxAccessorIdx,
174
+ ...(meta.materialIdx !== undefined ? { material: meta.materialIdx } : {}),
149
175
  }],
150
176
  });
151
177
  // Node
152
178
  const nodeIdx = gltf.nodes.length;
153
- const node = {
154
- mesh: meshIdx,
155
- };
156
- if (options.includeMetadata && mesh.expressId) {
157
- node.extras = {
158
- expressId: mesh.expressId,
159
- };
179
+ const node = { mesh: meshIdx };
180
+ if (options.includeMetadata && mesh.expressId !== undefined) {
181
+ node.extras = mesh.modelIndex !== undefined
182
+ ? { expressId: mesh.expressId, modelIndex: mesh.modelIndex }
183
+ : { expressId: mesh.expressId };
160
184
  }
161
185
  gltf.nodes.push(node);
162
186
  nodeIndices.push(nodeIdx);
163
187
  }
164
188
  gltf.scenes[0].nodes = nodeIndices;
165
- // Ensure we have data before creating buffers
166
- if (positions.length === 0 || normals.length === 0 || indices.length === 0) {
167
- throw new Error('Cannot export GLB: no valid geometry data found');
189
+ // Attach materials if any were created
190
+ if (materials.length > 0) {
191
+ gltf.materials = materials;
192
+ gltf.extensionsUsed = ['KHR_materials_unlit'];
168
193
  }
169
- // Buffer views - create typed arrays and get their byte buffers
170
- const positionsArray = new Float32Array(positions);
171
- const normalsArray = new Float32Array(normals);
172
- const indicesArray = new Uint32Array(indices);
194
+ // Buffer views
173
195
  const positionsBytes = positionsArray.buffer;
174
196
  const normalsBytes = normalsArray.buffer;
175
197
  const indicesBytes = indicesArray.buffer;
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-exporter.js","sourceRoot":"","sources":["../src/gltf-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltf-exporter.js","sourceRoot":"","sources":["../src/gltf-exporter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@ export { MergedExporter, type MergeModelInput, type MergeExportOptions, type Mer
10
10
  export { collectReferencedEntityIds, getVisibleEntityIds, collectStyleEntities } from './reference-collector.js';
11
11
  export { convertEntityType, convertStepLine, needsConversion, describeConversion, type IfcSchemaVersion } from './schema-converter.js';
12
12
  export { Ifc5Exporter, IFC5_KNOWN_PROP_NAMES, type Ifc5ExportOptions, type Ifc5ExportResult } from './ifc5-exporter.js';
13
- export type { Vec3, Lod0Element, Lod0Json, Lod1MetaJson, GenerateLod1Result } from './lod-geometry-types.js';
13
+ export type { Vec3, LodInput, Lod0Element, Lod0Json, Lod1MetaJson, GenerateLod1Result } from './lod-geometry-types.js';
14
14
  export { generateLod0 } from './lod0-generator.js';
15
15
  export { generateLod1, type GenerateLod1Options } from './lod1-generator.js';
16
16
  export { parseGLB, extractGlbMapping, parseGLBToMeshData } from './glb.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClJ,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxH,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClJ,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjH,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGxH,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export type Vec3 = [number, number, number];
2
+ export type LodInput = ArrayBuffer | Uint8Array;
2
3
  export type Lod0Element = {
3
4
  expressID: number;
4
5
  globalId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"lod-geometry-types.d.ts","sourceRoot":"","sources":["../src/lod-geometry-types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iCAAiC;IACjC,SAAS,EAAE;QACT,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9B,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9B,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9B,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAC/B,CAAC;IACF,4CAA4C;IAC5C,IAAI,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IAC/B,QAAQ,EAAE,IAAI,CAAC;IACf,mDAAmD;IACnD,WAAW,EAAE,OAAO,GAAG,UAAU,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC;IACP,MAAM,EAAE,IAAI,GAAG,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"lod-geometry-types.d.ts","sourceRoot":"","sources":["../src/lod-geometry-types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhD,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iCAAiC;IACjC,SAAS,EAAE;QACT,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9B,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9B,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;QAC9B,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAC/B,CAAC;IACF,4CAA4C;IAC5C,IAAI,EAAE;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,CAAC;IAC/B,QAAQ,EAAE,IAAI,CAAC;IACf,mDAAmD;IACnD,WAAW,EAAE,OAAO,GAAG,UAAU,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,GAAG,EAAE,CAAC,CAAC;IACP,MAAM,EAAE,IAAI,GAAG,UAAU,CAAC;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  import type { Vec3 } from './lod-geometry-types.js';
2
- export type IfcInput = ArrayBuffer | Uint8Array | string;
3
- /** Read an IFC file from a path, ArrayBuffer, or Uint8Array into an ArrayBuffer. */
4
- export declare function readIfcInput(input: IfcInput): Promise<ArrayBuffer>;
2
+ /** Normalize IFC bytes into a tightly-sized ArrayBuffer. */
3
+ export declare function toIfcArrayBuffer(input: ArrayBuffer | Uint8Array): ArrayBuffer;
5
4
  /**
6
5
  * Normalize IFC type names to canonical PascalCase (e.g. "IFCWALL" → "IfcWall").
7
6
  * For multi-word uppercase types (e.g. "IFCWALLSTANDARDCASE") we pass through
@@ -1 +1 @@
1
- {"version":3,"file":"lod-geometry-utils.d.ts","sourceRoot":"","sources":["../src/lod-geometry-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAEzD,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAcxE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1D;AAMD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAMhD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,CAI3D;AAED,wBAAgB,YAAY,IAAI,YAAY,CAO3C;AAED,0CAA0C;AAC1C,wBAAgB,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAatE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,YAAY,CAQrG;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAOjE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAavE"}
1
+ {"version":3,"file":"lod-geometry-utils.d.ts","sourceRoot":"","sources":["../src/lod-geometry-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,GAAG,WAAW,CAO7E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAE1D;AAMD,wBAAgB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAMhD;AAMD,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,CAI3D;AAED,wBAAgB,YAAY,IAAI,YAAY,CAO3C;AAED,0CAA0C;AAC1C,wBAAgB,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,YAAY,CAatE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAG,YAAY,CAQrG;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,CAOjE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,CAavE"}
@@ -1,15 +1,8 @@
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 an IFC file from a path, ArrayBuffer, or Uint8Array into an ArrayBuffer. */
5
- export async function readIfcInput(input) {
6
- if (typeof input === 'string') {
7
- // Node-only path reading (dynamic import so browser bundles don't include fs)
8
- const fs = await import('node:fs/promises');
9
- const buf = await fs.readFile(input);
10
- // Copy into tightly-sized buffer (fs.readFile may return a larger underlying ArrayBuffer)
11
- return new Uint8Array(buf).buffer;
12
- }
4
+ /** Normalize IFC bytes into a tightly-sized ArrayBuffer. */
5
+ export function toIfcArrayBuffer(input) {
13
6
  if (input instanceof ArrayBuffer)
14
7
  return input;
15
8
  // Uint8Array view — avoid copy when already covering the entire buffer
@@ -1 +1 @@
1
- {"version":3,"file":"lod-geometry-utils.js","sourceRoot":"","sources":["../src/lod-geometry-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lod-geometry-utils.js","sourceRoot":"","sources":["../src/lod-geometry-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { Lod0Json } from './lod-geometry-types.js';
2
- import { type IfcInput } from './lod-geometry-utils.js';
3
- export declare function generateLod0(input: IfcInput): Promise<Lod0Json>;
1
+ import type { Lod0Json, LodInput } from './lod-geometry-types.js';
2
+ export declare function generateLod0(input: LodInput): Promise<Lod0Json>;
4
3
  //# sourceMappingURL=lod0-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lod0-generator.d.ts","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAqB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAWL,KAAK,QAAQ,EACd,MAAM,yBAAyB,CAAC;AAiDjC,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgPrE"}
1
+ {"version":3,"file":"lod0-generator.d.ts","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAe,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AA6DrF,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgPrE"}
@@ -2,7 +2,7 @@
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 { StepTokenizer, EntityExtractor, extractLengthUnitScale, getAllAttributesForEntity, } from '@ifc-lite/parser';
5
- import { aabbFromPoints, mat4FromBasisTranslation, mat4Identity, mat4Mul, mat4TransformPoint, normalizeIfcTypeName, vec3, vec3Cross, vec3Normalize, readIfcInput, } from './lod-geometry-utils.js';
5
+ import { aabbFromPoints, mat4FromBasisTranslation, mat4Identity, mat4Mul, mat4TransformPoint, normalizeIfcTypeName, vec3, vec3Cross, vec3Normalize, toIfcArrayBuffer, } from './lod-geometry-utils.js';
6
6
  function buildEntityIndex(source) {
7
7
  const tokenizer = new StepTokenizer(source);
8
8
  const byId = new Map();
@@ -61,7 +61,7 @@ function isCandidateElementType(typeUpper) {
61
61
  return true;
62
62
  }
63
63
  export async function generateLod0(input) {
64
- const buffer = await readIfcInput(input);
64
+ const buffer = toIfcArrayBuffer(input);
65
65
  const source = new Uint8Array(buffer);
66
66
  const entityIndex = buildEntityIndex(source);
67
67
  const unitScale = extractLengthUnitScale(source, entityIndex);
@@ -1 +1 @@
1
- {"version":3,"file":"lod0-generator.js","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lod0-generator.js","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { GeometryQuality } from '@ifc-lite/geometry';
2
- import type { GenerateLod1Result } from './lod-geometry-types.js';
3
- import { type IfcInput } from './lod-geometry-utils.js';
2
+ import type { GenerateLod1Result, LodInput } from './lod-geometry-types.js';
4
3
  export type GenerateLod1Options = {
5
4
  quality?: GeometryQuality;
6
5
  /**
@@ -9,5 +8,5 @@ export type GenerateLod1Options = {
9
8
  */
10
9
  __forceMeshingErrorForTest?: boolean;
11
10
  };
12
- export declare function generateLod1(input: IfcInput, options?: GenerateLod1Options): Promise<GenerateLod1Result>;
11
+ export declare function generateLod1(input: LodInput, options?: GenerateLod1Options): Promise<GenerateLod1Result>;
13
12
  //# sourceMappingURL=lod1-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lod1-generator.d.ts","sourceRoot":"","sources":["../src/lod1-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAKpF,OAAO,KAAK,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAmEF,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6ElH"}
1
+ {"version":3,"file":"lod1-generator.d.ts","sourceRoot":"","sources":["../src/lod1-generator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAKpF,OAAO,KAAK,EAAE,kBAAkB,EAA0B,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AAG1G,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,CAAC;AAmEF,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA6ElH"}
@@ -5,7 +5,7 @@ import { GeometryProcessor } from '@ifc-lite/geometry';
5
5
  import { GLTFExporter } from './gltf-exporter.js';
6
6
  import { extractGlbMapping } from './glb.js';
7
7
  import { generateLod0 } from './lod0-generator.js';
8
- import { readIfcInput } from './lod-geometry-utils.js';
8
+ import { toIfcArrayBuffer } from './lod-geometry-utils.js';
9
9
  function buildBoxMeshFromAabb(min, max, expressId) {
10
10
  // 24 vertices (4 per face) with correct per-face normals
11
11
  const x0 = min[0], y0 = min[1], z0 = min[2];
@@ -76,7 +76,7 @@ export async function generateLod1(input, options = {}) {
76
76
  if (options.__forceMeshingErrorForTest) {
77
77
  throw new Error('Forced meshing failure for test');
78
78
  }
79
- const buffer = await readIfcInput(input);
79
+ const buffer = toIfcArrayBuffer(input);
80
80
  const gp = new GeometryProcessor({ quality: options.quality });
81
81
  await gp.init();
82
82
  const geom = await gp.process(new Uint8Array(buffer));