@ifc-lite/export 3.0.1 → 4.0.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 (163) hide show
  1. package/README.md +37 -1
  2. package/dist/anonymize-export.d.ts +60 -0
  3. package/dist/anonymize-export.d.ts.map +1 -0
  4. package/dist/anonymize-export.js +217 -0
  5. package/dist/anonymize-export.js.map +1 -0
  6. package/dist/anonymize-placement.d.ts +71 -0
  7. package/dist/anonymize-placement.d.ts.map +1 -0
  8. package/dist/anonymize-placement.js +266 -0
  9. package/dist/anonymize-placement.js.map +1 -0
  10. package/dist/anonymize-scrub.d.ts +64 -0
  11. package/dist/anonymize-scrub.d.ts.map +1 -0
  12. package/dist/anonymize-scrub.js +315 -0
  13. package/dist/anonymize-scrub.js.map +1 -0
  14. package/dist/anonymize-types.d.ts +235 -0
  15. package/dist/anonymize-types.d.ts.map +1 -0
  16. package/dist/anonymize-types.js +5 -0
  17. package/dist/anonymize-types.js.map +1 -0
  18. package/dist/declared-property-type.d.ts +15 -0
  19. package/dist/declared-property-type.d.ts.map +1 -1
  20. package/dist/declared-property-type.js +43 -0
  21. package/dist/declared-property-type.js.map +1 -1
  22. package/dist/entity-type-sets.d.ts +47 -0
  23. package/dist/entity-type-sets.d.ts.map +1 -0
  24. package/dist/entity-type-sets.js +91 -0
  25. package/dist/entity-type-sets.js.map +1 -0
  26. package/dist/georef-closure.d.ts +55 -0
  27. package/dist/georef-closure.d.ts.map +1 -0
  28. package/dist/georef-closure.js +95 -0
  29. package/dist/georef-closure.js.map +1 -0
  30. package/dist/glb.d.ts.map +1 -1
  31. package/dist/glb.js +26 -2
  32. package/dist/glb.js.map +1 -1
  33. package/dist/ifc5-classification.d.ts +36 -0
  34. package/dist/ifc5-classification.d.ts.map +1 -0
  35. package/dist/ifc5-classification.js +46 -0
  36. package/dist/ifc5-classification.js.map +1 -0
  37. package/dist/ifc5-export-helpers.d.ts +32 -0
  38. package/dist/ifc5-export-helpers.d.ts.map +1 -0
  39. package/dist/ifc5-export-helpers.js +84 -0
  40. package/dist/ifc5-export-helpers.js.map +1 -0
  41. package/dist/ifc5-exporter.d.ts.map +1 -1
  42. package/dist/ifc5-exporter.js +14 -86
  43. package/dist/ifc5-exporter.js.map +1 -1
  44. package/dist/ifc5-material.d.ts +38 -0
  45. package/dist/ifc5-material.d.ts.map +1 -0
  46. package/dist/ifc5-material.js +32 -0
  47. package/dist/ifc5-material.js.map +1 -0
  48. package/dist/index.d.ts +5 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +7 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/merged-context.d.ts +100 -0
  53. package/dist/merged-context.d.ts.map +1 -0
  54. package/dist/merged-context.js +211 -0
  55. package/dist/merged-context.js.map +1 -0
  56. package/dist/merged-empty-containers.d.ts +63 -0
  57. package/dist/merged-empty-containers.d.ts.map +1 -0
  58. package/dist/merged-empty-containers.js +354 -0
  59. package/dist/merged-empty-containers.js.map +1 -0
  60. package/dist/merged-exporter.d.ts +28 -67
  61. package/dist/merged-exporter.d.ts.map +1 -1
  62. package/dist/merged-exporter.js +134 -258
  63. package/dist/merged-exporter.js.map +1 -1
  64. package/dist/merged-guid.d.ts +48 -0
  65. package/dist/merged-guid.d.ts.map +1 -0
  66. package/dist/merged-guid.js +128 -0
  67. package/dist/merged-guid.js.map +1 -0
  68. package/dist/merged-rel-aggregates.d.ts +63 -0
  69. package/dist/merged-rel-aggregates.d.ts.map +1 -0
  70. package/dist/merged-rel-aggregates.js +122 -0
  71. package/dist/merged-rel-aggregates.js.map +1 -0
  72. package/dist/merged-remap.d.ts +18 -0
  73. package/dist/merged-remap.d.ts.map +1 -0
  74. package/dist/merged-remap.js +66 -0
  75. package/dist/merged-remap.js.map +1 -0
  76. package/dist/merged-subcontext.d.ts +41 -0
  77. package/dist/merged-subcontext.d.ts.map +1 -0
  78. package/dist/merged-subcontext.js +99 -0
  79. package/dist/merged-subcontext.js.map +1 -0
  80. package/dist/parquet-exporter-ondemand.d.ts +34 -0
  81. package/dist/parquet-exporter-ondemand.d.ts.map +1 -0
  82. package/dist/parquet-exporter-ondemand.js +89 -0
  83. package/dist/parquet-exporter-ondemand.js.map +1 -0
  84. package/dist/parquet-exporter.d.ts +1 -29
  85. package/dist/parquet-exporter.d.ts.map +1 -1
  86. package/dist/parquet-exporter.js +68 -90
  87. package/dist/parquet-exporter.js.map +1 -1
  88. package/dist/parquet-type-strings.d.ts +11 -0
  89. package/dist/parquet-type-strings.d.ts.map +1 -0
  90. package/dist/parquet-type-strings.js +40 -0
  91. package/dist/parquet-type-strings.js.map +1 -0
  92. package/dist/parquet-uint32-columns.d.ts +30 -0
  93. package/dist/parquet-uint32-columns.d.ts.map +1 -0
  94. package/dist/parquet-uint32-columns.js +38 -0
  95. package/dist/parquet-uint32-columns.js.map +1 -0
  96. package/dist/reference-collector.d.ts +47 -51
  97. package/dist/reference-collector.d.ts.map +1 -1
  98. package/dist/reference-collector.js +115 -171
  99. package/dist/reference-collector.js.map +1 -1
  100. package/dist/related-entities.d.ts +10 -0
  101. package/dist/related-entities.d.ts.map +1 -0
  102. package/dist/related-entities.js +274 -0
  103. package/dist/related-entities.js.map +1 -0
  104. package/dist/schema-converter-attr-remap.d.ts +53 -0
  105. package/dist/schema-converter-attr-remap.d.ts.map +1 -0
  106. package/dist/schema-converter-attr-remap.js +106 -0
  107. package/dist/schema-converter-attr-remap.js.map +1 -0
  108. package/dist/schema-converter.d.ts.map +1 -1
  109. package/dist/schema-converter.js +24 -1
  110. package/dist/schema-converter.js.map +1 -1
  111. package/dist/schema-untranslatable.d.ts +35 -0
  112. package/dist/schema-untranslatable.d.ts.map +1 -0
  113. package/dist/schema-untranslatable.js +60 -0
  114. package/dist/schema-untranslatable.js.map +1 -0
  115. package/dist/step-argument-parser.d.ts.map +1 -1
  116. package/dist/step-argument-parser.js +11 -1
  117. package/dist/step-argument-parser.js.map +1 -1
  118. package/dist/step-attribute-mutations.js +14 -11
  119. package/dist/step-attribute-mutations.js.map +1 -1
  120. package/dist/step-collection.d.ts.map +1 -1
  121. package/dist/step-collection.js +51 -8
  122. package/dist/step-collection.js.map +1 -1
  123. package/dist/step-export-types.d.ts +42 -0
  124. package/dist/step-export-types.d.ts.map +1 -1
  125. package/dist/step-export-types.js +10 -0
  126. package/dist/step-export-types.js.map +1 -1
  127. package/dist/step-exporter.d.ts.map +1 -1
  128. package/dist/step-exporter.js +9 -1
  129. package/dist/step-exporter.js.map +1 -1
  130. package/dist/step-header.d.ts +1 -1
  131. package/dist/step-header.d.ts.map +1 -1
  132. package/dist/step-header.js +2 -2
  133. package/dist/step-header.js.map +1 -1
  134. package/dist/step-map-unit.d.ts +2 -1
  135. package/dist/step-map-unit.d.ts.map +1 -1
  136. package/dist/step-map-unit.js.map +1 -1
  137. package/dist/step-serialization.d.ts +10 -30
  138. package/dist/step-serialization.d.ts.map +1 -1
  139. package/dist/step-serialization.js +10 -60
  140. package/dist/step-serialization.js.map +1 -1
  141. package/dist/step-source-iteration.d.ts.map +1 -1
  142. package/dist/step-source-iteration.js +21 -0
  143. package/dist/step-source-iteration.js.map +1 -1
  144. package/dist/style-closure.d.ts +91 -0
  145. package/dist/style-closure.d.ts.map +1 -0
  146. package/dist/style-closure.js +164 -0
  147. package/dist/style-closure.js.map +1 -0
  148. package/dist/subset-entity-reader.d.ts +104 -0
  149. package/dist/subset-entity-reader.d.ts.map +1 -0
  150. package/dist/subset-entity-reader.js +112 -0
  151. package/dist/subset-entity-reader.js.map +1 -0
  152. package/dist/subset-roots.d.ts +74 -0
  153. package/dist/subset-roots.d.ts.map +1 -0
  154. package/dist/subset-roots.js +168 -0
  155. package/dist/subset-roots.js.map +1 -0
  156. package/dist/type-owned-psets.d.ts +19 -0
  157. package/dist/type-owned-psets.d.ts.map +1 -1
  158. package/dist/type-owned-psets.js +31 -0
  159. package/dist/type-owned-psets.js.map +1 -1
  160. package/dist/unit-normalize.d.ts.map +1 -1
  161. package/dist/unit-normalize.js +10 -2
  162. package/dist/unit-normalize.js.map +1 -1
  163. package/package.json +8 -8
