@ifc-lite/export 2.9.4 → 3.0.1
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/csv-cell.d.ts +101 -0
- package/dist/csv-cell.d.ts.map +1 -0
- package/dist/csv-cell.js +90 -0
- package/dist/csv-cell.js.map +1 -0
- package/dist/declared-property-type.d.ts +19 -8
- package/dist/declared-property-type.d.ts.map +1 -1
- package/dist/declared-property-type.js +31 -9
- package/dist/declared-property-type.js.map +1 -1
- package/dist/demesh-session.d.ts.map +1 -1
- package/dist/demesh-session.js +2 -1
- package/dist/demesh-session.js.map +1 -1
- package/dist/effective-index.js +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/lod1-generator.d.ts +0 -2
- package/dist/lod1-generator.d.ts.map +1 -1
- package/dist/lod1-generator.js +1 -1
- package/dist/lod1-generator.js.map +1 -1
- package/dist/merged-exporter.d.ts +19 -0
- package/dist/merged-exporter.d.ts.map +1 -1
- package/dist/merged-exporter.js +23 -41
- package/dist/merged-exporter.js.map +1 -1
- package/dist/parquet-exporter.d.ts +1 -3
- package/dist/parquet-exporter.d.ts.map +1 -1
- package/dist/parquet-exporter.js +1 -0
- package/dist/parquet-exporter.js.map +1 -1
- package/dist/property-value-serialization.d.ts +54 -0
- package/dist/property-value-serialization.d.ts.map +1 -0
- package/dist/property-value-serialization.js +134 -0
- package/dist/property-value-serialization.js.map +1 -0
- package/dist/reference-collector.d.ts +20 -0
- package/dist/reference-collector.d.ts.map +1 -1
- package/dist/reference-collector.js +46 -113
- package/dist/reference-collector.js.map +1 -1
- package/dist/schema-converter.d.ts.map +1 -1
- package/dist/schema-converter.js +46 -96
- package/dist/schema-converter.js.map +1 -1
- package/dist/source-ref-bounds.d.ts +3 -3
- package/dist/source-ref-bounds.js +3 -3
- package/dist/step-attribute-mutations.d.ts +49 -0
- package/dist/step-attribute-mutations.d.ts.map +1 -0
- package/dist/step-attribute-mutations.js +172 -0
- package/dist/step-attribute-mutations.js.map +1 -0
- package/dist/step-attribute-serializers.d.ts +41 -0
- package/dist/step-attribute-serializers.d.ts.map +1 -0
- package/dist/step-attribute-serializers.js +74 -0
- package/dist/step-attribute-serializers.js.map +1 -0
- package/dist/step-collection.d.ts +55 -0
- package/dist/step-collection.d.ts.map +1 -0
- package/dist/step-collection.js +126 -0
- package/dist/step-collection.js.map +1 -0
- package/dist/step-export-contexts.d.ts +61 -0
- package/dist/step-export-contexts.d.ts.map +1 -0
- package/dist/step-export-contexts.js +50 -0
- package/dist/step-export-contexts.js.map +1 -0
- package/dist/step-export-types.d.ts +262 -0
- package/dist/step-export-types.d.ts.map +1 -0
- package/dist/step-export-types.js +22 -0
- package/dist/step-export-types.js.map +1 -0
- package/dist/step-exporter.d.ts +23 -354
- package/dist/step-exporter.d.ts.map +1 -1
- package/dist/step-exporter.js +76 -1260
- package/dist/step-exporter.js.map +1 -1
- package/dist/step-geometry-types.d.ts +3 -0
- package/dist/step-geometry-types.d.ts.map +1 -0
- package/dist/step-geometry-types.js +73 -0
- package/dist/step-geometry-types.js.map +1 -0
- package/dist/step-georeferencing.d.ts +0 -10
- package/dist/step-georeferencing.d.ts.map +1 -1
- package/dist/step-georeferencing.js +46 -94
- package/dist/step-georeferencing.js.map +1 -1
- package/dist/step-header.d.ts +53 -0
- package/dist/step-header.d.ts.map +1 -0
- package/dist/step-header.js +63 -0
- package/dist/step-header.js.map +1 -0
- package/dist/step-map-unit.d.ts +90 -0
- package/dist/step-map-unit.d.ts.map +1 -0
- package/dist/step-map-unit.js +277 -0
- package/dist/step-map-unit.js.map +1 -0
- package/dist/step-omission-predicates.d.ts +51 -0
- package/dist/step-omission-predicates.d.ts.map +1 -0
- package/dist/step-omission-predicates.js +268 -0
- package/dist/step-omission-predicates.js.map +1 -0
- package/dist/step-overlay-attribute-overrides.d.ts +32 -0
- package/dist/step-overlay-attribute-overrides.d.ts.map +1 -0
- package/dist/step-overlay-attribute-overrides.js +83 -0
- package/dist/step-overlay-attribute-overrides.js.map +1 -0
- package/dist/step-overlay-entities.d.ts +64 -0
- package/dist/step-overlay-entities.d.ts.map +1 -0
- package/dist/step-overlay-entities.js +119 -0
- package/dist/step-overlay-entities.js.map +1 -0
- package/dist/step-pass-builder.d.ts +45 -0
- package/dist/step-pass-builder.d.ts.map +1 -0
- package/dist/step-pass-builder.js +249 -0
- package/dist/step-pass-builder.js.map +1 -0
- package/dist/step-property-set-collection.d.ts +24 -0
- package/dist/step-property-set-collection.d.ts.map +1 -0
- package/dist/step-property-set-collection.js +286 -0
- package/dist/step-property-set-collection.js.map +1 -0
- package/dist/step-property-set-generators.d.ts +20 -0
- package/dist/step-property-set-generators.d.ts.map +1 -0
- package/dist/step-property-set-generators.js +98 -0
- package/dist/step-property-set-generators.js.map +1 -0
- package/dist/step-property-set-index.d.ts +25 -0
- package/dist/step-property-set-index.d.ts.map +1 -0
- package/dist/step-property-set-index.js +69 -0
- package/dist/step-property-set-index.js.map +1 -0
- package/dist/step-property-set-readers.d.ts +158 -0
- package/dist/step-property-set-readers.d.ts.map +1 -0
- package/dist/step-property-set-readers.js +251 -0
- package/dist/step-property-set-readers.js.map +1 -0
- package/dist/step-property-sets.d.ts +2 -184
- package/dist/step-property-sets.d.ts.map +1 -1
- package/dist/step-property-sets.js +22 -674
- package/dist/step-property-sets.js.map +1 -1
- package/dist/step-serialization.d.ts +33 -52
- package/dist/step-serialization.d.ts.map +1 -1
- package/dist/step-serialization.js +69 -131
- package/dist/step-serialization.js.map +1 -1
- package/dist/step-source-iteration.d.ts +97 -0
- package/dist/step-source-iteration.d.ts.map +1 -0
- package/dist/step-source-iteration.js +178 -0
- package/dist/step-source-iteration.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,178 @@
|
|
|
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
|
+
import { filterHiddenRefsFromRelationshipLine } from './reference-collector.js';
|
|
5
|
+
import { convertStepLine } from './schema-converter.js';
|
|
6
|
+
import { nominateDeliveredInPlaceEdits } from './in-place-nomination.js';
|
|
7
|
+
import { decodeRange } from './source-ref-bounds.js';
|
|
8
|
+
import { getPropertyIdsInSet } from './step-property-set-readers.js';
|
|
9
|
+
/**
|
|
10
|
+
* Un-skip property/quantity atoms that a surviving (non-skipped, and — under
|
|
11
|
+
* visible-only export — still-included) IfcPropertySet / IfcElementQuantity
|
|
12
|
+
* still references.
|
|
13
|
+
*
|
|
14
|
+
* When a property is edited, the modified pset is replaced and its member atoms
|
|
15
|
+
* are added to `skipIds` wholesale. Because exporters deduplicate shared
|
|
16
|
+
* Pset_*Common atoms (e.g. a single IsExternal / IsLoadBearing value referenced
|
|
17
|
+
* by many psets), that wholesale skip can drop an atom another pset still needs.
|
|
18
|
+
* This pass restores any such atom: the edited pset still emits its replacement
|
|
19
|
+
* with the new value, while the shared atom stays for the psets that keep their
|
|
20
|
+
* original value.
|
|
21
|
+
*/
|
|
22
|
+
function retainSharedAtoms(skipIds, allowedEntityIds, ctxOf) {
|
|
23
|
+
if (skipIds.size === 0)
|
|
24
|
+
return;
|
|
25
|
+
// Built once for the whole sweep rather than per container: the readers in
|
|
26
|
+
// `step-property-set-readers.ts` take the context, and this loop calls one
|
|
27
|
+
// of them once per IfcPropertySet / IfcElementQuantity in the file.
|
|
28
|
+
const ctx = ctxOf.propertySetContext();
|
|
29
|
+
const byType = ctxOf.dataStore.entityIndex.byType;
|
|
30
|
+
const containerIds = [
|
|
31
|
+
...(byType.get('IFCPROPERTYSET') ?? []),
|
|
32
|
+
...(byType.get('IFCELEMENTQUANTITY') ?? []),
|
|
33
|
+
];
|
|
34
|
+
for (const containerId of containerIds) {
|
|
35
|
+
// Skipped containers are being dropped/replaced — their atoms may go.
|
|
36
|
+
if (skipIds.has(containerId))
|
|
37
|
+
continue;
|
|
38
|
+
// Under visible-only export a container outside the closure is not emitted,
|
|
39
|
+
// so it cannot keep an atom alive.
|
|
40
|
+
if (allowedEntityIds !== null && !allowedEntityIds.has(containerId))
|
|
41
|
+
continue;
|
|
42
|
+
for (const atomId of getPropertyIdsInSet(ctx, containerId)) {
|
|
43
|
+
skipIds.delete(atomId);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Write every source-backed record this export keeps, into `pass.entities`.
|
|
49
|
+
*
|
|
50
|
+
* Mutates the pass in place and returns nothing: three later readers take its
|
|
51
|
+
* output at a distance — the assembly step reads `pass.entities`, `settle()`
|
|
52
|
+
* reads `pass.modifications`, and the header count reads both.
|
|
53
|
+
*
|
|
54
|
+
* `mayNameOmittedRefs` is passed rather than read off the pass because it is
|
|
55
|
+
* deliberately not a pass member: it folds in `hiddenProductIds`, which the
|
|
56
|
+
* visible-only closure walk only assigns after the pass is constructed, so
|
|
57
|
+
* hoisting it would change what it computes rather than where it is named. The
|
|
58
|
+
* overlay-created-entities block reads the same local. `isOmittedFromOutput`
|
|
59
|
+
* is passed alongside it for the same reason — it closes over `pass` but is
|
|
60
|
+
* built once by the caller (`step-exporter.ts`), not re-derived here.
|
|
61
|
+
*/
|
|
62
|
+
export function writeSourceEntityLines(pass, options, mayNameOmittedRefs, isOmittedFromOutput, ctx) {
|
|
63
|
+
// A modified pset is replaced wholesale, which skips ALL of its member atoms.
|
|
64
|
+
// But IFC exporters deduplicate identical Pset_*Common atoms (e.g. one
|
|
65
|
+
// IsExternal IfcPropertySingleValue shared by dozens of psets), so skipping a
|
|
66
|
+
// shared atom would orphan every OTHER pset that still references it, leaving
|
|
67
|
+
// dangling refs and an invalid file. Keep any atom a surviving container needs.
|
|
68
|
+
retainSharedAtoms(pass.skipPropertySetIds, pass.allowedEntityIds, ctx);
|
|
69
|
+
// Export original entities from source buffer, SKIPPING modified property sets
|
|
70
|
+
if (!options.deltaOnly && ctx.dataStore.source) {
|
|
71
|
+
const source = ctx.dataStore.source;
|
|
72
|
+
// Extract existing entities from source. The effective index has already
|
|
73
|
+
// dropped everything the overlay tombstoned, so there is no separate
|
|
74
|
+
// deleted check to forget here.
|
|
75
|
+
for (const [expressId, entityRef] of pass.effective) {
|
|
76
|
+
// Skip overlay-only entities — emitted by the overlay-created-entities
|
|
77
|
+
// block back in `export()`.
|
|
78
|
+
// A ref this source cannot address is skipped by the same test rather
|
|
79
|
+
// than decoded: `decodeUtf8` clamps such a range and the empty string
|
|
80
|
+
// it returns used to be pushed into the file as a blank line, leaving
|
|
81
|
+
// every generated record that names the host dangling (#2491).
|
|
82
|
+
if (!pass.isReadableSourceRef(entityRef)) {
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
// Skip entities outside the visible closure
|
|
86
|
+
if (pass.allowedEntityIds !== null && !pass.allowedEntityIds.has(expressId)) {
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
// Skip property sets/relationships that are being replaced
|
|
90
|
+
if (pass.skipPropertySetIds.has(expressId) || pass.skipRelationshipIds.has(expressId)) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
// Skip type entities whose HasPropertySets attribute will be rewritten
|
|
94
|
+
if (pass.rewrittenEntityIds.has(expressId)) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
// Skip geometry if not included. Classified via `isGeometryExcluded`
|
|
98
|
+
// (which reads the EFFECTIVE type, `effective.effectiveType`) rather
|
|
99
|
+
// than `entityRef.type` directly: a retype can move a record across
|
|
100
|
+
// the geometry boundary in either direction, and this check has to
|
|
101
|
+
// agree with `hasEmittableHostBytes`/`willBeEmitted`'s use of the
|
|
102
|
+
// same predicate — otherwise a wall retyped to `IfcCartesianPoint`
|
|
103
|
+
// still ships its (rewritten) geometry line under
|
|
104
|
+
// `includeGeometry: false`, the exact "predicate must agree" failure
|
|
105
|
+
// this file already guards for the non-retyped case (#2414).
|
|
106
|
+
if (pass.isGeometryExcluded(expressId, entityRef.type)) {
|
|
107
|
+
continue;
|
|
108
|
+
}
|
|
109
|
+
// Get original entity text — decodeRange handles SAB-backed
|
|
110
|
+
// sources (Firefox/Chrome reject `TextDecoder.decode()` on a
|
|
111
|
+
// SharedArrayBuffer-backed view; the parser deliberately keeps
|
|
112
|
+
// `source` zero-copy SAB-backed for worker sharing).
|
|
113
|
+
const entityText = decodeRange(source, entityRef.byteOffset, entityRef.byteOffset + entityRef.byteLength);
|
|
114
|
+
// Retype, named attribute edits and positional edits, in that order.
|
|
115
|
+
// Shared verbatim with the type-object `HasPropertySets` rewrite in
|
|
116
|
+
// `step-property-sets.ts`, which writes the line this pass would
|
|
117
|
+
// otherwise have written — hence injected rather than moved here.
|
|
118
|
+
const mutated = ctx.applySourceLineMutations(expressId, entityText, entityRef.type, pass.modifiedAttributes.get(expressId), pass.sourceSchema, pass.overlayActive, (attr, value) => pass.warnings.push(`entity #${expressId}: attribute ${attr} not written - ` +
|
|
119
|
+
`${JSON.stringify(value)} is not a number and the slot is REAL-typed`));
|
|
120
|
+
let nextEntityText = mutated.text;
|
|
121
|
+
// A hidden PRODUCT's own line is already out of the export via
|
|
122
|
+
// `allowedEntityIds`, and a TOMBSTONED entity's via `effective` — this
|
|
123
|
+
// is the relationship that NAMED either one. `IFCREL*` is an
|
|
124
|
+
// unconditional root (see `getVisibleEntityIds`), so its bytes reach
|
|
125
|
+
// here unfiltered even when one of the ids they name was just
|
|
126
|
+
// excluded; left alone that ships a `#N` with no `#N=` line, whether
|
|
127
|
+
// the exclusion came from `visibleOnly` or from a plain deletion
|
|
128
|
+
// (#2398). Checked before the nomination below: a relationship this
|
|
129
|
+
// withholds must not also be counted as a delivered modification.
|
|
130
|
+
//
|
|
131
|
+
// Classified by the EFFECTIVE type (`effective.effectiveType`), not
|
|
132
|
+
// the source's authored type: a retype can move a record across
|
|
133
|
+
// the `IFCREL*` boundary in either direction (`applySourceLineMutations`
|
|
134
|
+
// already rewrote `nextEntityText` to the new class), and this check
|
|
135
|
+
// has to agree with what actually got written, the same way
|
|
136
|
+
// `getVisibleEntityIds` already does for the visibility walk itself.
|
|
137
|
+
const effectiveRelType = pass.effective.effectiveType(expressId, entityRef.type).toUpperCase();
|
|
138
|
+
if (mayNameOmittedRefs && effectiveRelType.startsWith('IFCREL')) {
|
|
139
|
+
const filtered = filterHiddenRefsFromRelationshipLine(nextEntityText, isOmittedFromOutput);
|
|
140
|
+
if (filtered === null) {
|
|
141
|
+
pass.warnings.push(ctx.relationshipWithheldWarning(expressId, effectiveRelType));
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
nextEntityText = filtered;
|
|
145
|
+
}
|
|
146
|
+
// A retype or a positional edit that CHANGED the line is what makes
|
|
147
|
+
// this entity count; a named attribute edit was already nominated by
|
|
148
|
+
// the collection pass. Both flags report effect, so retyping an entity
|
|
149
|
+
// to the class it already is — or writing a slot the token it already
|
|
150
|
+
// holds — no longer claims a modification over a line the export left
|
|
151
|
+
// byte-identical. This pass is full-export-only (`deltaOnly` skips it
|
|
152
|
+
// wholesale), so nomination IS emission here and the kinds only have to
|
|
153
|
+
// be right for the entity count — which is per entity, hence unchanged.
|
|
154
|
+
if (mutated.retyped || mutated.positional)
|
|
155
|
+
pass.modifiedEntities.add(expressId);
|
|
156
|
+
if (mutated.retyped)
|
|
157
|
+
pass.modifications.nominate(expressId, 'retype');
|
|
158
|
+
if (mutated.positional)
|
|
159
|
+
pass.modifications.nominate(expressId, 'positional');
|
|
160
|
+
// The named-attribute kinds join them here rather than at their
|
|
161
|
+
// collection sites, for the same reason and on the same signal (#2483).
|
|
162
|
+
// This pass is full-export-only, so there is nothing to gate.
|
|
163
|
+
nominateDeliveredInPlaceEdits(pass.modifications, expressId, mutated, pass.inPlaceNominees);
|
|
164
|
+
// Apply schema conversion if exporting to a different schema version
|
|
165
|
+
if (pass.converting) {
|
|
166
|
+
const converted = convertStepLine(nextEntityText, pass.sourceSchema, pass.schema, options.guidRandom);
|
|
167
|
+
if (converted !== null) {
|
|
168
|
+
pass.entities.push(converted);
|
|
169
|
+
}
|
|
170
|
+
// null means entity should be skipped (no valid representation in target schema)
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
pass.entities.push(nextEntityText);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=step-source-iteration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-source-iteration.js","sourceRoot":"","sources":["../src/step-source-iteration.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": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Export formats for IFC-Lite",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"parquet-wasm": "^0.7.2",
|
|
17
17
|
"apache-arrow": "^21.2.0",
|
|
18
18
|
"jszip": "^3.10.0",
|
|
19
|
-
"@ifc-lite/
|
|
20
|
-
"@ifc-lite/
|
|
21
|
-
"@ifc-lite/
|
|
22
|
-
"@ifc-lite/
|
|
23
|
-
"@ifc-lite/
|
|
19
|
+
"@ifc-lite/data": "^3.5.0",
|
|
20
|
+
"@ifc-lite/encoding": "^2.1.0",
|
|
21
|
+
"@ifc-lite/parser": "^4.3.2",
|
|
22
|
+
"@ifc-lite/mutations": "^1.27.0",
|
|
23
|
+
"@ifc-lite/geometry": "^4.1.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"typescript": "^6.0.3",
|
|
27
27
|
"vitest": "^4.1.10",
|
|
28
|
-
"@ifc-lite/ifcx": "^
|
|
28
|
+
"@ifc-lite/ifcx": "^3.0.1"
|
|
29
29
|
},
|
|
30
30
|
"license": "MPL-2.0",
|
|
31
31
|
"author": "Louis True",
|