@ifc-lite/data 4.5.0 → 5.1.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.
Files changed (41) hide show
  1. package/dist/effective-entities.d.ts +112 -0
  2. package/dist/effective-entities.d.ts.map +1 -0
  3. package/dist/effective-entities.js +145 -0
  4. package/dist/effective-entities.js.map +1 -0
  5. package/dist/entity-table.d.ts +16 -31
  6. package/dist/entity-table.d.ts.map +1 -1
  7. package/dist/entity-table.js +11 -8
  8. package/dist/entity-table.js.map +1 -1
  9. package/dist/ifc-schema/entities-ifc4-express.d.ts +26 -0
  10. package/dist/ifc-schema/entities-ifc4-express.d.ts.map +1 -0
  11. package/dist/ifc-schema/entities-ifc4-express.js +9 -0
  12. package/dist/ifc-schema/entities-ifc4-express.js.map +1 -0
  13. package/dist/ifc-schema/ifc4-express-corrections.d.ts +16 -0
  14. package/dist/ifc-schema/ifc4-express-corrections.d.ts.map +1 -0
  15. package/dist/ifc-schema/ifc4-express-corrections.js +46 -0
  16. package/dist/ifc-schema/ifc4-express-corrections.js.map +1 -0
  17. package/dist/ifc-schema/index.js +2 -2
  18. package/dist/ifc-schema/index.js.map +1 -1
  19. package/dist/index.d.ts +4 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +9 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/property-table.d.ts +1 -0
  24. package/dist/property-table.d.ts.map +1 -1
  25. package/dist/property-table.js.map +1 -1
  26. package/dist/relationship-type.d.ts +18 -0
  27. package/dist/relationship-type.d.ts.map +1 -1
  28. package/dist/relationship-type.js +36 -0
  29. package/dist/relationship-type.js.map +1 -1
  30. package/dist/resolved-type-name.d.ts +9 -0
  31. package/dist/resolved-type-name.d.ts.map +1 -0
  32. package/dist/resolved-type-name.js +8 -0
  33. package/dist/resolved-type-name.js.map +1 -0
  34. package/dist/step-numeric-literal.d.ts +21 -0
  35. package/dist/step-numeric-literal.d.ts.map +1 -0
  36. package/dist/step-numeric-literal.js +74 -0
  37. package/dist/step-numeric-literal.js.map +1 -0
  38. package/dist/step-serializers.d.ts.map +1 -1
  39. package/dist/step-serializers.js +7 -4
  40. package/dist/step-serializers.js.map +1 -1
  41. package/package.json +3 -3
