@ifc-lite/export 1.17.1 → 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.
@@ -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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ifc-lite/export",
3
- "version": "1.17.1",
3
+ "version": "1.17.2",
4
4
  "description": "Export formats for IFC-Lite",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,11 +15,11 @@
15
15
  "parquet-wasm": "^0.5.0",
16
16
  "apache-arrow": "^14.0.0",
17
17
  "jszip": "^3.10.0",
18
- "@ifc-lite/geometry": "^1.16.1",
19
- "@ifc-lite/data": "^1.15.0",
20
- "@ifc-lite/encoding": "^1.14.5",
21
- "@ifc-lite/parser": "^2.1.5",
22
- "@ifc-lite/mutations": "^1.14.4"
18
+ "@ifc-lite/geometry": "^1.16.2",
19
+ "@ifc-lite/data": "^1.15.1",
20
+ "@ifc-lite/encoding": "^1.14.6",
21
+ "@ifc-lite/parser": "^2.1.6",
22
+ "@ifc-lite/mutations": "^1.14.5"
23
23
  },
24
24
  "devDependencies": {
25
25
  "typescript": "^5.3.0",
@@ -50,9 +50,8 @@
50
50
  "README.md"
51
51
  ],
52
52
  "scripts": {
53
- "prebuild": "pnpm --filter @ifc-lite/export^... build",
54
- "build": "tsc",
55
- "dev": "tsc --watch",
53
+ "build": "pnpm exec tsc",
54
+ "dev": "pnpm exec tsc --watch",
56
55
  "test": "vitest run"
57
56
  }
58
57
  }