@ifc-lite/ifcx 4.3.0 → 4.4.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/README.md +2 -0
- package/dist/georeference.d.ts +17 -0
- package/dist/georeference.d.ts.map +1 -0
- package/dist/georeference.js +44 -0
- package/dist/georeference.js.map +1 -0
- package/dist/index.d.ts +2 -45
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -19
- package/dist/index.js.map +1 -1
- package/dist/parse-result.d.ts +48 -0
- package/dist/parse-result.d.ts.map +1 -0
- package/dist/parse-result.js +5 -0
- package/dist/parse-result.js.map +1 -0
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -102,3 +102,5 @@ RGBA pixels, plus optional original PNG/JPEG bytes retained without decoding.
|
|
|
102
102
|
The shared wire exports are consumed by `@ifc-lite/export`; see
|
|
103
103
|
[texture portability](../../docs/guide/exporting.md#ifcx-texture-portability)
|
|
104
104
|
for interoperability, allocation limits, and the native structural-only boundary.
|
|
105
|
+
|
|
106
|
+
IFCX files may carry `ifclite::georeference::v1` on one model node. The parse result's optional `georeferencing` field preserves canonical `IfcProjectedCRS` (`Name`, metre `MapUnit`) and `IfcMapConversion` (`Eastings`, `Northings`, `OrthogonalHeight`, `XAxisAbscissa`, `XAxisOrdinate`, `Scale`) attributes. The viewer maps this into its existing federation alignment and map placement path. Invalid or conflicting placement records fail parsing. If an overlay fails composition or extraction, `addIfcxOverlay` removes the rejected layer so the previous stage remains usable.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ComposedNode } from './types.js';
|
|
2
|
+
/** Canonical EXPRESS names on the wire; consumers map to their own georef types. */
|
|
3
|
+
export declare function extractGeoreference(composed: Map<string, ComposedNode>): {
|
|
4
|
+
IfcProjectedCRS: {
|
|
5
|
+
Name: string;
|
|
6
|
+
MapUnit: 'METRE';
|
|
7
|
+
};
|
|
8
|
+
IfcMapConversion: {
|
|
9
|
+
Eastings: number;
|
|
10
|
+
Northings: number;
|
|
11
|
+
OrthogonalHeight: number;
|
|
12
|
+
XAxisAbscissa: number;
|
|
13
|
+
XAxisOrdinate: number;
|
|
14
|
+
Scale: number;
|
|
15
|
+
};
|
|
16
|
+
} | undefined;
|
|
17
|
+
//# sourceMappingURL=georeference.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"georeference.d.ts","sourceRoot":"","sources":["../src/georeference.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG;IACxE,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IACpD,gBAAgB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAChF,aAAa,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,GAAG,SAAS,CAuBZ"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Canonical EXPRESS names on the wire; consumers map to their own georef types. */
|
|
2
|
+
export function extractGeoreference(composed) {
|
|
3
|
+
let result;
|
|
4
|
+
for (const node of composed.values()) {
|
|
5
|
+
const value = node.attributes.get('ifclite::georeference::v1');
|
|
6
|
+
if (value === undefined)
|
|
7
|
+
continue;
|
|
8
|
+
const raw = object(value);
|
|
9
|
+
const crs = object(raw.IfcProjectedCRS);
|
|
10
|
+
const map = object(raw.IfcMapConversion);
|
|
11
|
+
if (typeof crs.Name !== 'string' || !/^EPSG:\d+$/.test(crs.Name) || crs.MapUnit !== 'METRE')
|
|
12
|
+
throw new Error('Invalid IFCX projected CRS.');
|
|
13
|
+
const Eastings = number(map.Eastings);
|
|
14
|
+
const Northings = number(map.Northings);
|
|
15
|
+
const OrthogonalHeight = number(map.OrthogonalHeight);
|
|
16
|
+
const XAxisAbscissa = number(map.XAxisAbscissa);
|
|
17
|
+
const XAxisOrdinate = number(map.XAxisOrdinate);
|
|
18
|
+
const Scale = number(map.Scale);
|
|
19
|
+
if (Scale <= 0 || Math.hypot(XAxisAbscissa, XAxisOrdinate) < 1e-12)
|
|
20
|
+
throw new Error('Invalid IFCX map conversion.');
|
|
21
|
+
const next = { IfcProjectedCRS: { Name: crs.Name, MapUnit: 'METRE' },
|
|
22
|
+
IfcMapConversion: { Eastings, Northings, OrthogonalHeight, XAxisAbscissa, XAxisOrdinate, Scale } };
|
|
23
|
+
const previous = result;
|
|
24
|
+
const coordinates = ['Eastings', 'Northings', 'OrthogonalHeight', 'XAxisAbscissa', 'XAxisOrdinate', 'Scale'];
|
|
25
|
+
if (previous && (previous.IfcProjectedCRS.Name !== next.IfcProjectedCRS.Name ||
|
|
26
|
+
coordinates.some(attribute => previous.IfcMapConversion[attribute] !== next.IfcMapConversion[attribute]))) {
|
|
27
|
+
throw new Error('IFCX contains conflicting model georeferences.');
|
|
28
|
+
}
|
|
29
|
+
// Composition can copy the same placement through inheritance (#6824).
|
|
30
|
+
result ??= next;
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
function object(value) {
|
|
35
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
36
|
+
throw new Error('Invalid IFCX georeference.');
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
function number(value) {
|
|
40
|
+
if (typeof value !== 'number' || !Number.isFinite(value))
|
|
41
|
+
throw new Error('Invalid IFCX georeference coordinate.');
|
|
42
|
+
return value;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=georeference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"georeference.js","sourceRoot":"","sources":["../src/georeference.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { StringTable } from '@ifc-lite/data';
|
|
4
|
-
import type { SpatialHierarchy, EntityTable, PropertyTable, QuantityTable, RelationshipGraph } from '@ifc-lite/data';
|
|
1
|
+
import type { IfcxParseResult, IfcxParseOptions } from './parse-result.js';
|
|
2
|
+
export type { IfcxParseResult, IfcxParseOptions } from './parse-result.js';
|
|
5
3
|
import { LayerStack } from './layer-stack.js';
|
|
6
4
|
import { PathIndex } from './path-resolver.js';
|
|
7
5
|
export { IFCX_VERSION } from '@ifc-lite/data';
|
|
@@ -22,47 +20,6 @@ export { LayerStack, createLayerStack, type IfcxLayer, type LayerSource, } from
|
|
|
22
20
|
export { PathIndex, createPathIndex, parsePath, type ParsedPath, type PathEntry, } from './path-resolver.js';
|
|
23
21
|
export { composeFederated, type ComposeOptions, type FederatedCompositionResult, type ComposedNodeWithSources, } from './federated-composition.js';
|
|
24
22
|
export { IfcxWriter, exportToIfcx, type IfcxExportOptions, type IfcxExportData, type IfcxExportResult, } from './writer.js';
|
|
25
|
-
/**
|
|
26
|
-
* Result of parsing an IFCX file.
|
|
27
|
-
* Compatible with existing ifc-lite data structures.
|
|
28
|
-
*/
|
|
29
|
-
export interface IfcxParseResult {
|
|
30
|
-
/** Columnar entity table */
|
|
31
|
-
entities: EntityTable;
|
|
32
|
-
/** Columnar property table */
|
|
33
|
-
properties: PropertyTable;
|
|
34
|
-
/** Columnar quantity table */
|
|
35
|
-
quantities: QuantityTable;
|
|
36
|
-
/** Relationship graph */
|
|
37
|
-
relationships: RelationshipGraph;
|
|
38
|
-
/** Spatial hierarchy */
|
|
39
|
-
spatialHierarchy: SpatialHierarchy;
|
|
40
|
-
/** String table for interned strings */
|
|
41
|
-
strings: StringTable;
|
|
42
|
-
/** Pre-tessellated geometry meshes */
|
|
43
|
-
meshes: MeshData[];
|
|
44
|
-
/** Decoded point clouds (pcd::base64, points::array, points::base64) */
|
|
45
|
-
pointClouds: PointCloudExtraction[];
|
|
46
|
-
/** Mapping from IFCX path to express ID */
|
|
47
|
-
pathToId: Map<string, number>;
|
|
48
|
-
/** Mapping from express ID to IFCX path */
|
|
49
|
-
idToPath: Map<number, string>;
|
|
50
|
-
/** Schema version */
|
|
51
|
-
schemaVersion: 'IFC5';
|
|
52
|
-
/** File size in bytes */
|
|
53
|
-
fileSize: number;
|
|
54
|
-
/** Number of entities */
|
|
55
|
-
entityCount: number;
|
|
56
|
-
/** Parse time in milliseconds */
|
|
57
|
-
parseTime: number;
|
|
58
|
-
}
|
|
59
|
-
export interface IfcxParseOptions {
|
|
60
|
-
/** Progress callback */
|
|
61
|
-
onProgress?: (progress: {
|
|
62
|
-
phase: string;
|
|
63
|
-
percent: number;
|
|
64
|
-
}) => void;
|
|
65
|
-
}
|
|
66
23
|
/**
|
|
67
24
|
* Parse an IFCX file and return data compatible with existing ifc-lite pipeline.
|
|
68
25
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
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
|
+
import { extractGeoreference } from './georeference.js';
|
|
4
5
|
import { ATTR, SPATIAL_TYPES, isTypedPropertyValue, parseV5aKey } from './types.js';
|
|
5
6
|
import { composeIfcx } from './composition.js';
|
|
6
7
|
import { extractEntities } from './entity-extractor.js';
|
|
@@ -59,6 +60,7 @@ export async function parseIfcx(buffer, options = {}) {
|
|
|
59
60
|
// Phase 2: Compose ECS nodes
|
|
60
61
|
options.onProgress?.({ phase: 'compose', percent: 0 });
|
|
61
62
|
const composed = composeIfcx(file);
|
|
63
|
+
const georeferencing = extractGeoreference(composed);
|
|
62
64
|
options.onProgress?.({ phase: 'compose', percent: 100 });
|
|
63
65
|
// Phase 3: Extract entities
|
|
64
66
|
options.onProgress?.({ phase: 'entities', percent: 0 });
|
|
@@ -101,6 +103,7 @@ export async function parseIfcx(buffer, options = {}) {
|
|
|
101
103
|
fileSize: buffer.byteLength,
|
|
102
104
|
entityCount: entities.count,
|
|
103
105
|
parseTime,
|
|
106
|
+
georeferencing,
|
|
104
107
|
};
|
|
105
108
|
}
|
|
106
109
|
/**
|
|
@@ -346,6 +349,7 @@ function finalizeFederatedResult(layerStack, compositionResult, totalSize, start
|
|
|
346
349
|
for (const [path, node] of compositionResult.composed) {
|
|
347
350
|
composed.set(path, node);
|
|
348
351
|
}
|
|
352
|
+
const georeferencing = extractGeoreference(composed);
|
|
349
353
|
// Phase 3: Extract entities
|
|
350
354
|
options.onProgress?.({ phase: 'entities', percent: 0 });
|
|
351
355
|
const strings = new StringTable();
|
|
@@ -393,6 +397,7 @@ function finalizeFederatedResult(layerStack, compositionResult, totalSize, start
|
|
|
393
397
|
entityCount: entities.count,
|
|
394
398
|
parseTime,
|
|
395
399
|
// Federated-specific fields
|
|
400
|
+
georeferencing,
|
|
396
401
|
layerStack,
|
|
397
402
|
pathIndex: compositionResult.pathIndex,
|
|
398
403
|
compositionStats: {
|
|
@@ -423,29 +428,37 @@ export async function addIfcxOverlay(baseResult, overlayBuffer, overlayName, opt
|
|
|
423
428
|
}
|
|
424
429
|
// Add to layer stack (at top = strongest)
|
|
425
430
|
const layerStack = baseResult.layerStack;
|
|
426
|
-
layerStack.addLayer(file, overlayBuffer, overlayName, {
|
|
431
|
+
const addedLayerId = layerStack.addLayer(file, overlayBuffer, overlayName, {
|
|
427
432
|
type: 'file',
|
|
428
433
|
filename: overlayName,
|
|
429
434
|
size: overlayBuffer.byteLength,
|
|
430
435
|
});
|
|
431
|
-
//
|
|
432
|
-
//
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
436
|
+
// Failed composition or extraction must leave the previous result usable
|
|
437
|
+
// (#6824). Successful overlays keep the existing shared-stack semantics.
|
|
438
|
+
try {
|
|
439
|
+
// Re-compose with the new layer directly from the already-parsed stack.
|
|
440
|
+
// Avoid round-tripping every layer buffer back through parseFederatedIfcx
|
|
441
|
+
// (re-JSON.parsing all prior layers), which would make the k-th overlay
|
|
442
|
+
// cost O(total bytes of all layers).
|
|
443
|
+
const startTime = performance.now();
|
|
444
|
+
options.onProgress?.({ phase: 'compose', percent: 0 });
|
|
445
|
+
const compositionResult = composeFederated(layerStack, {
|
|
446
|
+
onProgress: (phase, percent) => {
|
|
447
|
+
options.onProgress?.({ phase: `compose-${phase}`, percent });
|
|
448
|
+
},
|
|
449
|
+
maxInheritDepth: options.maxInheritDepth,
|
|
450
|
+
});
|
|
451
|
+
options.onProgress?.({ phase: 'compose', percent: 100 });
|
|
452
|
+
// fileSize reflects the total bytes of every layer (matching parseFederatedIfcx).
|
|
453
|
+
let totalSize = 0;
|
|
454
|
+
for (const layer of layerStack.getLayers()) {
|
|
455
|
+
totalSize += layer.buffer.byteLength;
|
|
456
|
+
}
|
|
457
|
+
return finalizeFederatedResult(layerStack, compositionResult, totalSize, startTime, options);
|
|
458
|
+
}
|
|
459
|
+
catch (error) {
|
|
460
|
+
layerStack.removeLayer(addedLayerId);
|
|
461
|
+
throw error;
|
|
448
462
|
}
|
|
449
|
-
return finalizeFederatedResult(layerStack, compositionResult, totalSize, startTime, options);
|
|
450
463
|
}
|
|
451
464
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { StringTable, SpatialHierarchy, EntityTable, PropertyTable, QuantityTable, RelationshipGraph } from '@ifc-lite/data';
|
|
2
|
+
import type { MeshData } from './geometry-extractor.js';
|
|
3
|
+
import type { PointCloudExtraction } from './pointcloud-extractor.js';
|
|
4
|
+
import type { extractGeoreference } from './georeference.js';
|
|
5
|
+
/**
|
|
6
|
+
* Result of parsing an IFCX file.
|
|
7
|
+
* Compatible with existing ifc-lite data structures.
|
|
8
|
+
*/
|
|
9
|
+
export interface IfcxParseResult {
|
|
10
|
+
/** Columnar entity table */
|
|
11
|
+
entities: EntityTable;
|
|
12
|
+
/** Columnar property table */
|
|
13
|
+
properties: PropertyTable;
|
|
14
|
+
/** Columnar quantity table */
|
|
15
|
+
quantities: QuantityTable;
|
|
16
|
+
/** Relationship graph */
|
|
17
|
+
relationships: RelationshipGraph;
|
|
18
|
+
/** Spatial hierarchy */
|
|
19
|
+
spatialHierarchy: SpatialHierarchy;
|
|
20
|
+
/** String table for interned strings */
|
|
21
|
+
strings: StringTable;
|
|
22
|
+
/** Pre-tessellated geometry meshes */
|
|
23
|
+
meshes: MeshData[];
|
|
24
|
+
/** Decoded point clouds (pcd::base64, points::array, points::base64) */
|
|
25
|
+
pointClouds: PointCloudExtraction[];
|
|
26
|
+
/** Mapping from IFCX path to express ID */
|
|
27
|
+
pathToId: Map<string, number>;
|
|
28
|
+
/** Mapping from express ID to IFCX path */
|
|
29
|
+
idToPath: Map<number, string>;
|
|
30
|
+
/** Schema version */
|
|
31
|
+
schemaVersion: 'IFC5';
|
|
32
|
+
/** File size in bytes */
|
|
33
|
+
fileSize: number;
|
|
34
|
+
/** Number of entities */
|
|
35
|
+
entityCount: number;
|
|
36
|
+
/** Parse time in milliseconds */
|
|
37
|
+
parseTime: number;
|
|
38
|
+
/** Canonical IFC EXPRESS attributes carried by the IFCX georeference extension. */
|
|
39
|
+
georeferencing?: ReturnType<typeof extractGeoreference>;
|
|
40
|
+
}
|
|
41
|
+
export interface IfcxParseOptions {
|
|
42
|
+
/** Progress callback */
|
|
43
|
+
onProgress?: (progress: {
|
|
44
|
+
phase: string;
|
|
45
|
+
percent: number;
|
|
46
|
+
}) => void;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=parse-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-result.d.ts","sourceRoot":"","sources":["../src/parse-result.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAClI,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,QAAQ,EAAE,WAAW,CAAC;IACtB,8BAA8B;IAC9B,UAAU,EAAE,aAAa,CAAC;IAC1B,8BAA8B;IAC9B,UAAU,EAAE,aAAa,CAAC;IAC1B,yBAAyB;IACzB,aAAa,EAAE,iBAAiB,CAAC;IACjC,wBAAwB;IACxB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,wCAAwC;IACxC,OAAO,EAAE,WAAW,CAAC;IACrB,sCAAsC;IACtC,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,wEAAwE;IACxE,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC,2CAA2C;IAC3C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,2CAA2C;IAC3C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-result.js","sourceRoot":"","sources":["../src/parse-result.ts"],"names":[],"mappings":"AAAA;;+DAE+D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ifc-lite/ifcx",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.0",
|
|
4
4
|
"description": "IFC5 (IFCX) parser for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@noble/hashes": "^2.4.0",
|
|
17
|
-
"@ifc-lite/
|
|
18
|
-
"@ifc-lite/
|
|
19
|
-
"@ifc-lite/pointcloud": "^0.
|
|
17
|
+
"@ifc-lite/data": "^6.2.0",
|
|
18
|
+
"@ifc-lite/mutations": "^3.2.0",
|
|
19
|
+
"@ifc-lite/pointcloud": "^0.12.0"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"tsx": "^4.23.15",
|