@@ -0,0 +1,112 @@
1
+ /**
2
+ * The effective entity set of a live model session: the one enumeration
3
+ * algorithm (#5249, charter #5236).
4
+ *
5
+ * A parsed store's `entityIndex` answers for the file as parsed. The mutation
6
+ * overlay (`MutablePropertyView`) never writes back into it: a deleted entity
7
+ * keeps its index entry, and an entity created this session has none. So every
8
+ * bulk enumeration that walks `entityIndex.byType` / `entityIndex.byId` directly
9
+ * returns tombstoned entities and misses created ones, while the point lookups
10
+ * next to it (`isDeleted`, `getNewEntity`) answer correctly. The seed issues of
11
+ * the charter were that one defect in eight consumers, several wrong in only
12
+ * one direction (#5185 missed creates, #5205 kept tombstones, in one function).
13
+ *
14
+ * This generator answers both directions at once:
15
+ *
16
+ * - every source entity except tombstoned ones;
17
+ * - every overlay-created entity; created-then-deleted is absent;
18
+ * - a retyped entity carries, and is filtered by, its new class.
19
+ *
20
+ * It lives here rather than in `@ifc-lite/mutations` because `@ifc-lite/ids`
21
+ * and `@ifc-lite/charts` depend on `@ifc-lite/data` and deliberately not on
22
+ * mutations. `@ifc-lite/mutations`' `iterateEffectiveEntityIds` delegates to
23
+ * it, so there is one algorithm. The overlay is passed in explicitly, never
24
+ * looked up from global state, so a federated session cannot read one model's
25
+ * edits through another's store. {@link EffectiveEntityOverlay} is structural:
26
+ * a live `MutablePropertyView` satisfies it, and so does a structured-clone
27
+ * snapshot (the IDS worker re-parses the source bytes and receives the
28
+ * overlay as plain data).
29
+ *
30
+ * Order: source records in source-bucket order (the type buckets as indexed,
31
+ * or `sourceIds` as given); then source records retyped INTO a requested type
32
+ * they were not indexed under, in the overlay's retype order; then overlay
33
+ * creations in the overlay's creation order.
34
+ *
35
+ * Point lookups stay on their existing mutation-aware paths. This is for
36
+ * enumeration only. `packages/export/src/effective-index.ts` answers the same
37
+ * membership question for STEP output, with byte ranges and reference walks a
38
+ * query consumer does not need.
39
+ */
40
+ /** The overlay half of a live session, as enumeration needs it. */
41
+ export interface EffectiveEntityOverlay {
42
+ /** True for a deleted source entity and for a created-then-deleted one. */
43
+ isDeleted(expressId: number): boolean;
44
+ /** Overlay-created entities, in creation order, with their authored class. */
45
+ getNewEntities(): ReadonlyArray<{
46
+ readonly expressId: number;
47
+ readonly type: string;
48
+ }>;
49
+ /** Retype intents by express id. Absent means the overlay carries none. */
50
+ getTypeMutations?(): ReadonlyMap<number, {
51
+ readonly newType: string;
52
+ }>;
53
+ /** Optional indexed tombstones let aggregate counts avoid a full source walk. */
54
+ getTombstones?(): ReadonlySet<number>;
55
+ /** O(1) created-entity lookup. Absent (a plain-data snapshot): membership is built from `getNewEntities`. */
56
+ getNewEntity?(expressId: number): {
57
+ readonly type: string;
58
+ } | null;
59
+ /**
60
+ * Created entities authored as one class, in creation order. Lets a
61
+ * single-class query skip the other created entities, which is what keeps
62
+ * per-element authoring linear (#5413). Absent: the full list is scanned.
63
+ */
64
+ getNewEntitiesOfType?(type: string): Iterable<{
65
+ readonly expressId: number;
66
+ readonly type: string;
67
+ }>;
68
+ }
69
+ /**
70
+ * Count effective classes without walking a large source bucket for a small
71
+ * edit set. A caller-supplied source domain is counted through the canonical
72
+ * iterator instead (for example IFCX, whose STEP type index is empty).
73
+ * Source classes with no surviving records retain a zero row.
74
+ */
75
+ export declare function countEffectiveEntityTypes(source: EffectiveEntitySource, overlay: EffectiveEntityOverlay | null | undefined, sourceIds?: Iterable<number>): Map<string, number>;
76
+ /** The parser's source index shape, without a parser dependency. */
77
+ export interface EffectiveEntitySource {
78
+ readonly entityIndex: {
79
+ /** Source ids keyed by UPPERCASE STEP class. */
80
+ readonly byType: ReadonlyMap<string, readonly number[]>;
81
+ readonly byId: {
82
+ get(id: number): {
83
+ type: string;
84
+ } | undefined;
85
+ };
86
+ };
87
+ /** Property atoms may live outside the primary ID index after parsing. */
88
+ readonly deferredEntityIndex?: {
89
+ get(id: number): {
90
+ type: string;
91
+ } | undefined;
92
+ };
93
+ /** Optional type fallback for a caller-supplied columnar source domain. */
94
+ readonly entities?: {
95
+ getTypeName(id: number): string;
96
+ };
97
+ }
98
+ export interface EffectiveEntity {
99
+ expressId: number;
100
+ /** Effective EXPRESS class, in the same uppercase form as STEP type keys. */
101
+ type: string;
102
+ overlayCreated: boolean;
103
+ }
104
+ /**
105
+ * Iterate the entity set visible in this session. The source index is never
106
+ * mutated. Callers expand schema subtypes before passing `types` (matched
107
+ * case-insensitively against the exact class). `sourceIds` restricts source
108
+ * records to a caller's existing domain (an `EntityTable`'s rows, say) while
109
+ * still appending overlay creations. It avoids scanning unrelated STEP records.
110
+ */
111
+ export declare function iterateEffectiveEntities(source: EffectiveEntitySource, overlay: EffectiveEntityOverlay | null | undefined, types?: readonly string[], sourceIds?: Iterable<number>): IterableIterator<EffectiveEntity>;
112
+ //# sourceMappingURL=effective-entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-entities.d.ts","sourceRoot":"","sources":["../src/effective-entities.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,mEAAmE;AACnE,MAAM,WAAW,sBAAsB;IACrC,2EAA2E;IAC3E,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,8EAA8E;IAC9E,cAAc,IAAI,aAAa,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF,2EAA2E;IAC3E,gBAAgB,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,iFAAiF;IACjF,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,6GAA6G;IAC7G,YAAY,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE;;;;OAIG;IACH,oBAAoB,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtG;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,EAClD,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC3B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAuCrB;AAED,oEAAoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,EAAE;QACpB,gDAAgD;QAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;QACxD,QAAQ,CAAC,IAAI,EAAE;YAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,GAAG,SAAS,CAAA;SAAE,CAAC;KAClE,CAAC;IACF,0EAA0E;IAC1E,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACjF,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAiB,wBAAwB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,EAClD,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,EACzB,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC3B,gBAAgB,CAAC,eAAe,CAAC,CAwEnC"}
@@ -0,0 +1,145 @@
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
+ /**
5
+ * Count effective classes without walking a large source bucket for a small
6
+ * edit set. A caller-supplied source domain is counted through the canonical
7
+ * iterator instead (for example IFCX, whose STEP type index is empty).
8
+ * Source classes with no surviving records retain a zero row.
9
+ */
10
+ export function countEffectiveEntityTypes(source, overlay, sourceIds) {
11
+ // @raw-entity-enumeration-ok the canonical aggregate accessor reads parsed bucket sizes, then applies all membership and class deltas below
12
+ const byType = source.entityIndex.byType;
13
+ const counts = new Map();
14
+ const tombstones = overlay?.getTombstones?.();
15
+ const walk = !!sourceIds || !!(overlay && !tombstones);
16
+ for (const [type, ids] of byType)
17
+ counts.set(type, walk ? 0 : ids.length);
18
+ if (walk) {
19
+ for (const entity of iterateEffectiveEntities(source, overlay, undefined, sourceIds)) {
20
+ counts.set(entity.type, (counts.get(entity.type) ?? 0) + 1);
21
+ }
22
+ return counts;
23
+ }
24
+ if (!overlay)
25
+ return counts;
26
+ const retypes = overlay.getTypeMutations?.();
27
+ const created = overlay.getNewEntities();
28
+ const createdIds = new Set(created.map((entity) => entity.expressId));
29
+ const changedSourceIds = new Set([...(tombstones ?? []), ...(retypes?.keys() ?? [])]);
30
+ for (const expressId of changedSourceIds) {
31
+ if (createdIds.has(expressId))
32
+ continue;
33
+ // @raw-entity-enumeration-ok the canonical aggregate accessor reads the original source class for a sparse deletion or retype delta
34
+ const sourceType = (source.entityIndex.byId.get(expressId)
35
+ ?? source.deferredEntityIndex?.get(expressId))?.type
36
+ ?? source.entities?.getTypeName(expressId);
37
+ if (!sourceType || sourceType === 'Unknown')
38
+ continue;
39
+ const original = sourceType.toUpperCase();
40
+ if (!counts.has(original))
41
+ continue;
42
+ const next = overlay.isDeleted(expressId) ? null : retypes?.get(expressId)?.newType.toUpperCase();
43
+ if (next === original || (!next && !overlay.isDeleted(expressId)))
44
+ continue;
45
+ counts.set(original, (counts.get(original) ?? 0) - 1);
46
+ if (next)
47
+ counts.set(next, (counts.get(next) ?? 0) + 1);
48
+ }
49
+ for (const entity of created) {
50
+ if (overlay.isDeleted(entity.expressId))
51
+ continue;
52
+ const type = (retypes?.get(entity.expressId)?.newType ?? entity.type).toUpperCase();
53
+ counts.set(type, (counts.get(type) ?? 0) + 1);
54
+ }
55
+ return counts;
56
+ }
57
+ /**
58
+ * Iterate the entity set visible in this session. The source index is never
59
+ * mutated. Callers expand schema subtypes before passing `types` (matched
60
+ * case-insensitively against the exact class). `sourceIds` restricts source
61
+ * records to a caller's existing domain (an `EntityTable`'s rows, say) while
62
+ * still appending overlay creations. It avoids scanning unrelated STEP records.
63
+ */
64
+ export function* iterateEffectiveEntities(source, overlay, types, sourceIds) {
65
+ // @raw-entity-enumeration-ok the canonical accessor: the one place source type buckets are read, with the overlay applied below
66
+ const byType = source.entityIndex.byType;
67
+ const wanted = types && types.length > 0 ? new Set(types.map((type) => type.toUpperCase())) : null;
68
+ const retypes = overlay?.getTypeMutations?.();
69
+ // Created-entity membership, O(1) per id when the overlay can answer it;
70
+ // a snapshot overlay builds the set once, and only if a pass asks.
71
+ let createdIds;
72
+ const isCreated = (expressId) => {
73
+ if (!overlay)
74
+ return false;
75
+ if (overlay.getNewEntity)
76
+ return overlay.getNewEntity(expressId) != null;
77
+ createdIds ??= new Set(overlay.getNewEntities().map((entity) => entity.expressId));
78
+ return createdIds.has(expressId);
79
+ };
80
+ // Snapshot the created entities now, as a copy, so writes made while the
81
+ // caller iterates are not seen (and cannot extend this walk). One requested
82
+ // class and no retype touching a created entity: that class's bucket IS the
83
+ // answer, in the same creation order the full list gives, at O(matches).
84
+ const only = wanted?.size === 1 ? [...wanted][0] : undefined;
85
+ const byClass = only !== undefined && overlay?.getNewEntitiesOfType
86
+ && ![...(retypes?.keys() ?? [])].some(isCreated)
87
+ ? overlay.getNewEntitiesOfType(only)
88
+ : undefined;
89
+ const created = byClass ? Array.from(byClass) : overlay?.getNewEntities() ?? [];
90
+ if (sourceIds) {
91
+ for (const expressId of sourceIds) {
92
+ if (expressId === 0 || isCreated(expressId) || overlay?.isDeleted(expressId))
93
+ continue;
94
+ // @raw-entity-enumeration-ok the canonical accessor reads source class before applying queued retypes
95
+ const sourceType = (source.entityIndex.byId.get(expressId)
96
+ ?? source.deferredEntityIndex?.get(expressId))?.type
97
+ ?? source.entities?.getTypeName(expressId);
98
+ if (!sourceType || sourceType === 'Unknown')
99
+ continue;
100
+ const type = (retypes?.get(expressId)?.newType ?? sourceType).toUpperCase();
101
+ if (!wanted || wanted.has(type))
102
+ yield { expressId, type, overlayCreated: false };
103
+ }
104
+ }
105
+ else {
106
+ const buckets = wanted
107
+ ? Array.from(wanted, (type) => [type, byType.get(type) ?? []])
108
+ : byType;
109
+ for (const [sourceType, ids] of buckets) {
110
+ for (const expressId of ids) {
111
+ if (expressId === 0 || overlay?.isDeleted(expressId))
112
+ continue;
113
+ const type = (retypes?.get(expressId)?.newType ?? sourceType).toUpperCase();
114
+ if (!wanted || wanted.has(type))
115
+ yield { expressId, type, overlayCreated: false };
116
+ }
117
+ }
118
+ }
119
+ // A source record retyped INTO a requested bucket was absent from that
120
+ // bucket's parsed list. Only queued retypes need this second pass.
121
+ if (!sourceIds && wanted && retypes) {
122
+ for (const [expressId, mutation] of retypes) {
123
+ if (expressId === 0 || isCreated(expressId) || overlay?.isDeleted(expressId))
124
+ continue;
125
+ const type = mutation.newType.toUpperCase();
126
+ if (!wanted.has(type))
127
+ continue;
128
+ // @raw-entity-enumeration-ok the canonical accessor checks source bucket membership before adding retypes
129
+ const sourceType = (source.entityIndex.byId.get(expressId)
130
+ ?? source.deferredEntityIndex?.get(expressId))?.type.toUpperCase();
131
+ if (!sourceType || wanted.has(sourceType) || !(byType.get(sourceType)?.includes(expressId)))
132
+ continue;
133
+ yield { expressId, type, overlayCreated: false };
134
+ }
135
+ }
136
+ for (const entity of created) {
137
+ if (overlay?.isDeleted(entity.expressId))
138
+ continue;
139
+ const type = (retypes?.get(entity.expressId)?.newType ?? entity.type).toUpperCase();
140
+ if (!wanted || wanted.has(type)) {
141
+ yield { expressId: entity.expressId, type, overlayCreated: true };
142
+ }
143
+ }
144
+ }
145
+ //# sourceMappingURL=effective-entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effective-entities.js","sourceRoot":"","sources":["../src/effective-entities.ts"],"names":[],"mappings":"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"}
@@ -16,12 +16,8 @@ export interface EntityTable {
16
16
  containedInStorey: Int32Array;
17
17
  definedByType: Int32Array;
18
18
  geometryIndex: Int32Array;
19
- /**
20
- * Interned-string indices for raw IFC type names (used by `getTypeName`
21
- * fallback). Optional because older constructors (server-data hydration,
22
- * legacy cache reads) didn't track it; absent means the enum-only name
23
- * is the only display string available.
24
- */
19
+ /** Interned raw IFC type names, for the `getTypeName` fallback. Optional:
20
+ * absent (older cache reads, server hydration) means enum-only display. */
25
21
  rawTypeName?: Uint32Array;
26
22
  typeRanges: Map<IfcTypeEnum, {
27
23
  start: number;
@@ -29,32 +25,27 @@ export interface EntityTable {
29
25
  }>;
30
26
  getGlobalId(expressId: number): string;
31
27
  getName(expressId: number): string;
28
+ /** Like {@link getName}, but `undefined` for a genuinely ABSENT `Name`
29
+ * (STEP `$`) instead of folding it into `''`. `getName` keeps doing that
30
+ * fold — display callers want it — so selector matching (#4930) uses
31
+ * this one instead. */
32
+ getNameOrUndefined(expressId: number): string | undefined;
32
33
  getDescription(expressId: number): string;
33
34
  getObjectType(expressId: number): string;
34
35
  getTypeName(expressId: number): string;
35
- /** The class the file actually declares — what an EXPORT needs, where
36
- * {@link getTypeName} answers what GROUPING needs. `exact-type-name.ts`
37
- * documents the difference and holds the one fallback for table shapes
38
- * that cannot answer (hence optional, as with {@link rawTypeName}); read
39
- * it through `exactTypeName()`, never directly. */
36
+ /** The class the file actually declares, vs {@link getTypeName}'s GROUPING
37
+ * answer. Optional; read via `exactTypeName()` in `exact-type-name.ts`. */
40
38
  getExactTypeName?(expressId: number): string;
41
- /** Element Tag (IfcElement/IfcTypeProduct layouts), '' when absent. Optional:
42
- * populated by server-parsed stores (issue #1765); the WASM path resolves
43
- * Tag on demand from source instead. */
39
+ /** Element Tag, '' when absent. Optional: server-parsed stores only (#1765). */
44
40
  getTag?(expressId: number): string;
45
- /** PredefinedType enum token (dots stripped), '' when absent. Optional —
46
- * same server-path provenance as {@link getTag}. */
41
+ /** PredefinedType token, '' when absent. Optional, same provenance as {@link getTag}. */
47
42
  getPredefinedType?(expressId: number): string;
48
43
  hasGeometry(expressId: number): boolean;
49
44
  getByType(type: IfcTypeEnum): number[];
50
45
  /** Get IfcTypeEnum for an expressId using internal index. Returns IfcTypeEnum.Unknown if not found. */
51
46
  getTypeEnum(expressId: number): IfcTypeEnum;
52
- /**
53
- * Override the displayed class for an entity (additive — the original
54
- * columnar type is left intact). `getTypeName`/`getTypeEnum` return the
55
- * override when set, so a UI retype reflects immediately. Pass `null` to
56
- * clear. Note: this does NOT re-bucket `getByType`/`typeIndices`.
57
- */
47
+ /** Override the displayed class (additive; original columnar type intact).
48
+ * `null` clears it. Does NOT re-bucket `getByType`/`typeIndices`. */
58
49
  setTypeOverride(expressId: number, typeName: string | null): void;
59
50
  /** Get expressId by IFC GlobalId string (22-char GUID). Returns -1 if not found. */
60
51
  getExpressIdByGlobalId(globalId: string): number;
@@ -75,17 +66,11 @@ export declare class EntityTableBuilder {
75
66
  /** Raw type name string index (for fallback display of unknown types) */
76
67
  rawTypeName: Uint32Array;
77
68
  private typeStarts;
78
- /**
79
- * Last row index seen per type. `typeRanges` is a SPAN — [firstRow,
80
- * lastRow+1] — not a count: IFC streams interleave types freely, and
81
- * `start + rowCount` leaves the type's own later rows outside its range
82
- * (rows 0/2/4 of one type gave [0, 3), which excludes row 4). It matches a
83
- * span only when a type is contiguous, which is why the divergence from
84
- * `entityTableFromColumns`'s derivation stayed invisible.
85
- */
69
+ /** Last row index seen per type. `typeRanges` is a SPAN [firstRow,
70
+ * lastRow+1], not a count — IFC streams interleave types freely. */
86
71
  private typeEnds;
87
72
  constructor(capacity: number, strings: StringTable);
88
- add(expressId: number, type: string, globalId: string, name: string, description: string, objectType: string, hasGeometry?: boolean, isType?: boolean): void;
73
+ add(expressId: number, type: string, globalId: string, name: string | undefined, description: string, objectType: string, hasGeometry?: boolean, isType?: boolean): void;
89
74
  build(): EntityTable;
90
75
  }
91
76
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"entity-table.d.ts","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-table.d.ts","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"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"}
@@ -24,14 +24,8 @@ export class EntityTableBuilder {
24
24
  /** Raw type name string index (for fallback display of unknown types) */
25
25
  rawTypeName;
26
26
  typeStarts = new Map();
27
- /**
28
- * Last row index seen per type. `typeRanges` is a SPAN — [firstRow,
29
- * lastRow+1] — not a count: IFC streams interleave types freely, and
30
- * `start + rowCount` leaves the type's own later rows outside its range
31
- * (rows 0/2/4 of one type gave [0, 3), which excludes row 4). It matches a
32
- * span only when a type is contiguous, which is why the divergence from
33
- * `entityTableFromColumns`'s derivation stayed invisible.
34
- */
27
+ /** Last row index seen per type. `typeRanges` is a SPAN [firstRow,
28
+ * lastRow+1], not a count — IFC streams interleave types freely. */
35
29
  typeEnds = new Map();
36
30
  constructor(capacity, strings) {
37
31
  this.strings = strings;
@@ -173,6 +167,15 @@ export function entityTableFromColumns(columns, strings) {
173
167
  const idx = indexOfId(id);
174
168
  return idx >= 0 ? strings.get(name[idx]) : '';
175
169
  },
170
+ // `intern(undefined)` -> `NULL_INDEX` (-1), stored here as 0xFFFFFFFF —
171
+ // distinct from index 0 (`''`). `getName` folds both; this doesn't (#4930).
172
+ getNameOrUndefined: (id) => {
173
+ const idx = indexOfId(id);
174
+ if (idx < 0)
175
+ return undefined;
176
+ const raw = name[idx];
177
+ return raw === 0xffffffff ? undefined : strings.get(raw);
178
+ },
176
179
  getDescription: (id) => {
177
180
  const idx = indexOfId(id);
178
181
  return idx >= 0 ? strings.get(description[idx]) : '';
@@ -1 +1 @@
1
- {"version":3,"file":"entity-table.js","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAQ/D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,wFAAwF;AACxF,SAAS,qBAAqB,CAAC,KAAa;IAC1C,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;AAC1C,CAAC;AA8DD,MAAM,OAAO,kBAAkB;IACrB,KAAK,GAAW,CAAC,CAAC;IAClB,OAAO,CAAc;IAE7B,SAAS,CAAc;IACvB,QAAQ,CAAc;IACtB,QAAQ,CAAc;IACtB,IAAI,CAAc;IAClB,WAAW,CAAc;IACzB,UAAU,CAAc;IACxB,KAAK,CAAa;IAClB,iBAAiB,CAAa;IAC9B,aAAa,CAAa;IAC1B,aAAa,CAAa;IAC1B,yEAAyE;IACzE,WAAW,CAAc;IAEjB,UAAU,GAA6B,IAAI,GAAG,EAAE,CAAC;IACzD;;;;;;;OAOG;IACK,QAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;IAEvD,YAAY,QAAgB,EAAE,OAAoB;QAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,CACD,SAAiB,EACjB,IAAY,EACZ,QAAgB,EAChB,IAAY,EACZ,WAAmB,EACnB,UAAkB,EAClB,cAAuB,KAAK,EAC5B,SAAkB,KAAK;QAEvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAEvB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC9B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrD,uEAAuE;QACvE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,WAAW;YAAE,KAAK,IAAI,WAAW,CAAC,YAAY,CAAC;QACnD,IAAI,MAAM;YAAE,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QAEtB,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,KAAK;QACH,6BAA6B;QAC7B,MAAM,IAAI,GAAG,CAAuB,GAAM,EAAK,EAAE;YAC/C,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAM,CAAC;QAC1C,CAAC,CAAC;QAEF,oEAAoE;QACpE,0EAA0E;QAC1E,sCAAsC;QACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+C,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5C,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,sBAAsB,CAC3B;YACE,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACvB,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;YAC/C,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACvC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACvC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;YACnC,UAAU;SACX,EACD,IAAI,CAAC,OAAO,CACb,CAAC;IACJ,CAAC;CACF;AA8BD;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA2B,EAC3B,OAAoB;IAEpB,MAAM,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,UAAU,EACV,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,GACd,GAAG,OAAO,CAAC;IACZ,sEAAsE;IACtE,mEAAmE;IACnE,yDAAyD;IACzD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAElE,gEAAgE;IAChE,uEAAuE;IACvE,iDAAiD;IACjD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAgB,CAAC;QACrC,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,EAAE,CAAC;YACT,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1B,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,GAAG,EAA+C,CAAC;IAChG,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACrC,qEAAqE;QACrE,qEAAqE;QACrE,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;YAC1C,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAElE,yEAAyE;IACzE,yEAAyE;IACzE,0BAA0B;IAC1B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,SAAS,EAAE,CAAC;YACd,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,IAAI;QACJ,WAAW;QACX,UAAU;QACV,KAAK;QACL,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,WAAW;QACX,UAAU;QAEV,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE;YACd,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,CAAC;QACD,cAAc,EAAE,CAAC,EAAE,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,CAAC;QACD,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC;QACD,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;YAClB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAC5C,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,GAAG,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACpD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,QAAQ,CAAC;YAC5C,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;QACpD,CAAC;QACD,wEAAwE;QACxE,kEAAkE;QAClE,gEAAgE;QAChE,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CACvB,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACxF,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,CAAC;QACD,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,OAAO;gBAAE,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAa,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE;YAClB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC;QACvE,CAAC;QAED,eAAe,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE;YAChC,IAAI,QAAQ,KAAK,IAAI;gBAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChD,kEAAkE;YAClE,gEAAgE;YAChE,iEAAiE;YACjE,mEAAmE;YACnE,mEAAmE;YACnE,2CAA2C;;gBACtC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,qBAAqB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACrD,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;QAC9D,UAAU,EAAE,KAAK,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"entity-table.js","sourceRoot":"","sources":["../src/entity-table.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The IFC4 entity table checked against the IFC4 EXPRESS schema (#5204).
3
+ *
4
+ * `ENTITIES_IFC4` is generated from buildingSMART's C# `SchemaInfo` source,
5
+ * which files the draft alignment-extension entities (`IfcAlignment2DHorizontal`,
6
+ * `IfcLinearPlacement`, `IfcOffsetCurve`, …) under IFC4 and gives
7
+ * `IfcCartesianPointList2D`/`3D` an IFC4X3-only `TagList`. This table:
8
+ * - drops the rows that carry attributes but that IFC4 EXPRESS does not declare;
9
+ * - takes the EXPRESS attribute list, parent and abstractness where the two
10
+ * disagree (the C# table parents `IfcOffsetCurve2D` under the IFC4X3-only
11
+ * `IfcOffsetCurve`; IFC4 parents it under `IfcCurve`);
12
+ * - keeps everything else, including the attribute-less defined-type and
13
+ * select rows, which are not the EXPRESS entity registry's to confirm.
14
+ *
15
+ * The corrections are generated from `@ifc-lite/parser`'s EXPRESS-derived
16
+ * registry (`scripts/generate-ifc4-express-corrections.mjs`, `--check` in CI),
17
+ * because this package cannot import parser at runtime.
18
+ *
19
+ * Every schema-specific IFC4 reader uses this table, including this package's
20
+ * own `getEntities('IFC4')` / `findEntity('IFC4', …)`. An oxlint
21
+ * `no-restricted-imports` rule (`.oxlintrc.json`) keeps new code off the raw
22
+ * `ENTITIES_IFC4`.
23
+ */
24
+ import type { IfcEntityInfo } from './types.js';
25
+ export declare const ENTITIES_IFC4_EXPRESS: readonly IfcEntityInfo[];
26
+ //# sourceMappingURL=entities-ifc4-express.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities-ifc4-express.d.ts","sourceRoot":"","sources":["../../src/ifc-schema/entities-ifc4-express.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIhD,eAAO,MAAM,qBAAqB,EAAE,SAAS,aAAa,EAE+E,CAAC"}
@@ -0,0 +1,9 @@
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 { ENTITIES_IFC4 } from './generated/entities-ifc4.js';
5
+ import { IFC4_EXPRESS_OVERRIDES, IFC4_UNDECLARED_ENTITIES } from './ifc4-express-corrections.js';
6
+ export const ENTITIES_IFC4_EXPRESS = ENTITIES_IFC4
7
+ .filter((entity) => !IFC4_UNDECLARED_ENTITIES.has(entity.name))
8
+ .map((entity) => (Object.hasOwn(IFC4_EXPRESS_OVERRIDES, entity.name) ? { ...entity, ...IFC4_EXPRESS_OVERRIDES[entity.name] } : entity));
9
+ //# sourceMappingURL=entities-ifc4-express.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities-ifc4-express.js","sourceRoot":"","sources":["../../src/ifc-schema/entities-ifc4-express.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AA2B/D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEjG,MAAM,CAAC,MAAM,qBAAqB,GAA6B,aAAa;KACzE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC9D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Where `entities-ifc4.ts` (C# `SchemaInfo`) disagrees with the IFC4 EXPRESS
3
+ * schema (#5204). Applied by `./entities-ifc4-express.ts`.
4
+ *
5
+ * DO NOT EDIT - regenerate with
6
+ * node scripts/generate-ifc4-express-corrections.mjs
7
+ */
8
+ /** Rows with attributes that IFC4 EXPRESS does not declare: dropped. */
9
+ export declare const IFC4_UNDECLARED_ENTITIES: ReadonlySet<string>;
10
+ /** Declared rows whose attributes, parent or abstractness differ from EXPRESS. */
11
+ export declare const IFC4_EXPRESS_OVERRIDES: Readonly<Record<string, {
12
+ readonly attributes?: readonly string[];
13
+ readonly parent?: string;
14
+ readonly abstract?: boolean;
15
+ }>>;
16
+ //# sourceMappingURL=ifc4-express-corrections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifc4-express-corrections.d.ts","sourceRoot":"","sources":["../../src/ifc-schema/ifc4-express-corrections.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AAEH,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CA0BvD,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;IAC3D,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC,CAKD,CAAC"}
@@ -0,0 +1,46 @@
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
+ /**
5
+ * Where `entities-ifc4.ts` (C# `SchemaInfo`) disagrees with the IFC4 EXPRESS
6
+ * schema (#5204). Applied by `./entities-ifc4-express.ts`.
7
+ *
8
+ * DO NOT EDIT - regenerate with
9
+ * node scripts/generate-ifc4-express-corrections.mjs
10
+ */
11
+ /** Rows with attributes that IFC4 EXPRESS does not declare: dropped. */
12
+ export const IFC4_UNDECLARED_ENTITIES = new Set([
13
+ 'IfcAlignment',
14
+ 'IfcAlignment2DHorizontal',
15
+ 'IfcAlignment2DHorizontalSegment',
16
+ 'IfcAlignment2DSegment',
17
+ 'IfcAlignment2DVerSegCircularArc',
18
+ 'IfcAlignment2DVerSegLine',
19
+ 'IfcAlignment2DVerSegParabolicArc',
20
+ 'IfcAlignment2DVertical',
21
+ 'IfcAlignment2DVerticalSegment',
22
+ 'IfcAlignmentCurve',
23
+ 'IfcCircularArcSegment2D',
24
+ 'IfcCurveSegment2D',
25
+ 'IfcDistanceExpression',
26
+ 'IfcLineSegment2D',
27
+ 'IfcLinearPlacement',
28
+ 'IfcLinearPositioningElement',
29
+ 'IfcOffsetCurve',
30
+ 'IfcOffsetCurveByDistances',
31
+ 'IfcOrientationExpression',
32
+ 'IfcPositioningElement',
33
+ 'IfcReferent',
34
+ 'IfcSectionedSolid',
35
+ 'IfcSectionedSolidHorizontal',
36
+ 'IfcTransitionCurveSegment2D',
37
+ 'IfcTriangulatedIrregularNetwork',
38
+ ]);
39
+ /** Declared rows whose attributes, parent or abstractness differ from EXPRESS. */
40
+ export const IFC4_EXPRESS_OVERRIDES = {
41
+ IfcCartesianPointList2D: { attributes: ['CoordList'] },
42
+ IfcCartesianPointList3D: { attributes: ['CoordList'] },
43
+ IfcOffsetCurve2D: { parent: 'IfcCurve' },
44
+ IfcOffsetCurve3D: { parent: 'IfcCurve' },
45
+ };
46
+ //# sourceMappingURL=ifc4-express-corrections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ifc4-express-corrections.js","sourceRoot":"","sources":["../../src/ifc-schema/ifc4-express-corrections.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;GAMG;AAEH,wEAAwE;AACxE,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,cAAc;IACd,0BAA0B;IAC1B,iCAAiC;IACjC,uBAAuB;IACvB,iCAAiC;IACjC,0BAA0B;IAC1B,kCAAkC;IAClC,wBAAwB;IACxB,+BAA+B;IAC/B,mBAAmB;IACnB,yBAAyB;IACzB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,6BAA6B;IAC7B,gBAAgB;IAChB,2BAA2B;IAC3B,0BAA0B;IAC1B,uBAAuB;IACvB,aAAa;IACb,mBAAmB;IACnB,6BAA6B;IAC7B,6BAA6B;IAC7B,iCAAiC;CAClC,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAI7B;IACJ,uBAAuB,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;IACtD,uBAAuB,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE;IACtD,gBAAgB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;IACxC,gBAAgB,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;CACzC,CAAC"}
@@ -15,7 +15,7 @@
15
15
  import { ATTRIBUTES_IFC2X3, ATTRIBUTES_IFC4, ATTRIBUTES_IFC4X3, } from './generated/attributes.js';
16
16
  import { IFC_DATA_TYPES } from './generated/data-types.js';
17
17
  import { ENTITIES_IFC2X3 } from './generated/entities-ifc2x3.js';
18
- import { ENTITIES_IFC4 } from './generated/entities-ifc4.js';
18
+ import { ENTITIES_IFC4_EXPRESS } from './entities-ifc4-express.js';
19
19
  import { ENTITIES_IFC4X3 } from './generated/entities-ifc4x3.js';
20
20
  import { PART_OF_RELATIONS_IFC2X3, PART_OF_RELATIONS_IFC4, PART_OF_RELATIONS_IFC4X3, } from './generated/partof-relations.js';
21
21
  import { PROPERTY_SETS_IFC2X3 } from './generated/psets-ifc2x3.js';
@@ -39,7 +39,7 @@ export const RESERVED_PSET_PREFIXES = ['Pset_', 'Qto_'];
39
39
  // same map `getEntities` does.
40
40
  export const ENTITIES_BY_VERSION = {
41
41
  IFC2X3: ENTITIES_IFC2X3,
42
- IFC4: ENTITIES_IFC4,
42
+ IFC4: ENTITIES_IFC4_EXPRESS, // checked against IFC4 EXPRESS (#5204)
43
43
  IFC4X3: ENTITIES_IFC4X3,
44
44
  // IFC4X3_ADD2 is the addendum-2 release of IFC4X3 — same entity list
45
45
  // for authoring purposes.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ifc-schema/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ifc-schema/index.ts"],"names":[],"mappings":"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"}