@ifc-lite/export 2.9.1 → 2.9.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"merged-exporter.js","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merged-exporter.js","sourceRoot":"","sources":["../src/merged-exporter.ts"],"names":[],"mappings":"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"}
@@ -46,19 +46,53 @@ export declare function collectRefsInByteRange(source: Uint8Array | IfcSourceByt
46
46
  * list rather than in the source buffer — without that hook the walk stops
47
47
  * dead at a created entity and everything reachable only through it is
48
48
  * silently dropped from the export (#2012).
49
- * @param excludeIds - Entity IDs to NEVER follow during the walk.
49
+ * @param excludeIds - Entity IDs to NEVER follow during the walk. Also gates
50
+ * whether an `IFCREL*` entity may act as a BRIDGE into what it references:
51
+ * when every id it names would be filtered out by
52
+ * {@link filterHiddenRefsFromRelationshipLine} (same predicate — the
53
+ * relationship's own line would be withheld entirely), the walk does not
54
+ * follow ANY of its references. Without this, a relationship whose sole
55
+ * subject is excluded still pulled its pset/material/type/classification
56
+ * target into the closure — those are never themselves in `excludeIds` (not
57
+ * products) — so the target shipped as an orphan line nothing in the output
58
+ * names (#2548).
59
+ * @param isRefExcluded - The caller's OWN "is this id excluded from what a
60
+ * relationship names" predicate — the exact one it will use to filter that
61
+ * relationship's OUTPUT line (`isExcludedFromRelationshipRefs` in
62
+ * `step-exporter.ts`). When supplied, the bridge decision above uses THIS
63
+ * predicate instead of inventing `excludeIds.has(id) || !entityIndex.has(id)`
64
+ * as a proxy for it. The proxy and a caller's real predicate can disagree on
65
+ * an id that never existed in the file at all (not hidden, not deleted —
66
+ * just absent, e.g. a pre-existing dangling ref in a truncated source): the
67
+ * proxy treats "not in the index" as excluded, blocking the bridge, while a
68
+ * caller whose predicate only excludes a hidden PRODUCT or a TOMBSTONED id
69
+ * does not, and still emits the relationship's line naming it. Left to
70
+ * disagree, that combination drops a VISIBLE sibling's pset from the
71
+ * closure while the unfiltered output line still names it — a dangling ref
72
+ * the emission pass did not intend to create. Callers with no caller-side
73
+ * emission predicate to share (`demesh-prune.ts`, `merged-exporter.ts`,
74
+ * whose own `IFCREL*` output-line filter already reduces to the same
75
+ * `!entityIndex.has` proxy) omit this and keep the previous behaviour.
50
76
  *
51
77
  * Performance: O(total bytes of included entities). Each entity visited once.
52
- * Uses byte-level scanning — no TextDecoder, no regex, no string allocation.
78
+ * Uses byte-level scanning — no TextDecoder, no regex, no string allocation
79
+ * except for a SOURCE-BACKED `IFCREL*` entity when `excludeIds` was passed at
80
+ * all, which decodes and parses its line once, for BOTH the bridge decision
81
+ * and the refs enqueued (the same parsed groups feed both — see
82
+ * `sourceRelGroups` below), rather than once per purpose.
53
83
  */
54
84
  export declare function collectReferencedEntityIds(rootIds: Set<number>, source: Uint8Array | IfcSourceBytes, entityIndex: {
55
85
  get(id: number): {
56
86
  byteOffset: number;
57
87
  byteLength: number;
88
+ type?: string;
58
89
  } | undefined;
59
90
  has(id: number): boolean;
60
91
  refsOf?(id: number): readonly number[] | undefined;
61
- }, excludeIds?: Set<number>): Set<number>;
92
+ refGroupsOf?(id: number, sourceGroups?: ReadonlyArray<number | readonly number[] | undefined>): ReadonlyArray<number | readonly number[]> | undefined;
93
+ effectiveType?(id: number, recordType: string): string;
94
+ hasSourceMutation?(id: number): boolean;
95
+ }, excludeIds?: Set<number>, isRefExcluded?: (id: number) => boolean): Set<number>;
62
96
  /**
63
97
  * Rewrite (or withhold) a relationship's OWN line so it never names an
64
98
  * excluded entity — the id, not just the byte range, has to disappear.
@@ -109,6 +143,28 @@ export declare function collectReferencedEntityIds(rootIds: Set<number>, source:
109
143
  * path with no `visibleOnly` involved at all.
110
144
  */
111
145
  export declare function filterHiddenRefsFromRelationshipLine(line: string, isExcluded: (id: number) => boolean): string | null;
146
+ /**
147
+ * The "does this relationship's own line survive at all" half of
148
+ * {@link filterHiddenRefsFromRelationshipLine}, extracted as a standalone
149
+ * predicate over an already-grouped ref list rather than raw STEP text — so
150
+ * `collectReferencedEntityIds` can apply the exact same bridging decision to
151
+ * an overlay-created `IFCREL*` entity (whose references never had STEP text
152
+ * to begin with) as it does to a source-backed one. One function, called from
153
+ * both branches of the closure walk, is what makes the two paths
154
+ * structurally unable to diverge again — see the #2548 authored-path gap this
155
+ * closes.
156
+ *
157
+ * Each element of `refGroups` is one authored attribute's contribution:
158
+ *
159
+ * - an ARRAY is a SET/LIST attribute (`RelatedObjects`, …) — it blocks
160
+ * bridging only when it names at least one id and EVERY one is excluded
161
+ * (an empty list, or one with a survivor, does not).
162
+ * - a bare NUMBER is a single-valued attribute (`RelatingType`, …) — it
163
+ * blocks bridging the instant that one id is excluded, regardless of any
164
+ * other group, mirroring "a single-valued STEP attribute has no spelling
165
+ * for omitted" from `filterHiddenRefsFromRelationshipLine`'s own doc.
166
+ */
167
+ export declare function relationshipRefsSurviveExclusion(refGroups: ReadonlyArray<number | readonly number[]>, isExcluded: (id: number) => boolean): boolean;
112
168
  /**
113
169
  * Compute the root entity set and hidden product IDs for a visible-only export.
114
170
  *
@@ -1 +1 @@
1
- {"version":3,"file":"reference-collector.d.ts","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAoOjE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CAKV;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,WAAW,EAAE;IACX,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACxE,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACpD,EACD,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACvB,GAAG,CAAC,MAAM,CAAC,CA8Cb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,GAClC,MAAM,GAAG,IAAI,CAiCf;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAC/B,KAAK,CAAC,EAAE,oBAAoB,GAC3B;IAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAqEvD;AA6FD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,EACpB,MAAM,EAAE,UAAU,GAAG,cAAc,EACnC,WAAW,EAAE;IACX,IAAI,EAAE;QACJ,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;QAC7F,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAChC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;KAC3D,CAAC;IACF,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC/B,GACA,IAAI,CA4DN"}
1
+ {"version":3,"file":"reference-collector.d.ts","sourceRoot":"","sources":["../src/reference-collector.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,16 @@
3
3
  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
4
  import { asSourceBytes } from '@ifc-lite/parser';
5
5
  import { splitTopLevelArgs } from './step-argument-parser.js';
6
+ /**
7
+ * UTF-8 decode of `[start, end)` of the source. Mirrors `step-exporter.ts` /
8
+ * `merged-exporter.ts`'s local `decodeRange` (SAB-safe via the accessor);
9
+ * duplicated rather than shared because this is the only place in the file
10
+ * that needs text instead of raw bytes, and it is only reached for `IFCREL*`
11
+ * entities under `visibleOnly` (see `collectReferencedEntityIds`).
12
+ */
13
+ function decodeRange(src, start, end) {
14
+ return src.decodeUtf8(start, end);
15
+ }
6
16
  /** ASCII code points for byte-level scanning. */
7
17
  const HASH = 0x23; // '#'
8
18
  const ZERO = 0x30; // '0'
@@ -249,12 +259,42 @@ export function collectRefsInByteRange(source, byteOffset, byteLength) {
249
259
  * list rather than in the source buffer — without that hook the walk stops
250
260
  * dead at a created entity and everything reachable only through it is
251
261
  * silently dropped from the export (#2012).
252
- * @param excludeIds - Entity IDs to NEVER follow during the walk.
262
+ * @param excludeIds - Entity IDs to NEVER follow during the walk. Also gates
263
+ * whether an `IFCREL*` entity may act as a BRIDGE into what it references:
264
+ * when every id it names would be filtered out by
265
+ * {@link filterHiddenRefsFromRelationshipLine} (same predicate — the
266
+ * relationship's own line would be withheld entirely), the walk does not
267
+ * follow ANY of its references. Without this, a relationship whose sole
268
+ * subject is excluded still pulled its pset/material/type/classification
269
+ * target into the closure — those are never themselves in `excludeIds` (not
270
+ * products) — so the target shipped as an orphan line nothing in the output
271
+ * names (#2548).
272
+ * @param isRefExcluded - The caller's OWN "is this id excluded from what a
273
+ * relationship names" predicate — the exact one it will use to filter that
274
+ * relationship's OUTPUT line (`isExcludedFromRelationshipRefs` in
275
+ * `step-exporter.ts`). When supplied, the bridge decision above uses THIS
276
+ * predicate instead of inventing `excludeIds.has(id) || !entityIndex.has(id)`
277
+ * as a proxy for it. The proxy and a caller's real predicate can disagree on
278
+ * an id that never existed in the file at all (not hidden, not deleted —
279
+ * just absent, e.g. a pre-existing dangling ref in a truncated source): the
280
+ * proxy treats "not in the index" as excluded, blocking the bridge, while a
281
+ * caller whose predicate only excludes a hidden PRODUCT or a TOMBSTONED id
282
+ * does not, and still emits the relationship's line naming it. Left to
283
+ * disagree, that combination drops a VISIBLE sibling's pset from the
284
+ * closure while the unfiltered output line still names it — a dangling ref
285
+ * the emission pass did not intend to create. Callers with no caller-side
286
+ * emission predicate to share (`demesh-prune.ts`, `merged-exporter.ts`,
287
+ * whose own `IFCREL*` output-line filter already reduces to the same
288
+ * `!entityIndex.has` proxy) omit this and keep the previous behaviour.
253
289
  *
254
290
  * Performance: O(total bytes of included entities). Each entity visited once.
255
- * Uses byte-level scanning — no TextDecoder, no regex, no string allocation.
291
+ * Uses byte-level scanning — no TextDecoder, no regex, no string allocation
292
+ * except for a SOURCE-BACKED `IFCREL*` entity when `excludeIds` was passed at
293
+ * all, which decodes and parses its line once, for BOTH the bridge decision
294
+ * and the refs enqueued (the same parsed groups feed both — see
295
+ * `sourceRelGroups` below), rather than once per purpose.
256
296
  */
257
- export function collectReferencedEntityIds(rootIds, source, entityIndex, excludeIds) {
297
+ export function collectReferencedEntityIds(rootIds, source, entityIndex, excludeIds, isRefExcluded) {
258
298
  const src = asSourceBytes(source);
259
299
  const visited = new Set();
260
300
  const queue = [];
@@ -267,6 +307,20 @@ export function collectReferencedEntityIds(rootIds, source, entityIndex, exclude
267
307
  }
268
308
  // Reusable buffer for extracted refs (avoids per-entity allocation)
269
309
  const refs = [];
310
+ // The bridge decision below needs "is this id excluded from what a
311
+ // relationship names" — ideally the CALLER's own answer to that question
312
+ // (`isRefExcluded`), since that is the exact predicate it will also use to
313
+ // filter the relationship's OUTPUT line. When a caller has none to share,
314
+ // fall back to `excludeIds.has(id) || !entityIndex.has(id)` — the same
315
+ // proxy as before, which also correctly covers a TOMBSTONED id (a deleted
316
+ // entity is absent from the effective index too, so `!entityIndex.has`
317
+ // catches it), but additionally — and wrongly, for a caller whose own
318
+ // predicate would not — treats an id that never existed in the file at all
319
+ // as excluded. See the `isRefExcluded` param doc for why that divergence
320
+ // matters (#2548 follow-up).
321
+ const isBridgeTargetExcluded = excludeIds
322
+ ? (isRefExcluded ?? ((id) => excludeIds.has(id) || !entityIndex.has(id)))
323
+ : null;
270
324
  while (queue.length > 0) {
271
325
  const entityId = queue.pop();
272
326
  const ref = entityIndex.get(entityId);
@@ -276,8 +330,135 @@ export function collectReferencedEntityIds(rootIds, source, entityIndex, exclude
276
330
  // the authored attribute list instead.
277
331
  const authored = entityIndex.refsOf?.(entityId);
278
332
  refs.length = 0;
279
- if (authored)
333
+ // ONE decision, shared by both ref sources: an `IFCREL*` entity only
334
+ // bridges into what it names when its own line would survive
335
+ // `relationshipRefsSurviveExclusion` (the same list-vs-bare predicate
336
+ // `filterHiddenRefsFromRelationshipLine` applies to a relationship's
337
+ // OUTPUT line). If every id in a SET/LIST attribute is excluded, or any
338
+ // single-valued attribute's id is excluded, that function would withhold
339
+ // the line entirely — so the walk must not follow any of its refs either,
340
+ // or a target unreachable by anything else in the file (a pset, material,
341
+ // type, classification) still ends up in the closure (#2548).
342
+ //
343
+ // This runs identically for a source-backed record (groups parsed from
344
+ // the decoded STEP line) and an overlay-created one (groups read off the
345
+ // authored attribute list via `refGroupsOf`) — a single call site, not one
346
+ // check per ref source, so the two paths cannot silently diverge again
347
+ // the way the authored path originally missed this check entirely.
348
+ // Gated on `excludeIds !== undefined` — its PRESENCE, not its size —
349
+ // because a visibleOnly export with nothing explicitly hidden but a
350
+ // deletion in effect passes an EMPTY `hiddenProductIds` Set; `size > 0`
351
+ // would skip this and miss the deletion case. Callers with no filtering at
352
+ // all (`demesh-prune.ts`) pass `excludeIds` as `undefined`, not an empty
353
+ // Set, so they still take the fast path.
354
+ //
355
+ // Classified by the EFFECTIVE type (`entityIndex.effectiveType`) when the
356
+ // index can answer it, not the authored/source `ref.type`: a retype can
357
+ // move a record across the `IFCREL*` boundary in either direction, and
358
+ // emission (`step-exporter.ts`'s `effectiveRelType` check ahead of its own
359
+ // `filterHiddenRefsFromRelationshipLine` call) already classifies by the
360
+ // effective class. A closure walk that classified by the stale authored
361
+ // type could block-or-bridge on a class the file will not actually emit
362
+ // for this id. Falls back to the authored `ref.type` when the index has no
363
+ // `effectiveType` (a test double, or a caller with no overlay at all,
364
+ // where authored and effective always agree).
365
+ const bridgeType = (entityIndex.effectiveType && ref.type !== undefined
366
+ ? entityIndex.effectiveType(entityId, ref.type)
367
+ : ref.type);
368
+ // Mutation-aware groups for a SOURCE-BACKED `IFCREL*` entity — computed
369
+ // ONCE below and consumed by BOTH the bridge decision and the refs
370
+ // actually enqueued further down, so the two cannot answer differently.
371
+ // Round 4 fed this same mutation-aware answer only to the bridge
372
+ // decision and left the enqueue step re-scanning the entity's ORIGINAL
373
+ // bytes, so an override that survived the gate (the relationship keeps
374
+ // bridging) was then invisible to what got walked: the emitted line
375
+ // named the retargeted id, but the closure never queued it, shipping a
376
+ // dangling ref (#2637 follow-up). Left undefined — and the walk falls
377
+ // back to the raw byte scan, unchanged — whenever there is no bridge
378
+ // decision to share it with (a non-relationship entity, or a caller with
379
+ // no `excludeIds` at all, e.g. `demesh-prune.ts`).
380
+ let sourceRelGroups;
381
+ if (isBridgeTargetExcluded !== null
382
+ && bridgeType !== undefined && bridgeType.toUpperCase().startsWith('IFCREL')) {
383
+ const groups = authored
384
+ ? (entityIndex.refGroupsOf?.(entityId)
385
+ // No structured answer available (a test double or caller that
386
+ // only implements `refsOf`) — fall back to treating every
387
+ // authored ref as its own bare group. Strictly MORE conservative
388
+ // than the real grouping (a list with a surviving member would
389
+ // wrongly block bridging too), never less: it can only refuse to
390
+ // bridge, never leak, when the finer answer is unavailable.
391
+ ?? authored)
392
+ // Source-backed: parse the RAW line into groups first (the only
393
+ // thing there is to parse for an id with no authored payload), then
394
+ // give the entity index a chance to splice in a queued positional or
395
+ // named-attribute override — a mutation retargeting THIS relationship's
396
+ // own reference (e.g. `RelatedObjects` moved off a hidden product onto
397
+ // a visible one) changes what the file will actually say, and the raw
398
+ // text alone cannot know that (#2637 follow-up: CodeRabbit found the
399
+ // emitted line and this bridge check could disagree on exactly that
400
+ // case). `refGroupsOf` returns undefined when nothing overrides
401
+ // anything for this id, so the parsed-from-text answer stands. Stored
402
+ // in `sourceRelGroups` (not just a local) so the enqueue step below
403
+ // reuses this SAME answer instead of re-deriving it from the stale
404
+ // original bytes.
405
+ : (sourceRelGroups = relationshipRefGroupsFromSourceLine(entityIndex, entityId, decodeRange(src, ref.byteOffset, ref.byteOffset + ref.byteLength)));
406
+ if (!relationshipRefsSurviveExclusion(groups, isBridgeTargetExcluded)) {
407
+ continue;
408
+ }
409
+ }
410
+ if (authored) {
280
411
  refs.push(...authored);
412
+ }
413
+ else if (sourceRelGroups) {
414
+ // The exact groups the bridge decision above just used to let this
415
+ // entity through — walk THOSE, not a fresh scan of the original bytes,
416
+ // so a queued override that retargeted one of this relationship's own
417
+ // references is reachable by the closure the same way it will be named
418
+ // in the emitted line.
419
+ for (const group of sourceRelGroups) {
420
+ if (Array.isArray(group))
421
+ refs.push(...group);
422
+ else
423
+ refs.push(group);
424
+ }
425
+ }
426
+ else if (entityIndex.hasSourceMutation?.(entityId)) {
427
+ // Same gap as `sourceRelGroups` above, one level more general: this
428
+ // entity did not take the `IFCREL*` bridge path above at all (an
429
+ // ordinary product, or a caller with no `excludeIds` to bridge on), but
430
+ // it DOES carry a queued positional/named-attribute mutation, and a
431
+ // mutation can retarget a reference onto an id the original bytes never
432
+ // named — invisible to a plain byte scan, but still what emission will
433
+ // write (#2637 general follow-up: the round-5 fix only closed this for
434
+ // `IFCREL*`; any other source-backed entity's retargeted reference
435
+ // dangled the same way, discovered via a retype-out-of-`IFCREL*` fused
436
+ // with a same-record retarget, but reproducing with no retype involved
437
+ // at all). Gated on the cheap `hasSourceMutation` check so an entity
438
+ // with nothing queued — the overwhelming majority — still takes the
439
+ // plain byte scan below with no decode/parse cost.
440
+ const generalGroups = relationshipRefGroupsFromSourceLine(entityIndex, entityId, decodeRange(src, ref.byteOffset, ref.byteOffset + ref.byteLength));
441
+ for (const group of generalGroups) {
442
+ if (Array.isArray(group))
443
+ refs.push(...group);
444
+ else
445
+ refs.push(group);
446
+ }
447
+ // Union with a raw byte scan. `extractRelationshipRefGroupsIndexed`
448
+ // walks only ONE level of parenthesised nesting, so a DOUBLY-nested
449
+ // list attribute — a real IFC shape, e.g.
450
+ // `IfcBSplineSurfaceWithKnots.ControlPointsList: LIST OF LIST OF
451
+ // IfcCartesianPoint` — has each inner `(#N,#N)` group fail the bare
452
+ // `#(\d+)` match and gets discarded as "contains a non-ref item",
453
+ // silently dropping every ref inside it from the enqueue step (and
454
+ // therefore from the closure entirely) whenever this entity also has
455
+ // an unrelated queued mutation (CodeRabbit finding on #2637). The
456
+ // union can only ADD ids already missed by the positional parse — the
457
+ // walk de-dupes via `visited`, so re-adding an id the parse already
458
+ // found costs nothing beyond the duplicate push.
459
+ const mutatedSpan = src.slice(ref.byteOffset, ref.byteOffset + ref.byteLength);
460
+ extractRefsFromBytes(mutatedSpan, 0, mutatedSpan.length, refs);
461
+ }
281
462
  else {
282
463
  // Hand the byte scanner an already-narrowed record. `slice` is a
283
464
  // `subarray` on a contiguous source, so this is the same zero-copy read.
@@ -381,6 +562,121 @@ export function filterHiddenRefsFromRelationshipLine(line, isExcluded) {
381
562
  return line;
382
563
  return `${prefix}${nextAttrs.join(',')}${suffix}`;
383
564
  }
565
+ /**
566
+ * The "does this relationship's own line survive at all" half of
567
+ * {@link filterHiddenRefsFromRelationshipLine}, extracted as a standalone
568
+ * predicate over an already-grouped ref list rather than raw STEP text — so
569
+ * `collectReferencedEntityIds` can apply the exact same bridging decision to
570
+ * an overlay-created `IFCREL*` entity (whose references never had STEP text
571
+ * to begin with) as it does to a source-backed one. One function, called from
572
+ * both branches of the closure walk, is what makes the two paths
573
+ * structurally unable to diverge again — see the #2548 authored-path gap this
574
+ * closes.
575
+ *
576
+ * Each element of `refGroups` is one authored attribute's contribution:
577
+ *
578
+ * - an ARRAY is a SET/LIST attribute (`RelatedObjects`, …) — it blocks
579
+ * bridging only when it names at least one id and EVERY one is excluded
580
+ * (an empty list, or one with a survivor, does not).
581
+ * - a bare NUMBER is a single-valued attribute (`RelatingType`, …) — it
582
+ * blocks bridging the instant that one id is excluded, regardless of any
583
+ * other group, mirroring "a single-valued STEP attribute has no spelling
584
+ * for omitted" from `filterHiddenRefsFromRelationshipLine`'s own doc.
585
+ */
586
+ export function relationshipRefsSurviveExclusion(refGroups, isExcluded) {
587
+ for (const group of refGroups) {
588
+ if (Array.isArray(group)) {
589
+ if (group.length > 0 && group.every(isExcluded))
590
+ return false;
591
+ }
592
+ else if (isExcluded(group)) {
593
+ return false;
594
+ }
595
+ }
596
+ return true;
597
+ }
598
+ /**
599
+ * Parse a source-backed relationship's decoded STEP line into the same
600
+ * grouped shape {@link relationshipRefsSurviveExclusion} takes, POSITION-
601
+ * ALIGNED with the line's top-level STEP arguments (one array entry per
602
+ * argument, `undefined` where that argument names no reference) — the form
603
+ * {@link relationshipRefGroupsFromSourceLine} needs to splice a positional or
604
+ * named-attribute override into the right slot.
605
+ *
606
+ * Built from the exact same primitives (`splitTopLevelArgs`, the `#(\d+)`
607
+ * ref pattern) `filterHiddenRefsFromRelationshipLine` uses, so the two
608
+ * extraction routes (this one from text, `refGroupsOf` from an authored
609
+ * attribute list) feed the SAME decision function identically. A line that
610
+ * does not parse as a single `#N=TYPE(...);` record yields no groups —
611
+ * nothing to exclude on, so the relationship survives, matching that
612
+ * function's own "return line unchanged" behavior for the same input shape.
613
+ *
614
+ * A parenthesised list holding a NON-reference item (an inline typed value
615
+ * alongside, or instead of, `#N` members) yields `undefined` for that slot
616
+ * rather than a groups-worth of only the ref members: such an item always
617
+ * survives `filterHiddenRefsFromRelationshipLine`'s own per-item filter (it
618
+ * only ever drops an `#N` item), so a list containing one can never be the
619
+ * reason that function withholds the whole line — treating the ref-only
620
+ * subset as a blocking group here would let this predicate refuse a bridge
621
+ * `filterHiddenRefsFromRelationshipLine` does not (CodeRabbit finding on
622
+ * #2637: this used to collapse a mixed list to "every remaining id
623
+ * excluded" and block on it).
624
+ */
625
+ function extractRelationshipRefGroupsIndexed(line) {
626
+ const match = line.match(/^(#\d+\s*=\s*\w+\()([\s\S]*)(\)\s*;)\s*$/);
627
+ if (!match)
628
+ return [];
629
+ const attrs = splitTopLevelArgs(match[2]);
630
+ const groups = [];
631
+ for (const attr of attrs) {
632
+ if (attr.length >= 2 && attr.charCodeAt(0) === 0x28 /* '(' */ && attr.charCodeAt(attr.length - 1) === 0x29 /* ')' */) {
633
+ const inner = attr.slice(1, -1);
634
+ const items = inner.trim() === '' ? [] : splitTopLevelArgs(inner);
635
+ const ids = [];
636
+ let hasNonRefItem = false;
637
+ for (const item of items) {
638
+ const refMatch = item.match(/^#(\d+)$/);
639
+ if (refMatch)
640
+ ids.push(Number(refMatch[1]));
641
+ else
642
+ hasNonRefItem = true;
643
+ }
644
+ groups.push(hasNonRefItem ? undefined : ids);
645
+ continue;
646
+ }
647
+ const refMatch = attr.match(/^#(\d+)$/);
648
+ groups.push(refMatch ? Number(refMatch[1]) : undefined);
649
+ }
650
+ return groups;
651
+ }
652
+ /**
653
+ * Parse `line` into the position-aligned shape, then — when `entityIndex` can
654
+ * answer for `entityId` — let it splice in a queued positional or
655
+ * named-attribute override before flattening. Falls back to the plain
656
+ * parsed-from-text groups when the index has no `refGroupsOf`, or answers
657
+ * undefined for this id (the common case: most entities carry no mutation at
658
+ * all, so this stays a cheap parse plus a couple of map lookups, not extra
659
+ * allocation).
660
+ *
661
+ * Used two ways in `collectReferencedEntityIds`: for the `IFCREL*` bridge
662
+ * decision — {@link relationshipRefsSurviveExclusion} checks the groups this
663
+ * returns — and, more generally, for ANY source-backed entity's own enqueued
664
+ * refs once `hasSourceMutation` says a mutation is queued for it, `IFCREL*`
665
+ * or not. Despite the name, nothing here is relationship-specific: it is
666
+ * purely syntactic `#N=TYPE(...)` positional parsing, the same reason
667
+ * {@link filterHiddenRefsFromRelationshipLine} needs no per-subtype table.
668
+ */
669
+ function relationshipRefGroupsFromSourceLine(entityIndex, entityId, line) {
670
+ const indexed = extractRelationshipRefGroupsIndexed(line);
671
+ const effective = entityIndex.refGroupsOf?.(entityId, indexed);
672
+ if (effective)
673
+ return effective;
674
+ const groups = [];
675
+ for (const group of indexed)
676
+ if (group !== undefined)
677
+ groups.push(group);
678
+ return groups;
679
+ }
384
680
  // ---------------------------------------------------------------------------
385
681
  // Visibility classification
386
682
  // ---------------------------------------------------------------------------