@ifc-lite/server-client 1.2.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.
@@ -0,0 +1,338 @@
1
+ /**
2
+ * Configuration options for the IFC server client.
3
+ */
4
+ export interface ServerConfig {
5
+ /** Base URL of the IFC-Lite server (e.g., 'https://ifc-lite.railway.app') */
6
+ baseUrl: string;
7
+ /** Request timeout in milliseconds (default: 300000 = 5 minutes) */
8
+ timeout?: number;
9
+ }
10
+ /**
11
+ * Individual mesh data with geometry and metadata.
12
+ */
13
+ export interface MeshData {
14
+ /** Express ID of the IFC element */
15
+ express_id: number;
16
+ /** IFC type name (e.g., "IfcWall") */
17
+ ifc_type: string;
18
+ /** Vertex positions as flat array (x, y, z triplets) */
19
+ positions: number[];
20
+ /** Vertex normals as flat array (x, y, z triplets) */
21
+ normals: number[];
22
+ /** Triangle indices */
23
+ indices: number[];
24
+ /** RGBA color [r, g, b, a] in 0-1 range */
25
+ color: [number, number, number, number];
26
+ }
27
+ /**
28
+ * Model metadata extracted from the IFC file.
29
+ */
30
+ export interface ModelMetadata {
31
+ /** IFC schema version (e.g., "IFC2X3", "IFC4", "IFC4X3") */
32
+ schema_version: string;
33
+ /** Total number of entities in the file */
34
+ entity_count: number;
35
+ /** Number of geometry-bearing entities */
36
+ geometry_entity_count: number;
37
+ /** Coordinate system information */
38
+ coordinate_info: CoordinateInfo;
39
+ }
40
+ /**
41
+ * Coordinate system information.
42
+ */
43
+ export interface CoordinateInfo {
44
+ /** Origin shift applied to coordinates (for RTC rendering) */
45
+ origin_shift: [number, number, number];
46
+ /** Whether the model is geo-referenced */
47
+ is_geo_referenced: boolean;
48
+ }
49
+ /**
50
+ * Processing statistics.
51
+ */
52
+ export interface ProcessingStats {
53
+ /** Total number of meshes generated */
54
+ total_meshes: number;
55
+ /** Total number of vertices */
56
+ total_vertices: number;
57
+ /** Total number of triangles */
58
+ total_triangles: number;
59
+ /** Time spent parsing entities (ms) */
60
+ parse_time_ms: number;
61
+ /** Time spent processing geometry (ms) */
62
+ geometry_time_ms: number;
63
+ /** Total processing time (ms) */
64
+ total_time_ms: number;
65
+ /** Whether result was from cache */
66
+ from_cache: boolean;
67
+ }
68
+ /**
69
+ * Full parse response with all meshes.
70
+ */
71
+ export interface ParseResponse {
72
+ /** Cache key for this result (SHA256 of file content) */
73
+ cache_key: string;
74
+ /** All meshes extracted from the IFC file */
75
+ meshes: MeshData[];
76
+ /** Model metadata */
77
+ metadata: ModelMetadata;
78
+ /** Processing statistics */
79
+ stats: ProcessingStats;
80
+ }
81
+ /**
82
+ * Metadata-only response (no geometry).
83
+ */
84
+ export interface MetadataResponse {
85
+ /** Total number of entities */
86
+ entity_count: number;
87
+ /** Number of geometry-bearing entities */
88
+ geometry_count: number;
89
+ /** IFC schema version */
90
+ schema_version: string;
91
+ /** File size in bytes */
92
+ file_size: number;
93
+ }
94
+ /**
95
+ * Health check response.
96
+ */
97
+ export interface HealthResponse {
98
+ /** Server status */
99
+ status: string;
100
+ /** Server version */
101
+ version: string;
102
+ /** Service name */
103
+ service: string;
104
+ }
105
+ /**
106
+ * Error response from the server.
107
+ */
108
+ export interface ErrorResponse {
109
+ /** Error message */
110
+ error: string;
111
+ /** Error code */
112
+ code: string;
113
+ }
114
+ /**
115
+ * Server-Sent Event types for streaming responses.
116
+ */
117
+ export type StreamEvent = StreamStartEvent | StreamProgressEvent | StreamBatchEvent | StreamCompleteEvent | StreamErrorEvent;
118
+ /**
119
+ * Initial event with estimated totals.
120
+ */
121
+ export interface StreamStartEvent {
122
+ type: 'start';
123
+ /** Estimated number of geometry entities */
124
+ total_estimate: number;
125
+ }
126
+ /**
127
+ * Progress update event.
128
+ */
129
+ export interface StreamProgressEvent {
130
+ type: 'progress';
131
+ /** Number of entities processed */
132
+ processed: number;
133
+ /** Total entities to process */
134
+ total: number;
135
+ /** Current entity type being processed */
136
+ current_type: string;
137
+ }
138
+ /**
139
+ * Batch of processed meshes.
140
+ */
141
+ export interface StreamBatchEvent {
142
+ type: 'batch';
143
+ /** Meshes in this batch */
144
+ meshes: MeshData[];
145
+ /** Batch sequence number */
146
+ batch_number: number;
147
+ }
148
+ /**
149
+ * Processing complete event.
150
+ */
151
+ export interface StreamCompleteEvent {
152
+ type: 'complete';
153
+ /** Final processing statistics */
154
+ stats: ProcessingStats;
155
+ /** Model metadata */
156
+ metadata: ModelMetadata;
157
+ /** Cache key for the result */
158
+ cache_key: string;
159
+ }
160
+ /**
161
+ * Error event.
162
+ */
163
+ export interface StreamErrorEvent {
164
+ type: 'error';
165
+ /** Error message */
166
+ message: string;
167
+ }
168
+ /**
169
+ * Metadata header from Parquet response (sent via X-IFC-Metadata header).
170
+ */
171
+ export interface ParquetMetadataHeader {
172
+ /** Cache key for this result (SHA256 of file content) */
173
+ cache_key: string;
174
+ /** Model metadata */
175
+ metadata: ModelMetadata;
176
+ /** Processing statistics */
177
+ stats: ProcessingStats;
178
+ /** Data model statistics (if included) */
179
+ data_model_stats?: {
180
+ entity_count: number;
181
+ property_set_count: number;
182
+ relationship_count: number;
183
+ spatial_node_count: number;
184
+ };
185
+ }
186
+ /**
187
+ * Parquet parse response with decoded geometry.
188
+ */
189
+ export interface ParquetParseResponse {
190
+ /** Cache key for this result (SHA256 of file content) */
191
+ cache_key: string;
192
+ /** All meshes extracted from the IFC file */
193
+ meshes: MeshData[];
194
+ /** Model metadata */
195
+ metadata: ModelMetadata;
196
+ /** Processing statistics */
197
+ stats: ProcessingStats;
198
+ /** Additional stats for Parquet transfer */
199
+ parquet_stats: {
200
+ /** Size of Parquet payload in bytes */
201
+ payload_size: number;
202
+ /** Time spent decoding Parquet (ms) */
203
+ decode_time_ms: number;
204
+ };
205
+ /** Data model binary (Parquet format) - optional */
206
+ data_model?: ArrayBuffer;
207
+ }
208
+ /**
209
+ * Optimization statistics from the server.
210
+ */
211
+ export interface OptimizationStats {
212
+ /** Number of input meshes before deduplication */
213
+ input_meshes: number;
214
+ /** Number of unique meshes after deduplication */
215
+ unique_meshes: number;
216
+ /** Number of unique materials */
217
+ unique_materials: number;
218
+ /** Mesh reuse ratio (higher = more instancing benefit) */
219
+ mesh_reuse_ratio: number;
220
+ /** Whether normals are included in the response */
221
+ has_normals: boolean;
222
+ }
223
+ /**
224
+ * Metadata header from optimized Parquet response.
225
+ */
226
+ export interface OptimizedParquetMetadataHeader {
227
+ /** Cache key for this result */
228
+ cache_key: string;
229
+ /** Model metadata */
230
+ metadata: ModelMetadata;
231
+ /** Processing statistics */
232
+ stats: ProcessingStats;
233
+ /** Optimization statistics */
234
+ optimization_stats: OptimizationStats;
235
+ /** Vertex multiplier for dequantization (default: 10000 = 0.1mm precision) */
236
+ vertex_multiplier: number;
237
+ }
238
+ /**
239
+ * Optimized Parquet parse response with ara3d BOS-compatible format.
240
+ */
241
+ export interface OptimizedParquetParseResponse {
242
+ /** Cache key for this result */
243
+ cache_key: string;
244
+ /** All meshes extracted from the IFC file */
245
+ meshes: MeshData[];
246
+ /** Model metadata */
247
+ metadata: ModelMetadata;
248
+ /** Processing statistics */
249
+ stats: ProcessingStats;
250
+ /** Optimization statistics */
251
+ optimization_stats: OptimizationStats;
252
+ /** Transfer/decode stats */
253
+ parquet_stats: {
254
+ /** Size of Parquet payload in bytes */
255
+ payload_size: number;
256
+ /** Time spent decoding Parquet (ms) */
257
+ decode_time_ms: number;
258
+ };
259
+ }
260
+ /**
261
+ * SSE event types for Parquet streaming responses.
262
+ */
263
+ export type ParquetStreamEvent = ParquetStreamStartEvent | ParquetStreamProgressEvent | ParquetStreamBatchEvent | ParquetStreamCompleteEvent | ParquetStreamErrorEvent;
264
+ /**
265
+ * Initial streaming event with estimated totals.
266
+ */
267
+ export interface ParquetStreamStartEvent {
268
+ type: 'start';
269
+ /** Estimated number of geometry entities */
270
+ total_estimate: number;
271
+ /** Cache key for this file (use for data model fetch) */
272
+ cache_key: string;
273
+ }
274
+ /**
275
+ * Progress update event.
276
+ */
277
+ export interface ParquetStreamProgressEvent {
278
+ type: 'progress';
279
+ /** Number of entities processed */
280
+ processed: number;
281
+ /** Total entities to process */
282
+ total: number;
283
+ }
284
+ /**
285
+ * Batch of geometry data as Parquet.
286
+ */
287
+ export interface ParquetStreamBatchEvent {
288
+ type: 'batch';
289
+ /** Base64-encoded Parquet data */
290
+ data: string;
291
+ /** Number of meshes in this batch */
292
+ mesh_count: number;
293
+ /** Batch sequence number (1-indexed) */
294
+ batch_number: number;
295
+ }
296
+ /**
297
+ * Processing complete event.
298
+ */
299
+ export interface ParquetStreamCompleteEvent {
300
+ type: 'complete';
301
+ /** Final processing statistics */
302
+ stats: ProcessingStats;
303
+ /** Model metadata */
304
+ metadata: ModelMetadata;
305
+ }
306
+ /**
307
+ * Error event.
308
+ */
309
+ export interface ParquetStreamErrorEvent {
310
+ type: 'error';
311
+ /** Error message */
312
+ message: string;
313
+ }
314
+ /**
315
+ * Decoded geometry batch from streaming.
316
+ */
317
+ export interface ParquetBatch {
318
+ /** Meshes in this batch */
319
+ meshes: MeshData[];
320
+ /** Batch sequence number */
321
+ batch_number: number;
322
+ /** Decode time in ms */
323
+ decode_time_ms: number;
324
+ }
325
+ /**
326
+ * Complete streaming result.
327
+ */
328
+ export interface ParquetStreamResult {
329
+ /** Cache key for data model fetch */
330
+ cache_key: string;
331
+ /** Total meshes received */
332
+ total_meshes: number;
333
+ /** Processing statistics */
334
+ stats: ProcessingStats;
335
+ /** Model metadata */
336
+ metadata: ModelMetadata;
337
+ }
338
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -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=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,sEAAsE;AACtE,4DAA4D"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@ifc-lite/server-client",
3
+ "version": "1.2.0",
4
+ "description": "TypeScript client SDK for IFC-Lite Server",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "types": "./dist/index.d.ts"
12
+ }
13
+ },
14
+ "peerDependencies": {
15
+ "apache-arrow": ">=14.0.0",
16
+ "parquet-wasm": ">=0.5.0"
17
+ },
18
+ "peerDependenciesMeta": {
19
+ "apache-arrow": {
20
+ "optional": true
21
+ },
22
+ "parquet-wasm": {
23
+ "optional": true
24
+ }
25
+ },
26
+ "devDependencies": {
27
+ "typescript": "^5.3.0"
28
+ },
29
+ "license": "MPL-2.0",
30
+ "author": "Louis True",
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "https://github.com/louistrue/ifc-lite.git",
34
+ "directory": "packages/server-client"
35
+ },
36
+ "homepage": "https://louistrue.github.io/ifc-lite/",
37
+ "bugs": "https://github.com/louistrue/ifc-lite/issues",
38
+ "keywords": [
39
+ "ifc",
40
+ "bim",
41
+ "server",
42
+ "client",
43
+ "api",
44
+ "aec"
45
+ ],
46
+ "publishConfig": {
47
+ "access": "public"
48
+ },
49
+ "files": [
50
+ "dist",
51
+ "README.md"
52
+ ],
53
+ "scripts": {
54
+ "build": "tsc || true",
55
+ "dev": "tsc --watch"
56
+ }
57
+ }