@@ -1,9 +1,29 @@
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 { asSourceBytes } from '@ifc-lite/parser';
5
- import { ENTITIES_IFC2X3, ENTITIES_IFC4, ENTITIES_IFC4X3, } from '@ifc-lite/data';
4
+ import { asSourceBytes, STEP_TRIVIA } from '@ifc-lite/parser';
6
5
  import { splitTopLevelArgs } from './step-argument-parser.js';
6
+ // Schema-derived type-set machinery (INFRASTRUCTURE_TYPES, PRODUCT_TYPES,
7
+ // collectDescendantNames) lives in `entity-type-sets.ts` — shared with
8
+ // `subset-roots.ts`, which derives IFC_ROOT_TYPES the same way. Re-exported
9
+ // below so every existing `from './reference-collector.js'` import keeps
10
+ // working unchanged.
11
+ import { INFRASTRUCTURE_TYPES, PRODUCT_TYPES, collectDescendantNames } from './entity-type-sets.js';
12
+ export { INFRASTRUCTURE_TYPES, PRODUCT_TYPES, collectDescendantNames };
13
+ /**
14
+ * `#N=TYPE(...)` record split into prefix/type/args/suffix, with STEP trivia
15
+ * (whitespace and/or a `/* ... *​/` comment, #3789) tolerated between the
16
+ * type name and `(` — same adjacency fix as `entity-extractor.ts`'s
17
+ * `extractEntity`. Shared by both line rewriters below.
18
+ *
19
+ * Groups: 1=prefix, 2=type, 3=args, 4=suffix. The type needs its OWN capture
20
+ * because slicing it back out of the prefix only worked while nothing could
21
+ * sit between it and `(`: a commented record yielded the type
22
+ * `IFCRELCONNECTSSTRUCTURALMEMBER/* c *​/`, matching no {@link
23
+ * isOptionalTrailingRef} entry, so its omitted trailing ref dropped the WHOLE
24
+ * line instead of becoming `$`. `.trim()` hides the whitespace-only form.
25
+ */
26
+ const RECORD_PREFIX_RE = new RegExp(`^(#\\d+\\s*=\\s*(\\w+)${STEP_TRIVIA}\\()([\\s\\S]*)(\\)\\s*;)\\s*$`);
7
27
  /**
8
28
  * UTF-8 decode of `[start, end)` of the source. Mirrors `step-exporter.ts` /
9
29
  * `merged-exporter.ts`'s local `decodeRange` (SAB-safe via the accessor);
@@ -19,24 +39,6 @@ const HASH = 0x23; // '#'
19
39
  const ZERO = 0x30; // '0'
20
40
  const NINE = 0x39; // '9'
21
41
  const QUOTE = 0x27; // "'"
22
- /** Entity types that form the shared file infrastructure and must always be included. */
23
- const INFRASTRUCTURE_TYPES = new Set([
24
- 'IFCOWNERHISTORY',
25
- 'IFCAPPLICATION',
26
- 'IFCPERSON',
27
- 'IFCORGANIZATION',
28
- 'IFCPERSONANDORGANIZATION',
29
- 'IFCUNITASSIGNMENT',
30
- 'IFCSIUNIT',
31
- 'IFCDERIVEDUNIT',
32
- 'IFCDERIVEDUNITELEMENT',
33
- 'IFCCONVERSIONBASEDUNIT',
34
- 'IFCMEASUREWITHUNIT',
35
- 'IFCDIMENSIONALEXPONENTS',
36
- 'IFCMONETARYUNIT',
37
- 'IFCGEOMETRICREPRESENTATIONCONTEXT',
38
- 'IFCGEOMETRICREPRESENTATIONSUBCONTEXT',
39
- ]);
40
42
  /**
41
43
  * Spatial structure entity types — always included as roots.
42
44
  * Covers IFC4 and IFC4X3 (bridges, roads, railways, marine facilities).
@@ -57,53 +59,6 @@ const SPATIAL_STRUCTURE_TYPES = new Set([
57
59
  'IFCSPATIALELEMENT', 'IFCSPATIALSTRUCTUREELEMENT', 'IFCSPATIALZONE',
58
60
  'IFCEXTERNALSPATIALELEMENT', 'IFCEXTERNALSPATIALSTRUCTUREELEMENT',
59
61
  ]);
60
- /**
61
- * Every IfcProduct subtype in every schema this package can export, derived
62
- * from `@ifc-lite/data`'s generated entity tables rather than hand-listed.
63
- *
64
- * A product type missing from this set is not classified as a product, so under
65
- * `visibleOnly` it never becomes a root: the element — and the geometry only it
66
- * references — is silently absent from the exported file even though the user
67
- * never hid it. The hand-written predecessor was derived from IFC4 + IFC4X3
68
- * alone and therefore dropped every IFC2X3-only product
69
- * (`IfcElectricDistributionPoint`, `IfcElectricalElement`,
70
- * `IfcEquipmentElement`, the edge features, the varying structural actions)
71
- * from a visible-only export of a legacy model.
72
- *
73
- * Deriving it means a schema-table regeneration cannot leave this classifier
74
- * behind. Spatial structure and infrastructure are matched before this set, so
75
- * its overlap with `SPATIAL_STRUCTURE_TYPES` is harmless. The `hiddenIds`
76
- * fallback below still catches types no bundled schema declares.
77
- */
78
- /** Exported for the drift test that diffs it against the schema tables. */
79
- export const PRODUCT_TYPES = buildProductTypes();
80
- function buildProductTypes() {
81
- const products = new Set();
82
- for (const table of [ENTITIES_IFC2X3, ENTITIES_IFC4, ENTITIES_IFC4X3]) {
83
- collectProductNames(table, products);
84
- }
85
- return products;
86
- }
87
- /** Add the upper-cased name of every `IfcProduct` descendant declared in `table`. */
88
- function collectProductNames(table, out) {
89
- const parentOf = new Map();
90
- for (const entity of table)
91
- parentOf.set(entity.name, entity.parent);
92
- for (const entity of table) {
93
- // The walk starts at the parent, so `IfcProduct` itself — abstract, and
94
- // never instantiated — is not added, while every descendant is.
95
- let cursor = parentOf.get(entity.name) ?? null;
96
- // Depth-bounded so a malformed table cannot spin here; the deepest IFC
97
- // inheritance chain is far under this bound.
98
- for (let depth = 0; cursor !== null && depth < 64; depth++) {
99
- if (cursor === 'IfcProduct') {
100
- out.add(entity.name.toUpperCase());
101
- break;
102
- }
103
- cursor = parentOf.get(cursor) ?? null;
104
- }
105
- }
106
- }
107
62
  // ---------------------------------------------------------------------------
108
63
  // Byte-level #ID reference extraction
109
64
  // ---------------------------------------------------------------------------
@@ -393,7 +348,8 @@ export function collectReferencedEntityIds(rootIds, source, entityIndex, exclude
393
348
  // at all). Gated on the cheap `hasSourceMutation` check so an entity
394
349
  // with nothing queued — the overwhelming majority — still takes the
395
350
  // plain byte scan below with no decode/parse cost.
396
- const generalGroups = relationshipRefGroupsFromSourceLine(entityIndex, entityId, decodeRange(src, ref.byteOffset, ref.byteOffset + ref.byteLength));
351
+ const decodedLine = decodeRange(src, ref.byteOffset, ref.byteOffset + ref.byteLength);
352
+ const generalGroups = relationshipRefGroupsFromSourceLine(entityIndex, entityId, decodedLine);
397
353
  for (const group of generalGroups) {
398
354
  if (Array.isArray(group))
399
355
  refs.push(...group);
@@ -412,8 +368,50 @@ export function collectReferencedEntityIds(rootIds, source, entityIndex, exclude
412
368
  // union can only ADD ids already missed by the positional parse — the
413
369
  // walk de-dupes via `visited`, so re-adding an id the parse already
414
370
  // found costs nothing beyond the duplicate push.
371
+ //
372
+ // BUT the scan reads the entity's ORIGINAL, pre-override bytes — it has
373
+ // no notion that a queued positional/named-attribute mutation REPLACED
374
+ // one parsed slot's value. Left unguarded, that resurrects the exact id
375
+ // an override retargeted AWAY from (e.g. `anonymize-placement.ts`
376
+ // repointing `IfcLocalPlacement.RelativePlacement` off the original,
377
+ // real-coordinate axis onto a freshly cloned zeroed one): the old axis
378
+ // id is absent from `generalGroups` (correctly superseded) but the raw
379
+ // scan still finds `#<oldAxis>` sitting right there in the unmutated
380
+ // bytes and pushes it straight back in, so the un-anonymized axis and
381
+ // its `IfcCartesianPoint` survive in the export, orphaned but present
382
+ // with the real coordinate in plaintext (blocker found in review: the
383
+ // two predicates — "was this slot overridden" and "is this id still
384
+ // referenced" — disagreed again, the same defect class as #2637).
385
+ //
386
+ // Fix: an id only belongs in `removedByOverride` when it was captured
387
+ // at a slot `extractRelationshipRefGroupsIndexed` COULD parse (i.e. it
388
+ // is present in `originalGroups`) and the effective, post-override
389
+ // answer (`generalGroups`, already flattened into `refs` above) no
390
+ // longer contains it. A doubly-nested-list ref was never parseable in
391
+ // the first place — its slot yields `undefined` in `originalGroups` —
392
+ // so it can never land in this set and the union still rescues it,
393
+ // exactly as before. An id genuinely still referenced from some OTHER,
394
+ // un-overridden slot of the same entity stays out of this set too
395
+ // (set membership, not per-slot bookkeeping), so it is never wrongly
396
+ // dropped.
397
+ const originalGroups = extractRelationshipRefGroupsIndexed(decodedLine);
398
+ const effectiveFlat = new Set(refs);
399
+ const removedByOverride = new Set();
400
+ for (const group of originalGroups) {
401
+ if (group === undefined)
402
+ continue;
403
+ for (const id of Array.isArray(group) ? group : [group]) {
404
+ if (!effectiveFlat.has(id))
405
+ removedByOverride.add(id);
406
+ }
407
+ }
415
408
  const mutatedSpan = src.slice(ref.byteOffset, ref.byteOffset + ref.byteLength);
416
- extractRefsFromBytes(mutatedSpan, 0, mutatedSpan.length, refs);
409
+ const scanned = [];
410
+ extractRefsFromBytes(mutatedSpan, 0, mutatedSpan.length, scanned);
411
+ for (const id of scanned) {
412
+ if (!removedByOverride.has(id))
413
+ refs.push(id);
414
+ }
417
415
  }
418
416
  else {
419
417
  // Hand the byte scanner an already-narrowed record. `slice` is a
@@ -484,12 +482,12 @@ export function collectReferencedEntityIds(rootIds, source, entityIndex, exclude
484
482
  * path with no `visibleOnly` involved at all.
485
483
  */
486
484
  export function filterHiddenRefsFromRelationshipLine(line, isExcluded) {
487
- const match = line.match(/^(#\d+\s*=\s*\w+\()([\s\S]*)(\)\s*;)\s*$/);
485
+ const match = line.match(RECORD_PREFIX_RE);
488
486
  if (!match)
489
487
  return line;
490
- const [, prefix, argsText, suffix] = match;
488
+ const [, prefix, typeName, argsText, suffix] = match;
491
489
  const attrs = splitTopLevelArgs(argsText);
492
- const entityType = prefix.slice(prefix.indexOf('=') + 1, -1).trim().toUpperCase();
490
+ const entityType = typeName.toUpperCase();
493
491
  let changed = false;
494
492
  const nextAttrs = [];
495
493
  for (let index = 0; index < attrs.length; index++) {
@@ -625,32 +623,47 @@ export function relationshipRefsSurviveExclusion(refGroups, isExcluded) {
625
623
  * #2637: this used to collapse a mixed list to "every remaining id
626
624
  * excluded" and block on it).
627
625
  */
626
+ /**
627
+ * Classify ONE already-split top-level STEP argument token as a
628
+ * `relationshipRefsSurviveExclusion` group: a parenthesised SET/LIST becomes
629
+ * a `number[]` of the `#N` members it holds (or `undefined` when it mixes in
630
+ * a non-reference item — see {@link extractRelationshipRefGroupsIndexed}'s
631
+ * doc for why a mixed list can never be the reason a line is withheld), a
632
+ * bare `#N` becomes that `number`, and anything else (`$`, a literal, an
633
+ * enum token) becomes `undefined`.
634
+ *
635
+ * Factored out of {@link extractRelationshipRefGroupsIndexed} so a caller
636
+ * that already has an entity's arguments split (`subset-entity-reader.ts`'s
637
+ * `readEntityArgs`, used by `anonymize-export.ts` to pre-prune an
638
+ * unresolvable relationship ahead of the closure walk) can classify each one
639
+ * without re-deriving this same char-by-char grouping rule a second time —
640
+ * exactly the class of duplicated STEP-line parsing this module's own
641
+ * comments (#2637) call out as a defect source.
642
+ */
643
+ export function refGroupFromArg(attr) {
644
+ if (attr.length >= 2 && attr.charCodeAt(0) === 0x28 /* '(' */ && attr.charCodeAt(attr.length - 1) === 0x29 /* ')' */) {
645
+ const inner = attr.slice(1, -1);
646
+ const items = inner.trim() === '' ? [] : splitTopLevelArgs(inner);
647
+ const ids = [];
648
+ let hasNonRefItem = false;
649
+ for (const item of items) {
650
+ const refMatch = item.match(/^#(\d+)$/);
651
+ if (refMatch)
652
+ ids.push(Number(refMatch[1]));
653
+ else
654
+ hasNonRefItem = true;
655
+ }
656
+ return hasNonRefItem ? undefined : ids;
657
+ }
658
+ const refMatch = attr.match(/^#(\d+)$/);
659
+ return refMatch ? Number(refMatch[1]) : undefined;
660
+ }
628
661
  function extractRelationshipRefGroupsIndexed(line) {
629
- const match = line.match(/^(#\d+\s*=\s*\w+\()([\s\S]*)(\)\s*;)\s*$/);
662
+ const match = line.match(RECORD_PREFIX_RE);
630
663
  if (!match)
631
664
  return [];
632
- const attrs = splitTopLevelArgs(match[2]);
633
- const groups = [];
634
- for (const attr of attrs) {
635
- if (attr.length >= 2 && attr.charCodeAt(0) === 0x28 /* '(' */ && attr.charCodeAt(attr.length - 1) === 0x29 /* ')' */) {
636
- const inner = attr.slice(1, -1);
637
- const items = inner.trim() === '' ? [] : splitTopLevelArgs(inner);
638
- const ids = [];
639
- let hasNonRefItem = false;
640
- for (const item of items) {
641
- const refMatch = item.match(/^#(\d+)$/);
642
- if (refMatch)
643
- ids.push(Number(refMatch[1]));
644
- else
645
- hasNonRefItem = true;
646
- }
647
- groups.push(hasNonRefItem ? undefined : ids);
648
- continue;
649
- }
650
- const refMatch = attr.match(/^#(\d+)$/);
651
- groups.push(refMatch ? Number(refMatch[1]) : undefined);
652
- }
653
- return groups;
665
+ const attrs = splitTopLevelArgs(match[3]);
666
+ return attrs.map(refGroupFromArg);
654
667
  }
655
668
  /**
656
669
  * Parse `line` into the position-aligned shape, then — when `entityIndex` can
@@ -848,81 +861,12 @@ function propagateOpeningExclusions(dataStore, roots, hiddenProductIds, index) {
848
861
  }
849
862
  }
850
863
  // ---------------------------------------------------------------------------
851
- // Style entity collection (reverse pass)
864
+ // Style / layer entity collection (reverse pass) — moved to style-closure.ts
852
865
  // ---------------------------------------------------------------------------
853
- /**
854
- * Collect style entities (IFCSTYLEDITEM, etc.) that reference geometry already
855
- * in the closure, then transitively follow their style references.
856
- *
857
- * In IFC STEP, IFCSTYLEDITEM references a geometry RepresentationItem, but
858
- * nothing references the StyledItem back. So the forward closure walk misses
859
- * them entirely. This function does a reverse pass using the byType index:
860
- * for each styled item, check if any referenced ID is in the closure. If yes,
861
- * add the styled item and walk its style chain into the closure.
862
- *
863
- * Uses byType for O(styledItems) instead of O(allEntities), and byte-level
864
- * scanning for #ID extraction.
865
- *
866
- * Must be called AFTER collectReferencedEntityIds so the closure is complete.
867
- *
868
- * @param closure - The existing closure set (mutated in place)
869
- * @param source - The original STEP file source buffer
870
- * @param entityIndex - Full entity index with type info and byType lookup
871
- */
872
- export function collectStyleEntities(closure, source, entityIndex) {
873
- const src = asSourceBytes(source);
874
- const queue = [];
875
- const refs = [];
876
- const refsInto = (expressId, ref) => {
877
- refs.length = 0;
878
- const authored = entityIndex.byId.refsOf?.(expressId);
879
- if (authored)
880
- refs.push(...authored);
881
- else {
882
- const span = src.slice(ref.byteOffset, ref.byteOffset + ref.byteLength);
883
- extractRefsFromBytes(span, 0, span.length, refs);
884
- }
885
- };
886
- // Use byType index for direct lookup — O(styledItems) not O(allEntities)
887
- const styledItemIds = entityIndex.byType.get('IFCSTYLEDITEM') ?? [];
888
- const styledRepIds = entityIndex.byType.get('IFCSTYLEDREPRESENTATION') ?? [];
889
- for (const ids of [styledItemIds, styledRepIds]) {
890
- for (const expressId of ids) {
891
- if (closure.has(expressId))
892
- continue;
893
- const entityRef = entityIndex.byId.get(expressId);
894
- if (!entityRef)
895
- continue;
896
- // Check if any referenced ID is in the closure
897
- refsInto(expressId, entityRef);
898
- let referencesClosureEntity = false;
899
- for (let i = 0; i < refs.length; i++) {
900
- if (closure.has(refs[i])) {
901
- referencesClosureEntity = true;
902
- break;
903
- }
904
- }
905
- if (referencesClosureEntity) {
906
- closure.add(expressId);
907
- queue.push(expressId);
908
- }
909
- }
910
- }
911
- // Walk forward from newly added style entities to pull in their style chain
912
- // (IfcPresentationStyleAssignment → IfcSurfaceStyle → IfcSurfaceStyleRendering → IfcColourRgb)
913
- while (queue.length > 0) {
914
- const entityId = queue.pop();
915
- const ref = entityIndex.byId.get(entityId);
916
- if (!ref)
917
- continue;
918
- refsInto(entityId, ref);
919
- for (let i = 0; i < refs.length; i++) {
920
- const referencedId = refs[i];
921
- if (!closure.has(referencedId) && entityIndex.byId.has(referencedId)) {
922
- closure.add(referencedId);
923
- queue.push(referencedId);
924
- }
925
- }
926
- }
927
- }
866
+ // `collectStyleEntities` (IFCSTYLEDITEM / IFCSTYLEDREPRESENTATION /
867
+ // IFCPRESENTATIONLAYERASSIGNMENT / IFCPRESENTATIONLAYERWITHSTYLE rescue) now
868
+ // lives in `style-closure.ts`, split out for the same reason
869
+ // `collectGeoreferencingEntities` was: this file was already at its module
870
+ // size budget. It still uses `collectRefsInByteRange` (above) for its byte
871
+ // scan.
928
872
  //# sourceMappingURL=reference-collector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reference-collector.js","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-collector.js","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { IfcDataStore } from '@ifc-lite/parser';
2
+ import type { RelatedEntities, RelatedEntityOptions } from './anonymize-types.js';
3
+ /**
4
+ * Expand a caller-picked seed selection into the related entities a bug
5
+ * reproduction needs, per `options` (unset fields default to the value
6
+ * documented on `RelatedEntityOptions`). See the module doc for the
7
+ * termination guarantees.
8
+ */
9
+ export declare function collectRelatedEntities(store: IfcDataStore, seeds: Iterable<number>, options?: RelatedEntityOptions): RelatedEntities;
10
+ //# sourceMappingURL=related-entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-entities.d.ts","sourceRoot":"","sources":["../src/related-entities.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAsB,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAuEtG;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,OAAO,GAAE,oBAAyB,GACjC,eAAe,CA2MjB"}