@ifc-lite/cli 0.41.0 → 0.42.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 (69) hide show
  1. package/README.md +12 -1
  2. package/dist/commands/diff-engine.d.ts.map +1 -1
  3. package/dist/commands/diff-engine.js +9 -3
  4. package/dist/commands/diff-engine.js.map +1 -1
  5. package/dist/commands/doctor.d.ts +3 -0
  6. package/dist/commands/doctor.d.ts.map +1 -0
  7. package/dist/commands/doctor.js +24 -0
  8. package/dist/commands/doctor.js.map +1 -0
  9. package/dist/commands/export-rust-formats.d.ts.map +1 -1
  10. package/dist/commands/export-rust-formats.js +37 -41
  11. package/dist/commands/export-rust-formats.js.map +1 -1
  12. package/dist/commands/extract-entities.d.ts.map +1 -1
  13. package/dist/commands/extract-entities.js +7 -11
  14. package/dist/commands/extract-entities.js.map +1 -1
  15. package/dist/commands/gym.d.ts.map +1 -1
  16. package/dist/commands/gym.js +2 -10
  17. package/dist/commands/gym.js.map +1 -1
  18. package/dist/commands/mutate.d.ts +6 -0
  19. package/dist/commands/mutate.d.ts.map +1 -1
  20. package/dist/commands/mutate.js +16 -19
  21. package/dist/commands/mutate.js.map +1 -1
  22. package/dist/commands/mutation-base.d.ts +4 -0
  23. package/dist/commands/mutation-base.d.ts.map +1 -0
  24. package/dist/commands/mutation-base.js +11 -0
  25. package/dist/commands/mutation-base.js.map +1 -0
  26. package/dist/commands/step-args.d.ts +0 -119
  27. package/dist/commands/step-args.d.ts.map +1 -1
  28. package/dist/commands/step-args.js +54 -49
  29. package/dist/commands/step-args.js.map +1 -1
  30. package/dist/commands/storey-selection.d.ts.map +1 -1
  31. package/dist/commands/storey-selection.js +16 -9
  32. package/dist/commands/storey-selection.js.map +1 -1
  33. package/dist/commands/subset-relations.d.ts +0 -76
  34. package/dist/commands/subset-relations.d.ts.map +1 -1
  35. package/dist/commands/subset-relations.js +88 -24
  36. package/dist/commands/subset-relations.js.map +1 -1
  37. package/dist/commands/test-fixtures/type-mutation.d.ts +18 -0
  38. package/dist/commands/test-fixtures/type-mutation.d.ts.map +1 -0
  39. package/dist/commands/test-fixtures/type-mutation.js +45 -0
  40. package/dist/commands/test-fixtures/type-mutation.js.map +1 -0
  41. package/dist/commands/validate.d.ts.map +1 -1
  42. package/dist/commands/validate.js +6 -0
  43. package/dist/commands/validate.js.map +1 -1
  44. package/dist/diagnostics.d.ts +33 -0
  45. package/dist/diagnostics.d.ts.map +1 -0
  46. package/dist/diagnostics.js +113 -0
  47. package/dist/diagnostics.js.map +1 -0
  48. package/dist/headless-backend.d.ts +29 -77
  49. package/dist/headless-backend.d.ts.map +1 -1
  50. package/dist/headless-backend.js +54 -536
  51. package/dist/headless-backend.js.map +1 -1
  52. package/dist/help.d.ts.map +1 -1
  53. package/dist/help.js +1 -0
  54. package/dist/help.js.map +1 -1
  55. package/dist/index.js +51 -82
  56. package/dist/index.js.map +1 -1
  57. package/dist/loader.d.ts +7 -1
  58. package/dist/loader.d.ts.map +1 -1
  59. package/dist/loader.js +34 -50
  60. package/dist/loader.js.map +1 -1
  61. package/package.json +21 -20
  62. package/dist/query-overlay-relations.d.ts +0 -9
  63. package/dist/query-overlay-relations.d.ts.map +0 -1
  64. package/dist/query-overlay-relations.js +0 -78
  65. package/dist/query-overlay-relations.js.map +0 -1
  66. package/dist/query-overlay.d.ts +0 -46
  67. package/dist/query-overlay.d.ts.map +0 -1
  68. package/dist/query-overlay.js +0 -141
  69. package/dist/query-overlay.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../src/commands/mutate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutate.js","sourceRoot":"","sources":["../../src/commands/mutate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { MutablePropertyView } from '@ifc-lite/mutations';
2
+ import type { IfcDataStore } from '@ifc-lite/parser';
3
+ export declare function createSourceMutationView(store: IfcDataStore): MutablePropertyView;
4
+ //# sourceMappingURL=mutation-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-base.d.ts","sourceRoot":"","sources":["../../src/commands/mutation-base.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,GAAG,mBAAmB,CAIjF"}
@@ -0,0 +1,11 @@
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 { MutablePropertyView } from '@ifc-lite/mutations';
5
+ import { configureSourceMutationView } from '@ifc-lite/sdk/headless';
6
+ export function createSourceMutationView(store) {
7
+ const view = new MutablePropertyView(null, 'default');
8
+ configureSourceMutationView(store, view);
9
+ return view;
10
+ }
11
+ //# sourceMappingURL=mutation-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-base.js","sourceRoot":"","sources":["../../src/commands/mutation-base.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAGrE,MAAM,UAAU,wBAAwB,CAAC,KAAmB;IAC1D,MAAM,IAAI,GAAG,IAAI,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACtD,2BAA2B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,122 +1,3 @@
1
- /**
2
- * Reading a STEP record's top-level argument list out of its text, for a
3
- * caller that then edits one slot BY INDEX.
4
- *
5
- * The failure this exists to prevent is silent. A scanner that loses track of
6
- * quote state or paren depth still produces parts; they are just not the
7
- * record's arguments any more, because the commas it swallowed took every
8
- * following slot with them. The write lands on whatever the mis-scan
9
- * accumulated and the caller reports a success that did not happen
10
- * (LTplus-AG/ifc-lite#2470, #4125 for the `mutate` instance). So this returns
11
- * null rather than parts it does not believe in.
12
- *
13
- * The mis-scan nothing structural notices is an undoubled apostrophe, what an
14
- * authoring tool emits when it forgets to double one. The scan closes the
15
- * string at it and reopens on the next quote, so the text between the two is
16
- * read inside-out and every comma in it is swallowed. TWO of them leave quote
17
- * parity EVEN and paren depth at ZERO, so the scan ends clean on text that
18
- * split wrong: `'guid',$,'John's wall',$,$,$,$,'A's',.NOTDEFINED.` is nine
19
- * attributes read as four, and writing slot 2 deletes attributes 3 to 7.
20
- *
21
- * What always shows is a token ending where a token cannot end: the phantom
22
- * terminator leaves the rest of the content where a separator belongs
23
- * (`'John's wall'` closes after `John`, leaving a bare `s`). So this validates
24
- * the list as a grammar rather than counting characters. An argument is ONE
25
- * token, after a token only whitespace and then `,` or `)` may follow, and that
26
- * (In the STEP examples below, `*\/` is a JavaScript escape so the example does not
27
- * terminate this comment block. The backslash is not in the STEP text, and STEP
28
- * gives `\` its own meaning, so strip it before copying an example into a test.)
29
- *
30
- * holds AT EVERY DEPTH. Applied to the top level alone it misses a phantom that
31
- * swallows a `)`, a `(` and the comma between them, which leaves the depth
32
- * balanced and each surviving part passing a token check on its own:
33
- * `IFCLABEL('a's'),$,IFCLABEL('b's'),$` is four attributes read as two. Any
34
- * two top-level slots that each hold a string inside parens can do it, and real
35
- * entities have that shape (`IfcPerson`'s MiddleNames / PrefixTitles,
36
- * `IfcPropertyTableValue`'s DefiningValues / DefinedValues).
37
- *
38
- * What the rule cannot see is a corruption whose bytes are themselves a valid
39
- * argument list: a stray apostrophe at the END of a string's content emits a
40
- * doubled quote by accident, so `''','''` is two arguments to its author and
41
- * one to anyone reading the text. A generated sweep accepted 814 of 80,035 corruptions
42
- * with a split other than the author's, down from 1,066 before the rule reached into
43
- * lists, and every survivor it looked at had that shape; separating them needs the
44
- * schema, not the text. That harness is NOT committed, so those figures record one run
45
- * and cannot be reproduced from this tree.
46
- *
47
- * A STEP block comment is refused rather than understood, because `mutate` must
48
- * not rewrite a record it cannot read: `/` breaks a bare run, so a part
49
- * carrying a comment outside a string is never one token, whatever the comment
50
- * CONTAINS. Whitespace in the comment is not what gives it away:
51
- * `$,/*renamed*\/,$` has none and was read as three slots for two attributes,
52
- * the same phantom-slot shift as the rest of #4125 (see {@link isTokenBreak}
53
- * for why breaking on the OPENER is enough).
54
- *
55
- * Several readers in this repo DO skip comments; diverging from them is
56
- * deliberate. The nearest is `validate.ts` in this very package, which skips
57
- * `/* ... *\/` while counting top-level attribute indices; it returns indices
58
- * rather than parts, so it never has to put the bytes back. `source-header.ts`'s
59
- * `splitTopLevel` is closer still, since it returns PARTS, but it drops the
60
- * comment bytes, so it cannot satisfy the round-trip contract below either.
61
- * And `packages/parser`'s
62
- * `entity-extractor.ts` reads comments at every depth through
63
- * `StepTextScan.skipLexicalAt`, and says so as policy: one comment-skip rule for
64
- * decoded STEP text rather than a fourth hand-rolled copy. The difference is what
65
- * the two produce. That one extracts VALUES and collapses a comment to a space;
66
- * this one must satisfy `parts.join(',') === input` byte for byte, because its
67
- * caller rewrites the user's file. Skipping a comment under that contract would
68
- * silently delete it from their file, and keeping it inside the part means the
69
- * part is not one token. Doing both needs a richer return type than `string[]`,
70
- * which is a different module. (`STEP_TRIVIA` itself is legal anywhere whitespace
71
- * is. Its call sites are what place it, and they all put it immediately before a
72
- * `\(`.)
73
- *
74
- * What this module does NOT cover, so its refusal is not read as more than it is:
75
- * `mutate` finds records with a line regex that allows only whitespace before the
76
- * `(`, so a comment after the class keyword is skipped BEFORE reaching this code,
77
- * and the run reports success having changed nothing; and `lastIndexOf(')')` can
78
- * slice into a legal trailing comment. Both are #4163, one on each SIDE of the
79
- * argument list (before the `(`, after the `)`), and both are the same
80
- * line-versus-record shape as the wrapped-record case #4163 also covers.
81
- *
82
- * `packages/export/src/step-argument-parser.ts` is the nearest copy, and this is
83
- * deliberately its near-twin rather than an import: `@ifc-lite/export`'s
84
- * `exports` map exposes only `.`, so reaching it would mean adding a published
85
- * export (and an `api-surface` entry) to a v4.0.0 package to fix a CLI bug.
86
- * #4125 declined consolidating them, with its own measurement of why: the
87
- * splitters in this repo have different CONTRACTS, so a shared function needs a
88
- * mode flag or a richer return type, which is a new abstraction rather than a
89
- * de-duplication. What they could share is the REFUSE side, and for TWO of the
90
- * three it is pinned rather than described: the export twin and the Rust
91
- * `split_top_level_args` are both held to the vectors in
92
- * `rust/export/tests/fixtures/step_refuse_vectors.json`, by
93
- * `packages/export/src/step-refuse.parity.test.ts` and by
94
- * `rust/export/src/step_slot_tests.rs`'s
95
- * `refuses_every_shared_cross_language_vector`.
96
- *
97
- * THIS splitter is NOT held to those vectors, and would not pass them today. `"`
98
- * is absent from `isTokenBreak` below, so a binary literal is consumed as a bare
99
- * run and two of the shared vectors are ACCEPTED here: `'g',"0F` splits as two
100
- * parts with the unterminated literal intact, and `'g',"01,23"` splits into
101
- * THREE parts for two attributes, because the comma inside the literal is read
102
- * as a separator. The consumer is a live by-index writer — `mutate-step-record.ts`
103
- * does `args[attrIdx] = …` and then `args.join(',')` — so that is the #4125
104
- * failure still open in this file, not a hypothetical one. Adding the character
105
- * is a behaviour change that would also refuse legitimate binary literals such
106
- * as `"0F"`, which needs corpus verification rather than a one-character edit;
107
- * LTplus-AG/ifc-lite#4200 tracks both the fix and the parity test that would
108
- * have caught it.
109
- *
110
- * They diverge on the ACCEPT side, deliberately: this one refuses any slot
111
- * carrying a `/* ... *\/` comment, while the export twin keeps the comment's
112
- * bytes inside the slot and accepts it. That divergence is each caller's
113
- * choice, so no fixture pins it.
114
- *
115
- * The export twin's `splitTopLevelStepArguments` used to have the three
116
- * structural checks and no per-part check at all; #4173 gave it one
117
- * (`isWellFormedStepSlot`), so the two now agree that a part must be one
118
- * well-formed value.
119
- */
120
1
  /**
121
2
  * Split a STEP argument list on top-level commas, or return null when the text
122
3
  * cannot be scanned as one. `input` is the text BETWEEN a record's outermost
@@ -1 +1 @@
1
- {"version":3,"file":"step-args.d.ts","sourceRoot":"","sources":["../../src/commands/step-args.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsHG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAmDpE"}
1
+ {"version":3,"file":"step-args.d.ts","sourceRoot":"","sources":["../../src/commands/step-args.ts"],"names":[],"mappings":"AAwHA;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CA8CpE"}
@@ -97,18 +97,11 @@
97
97
  * `rust/export/src/step_slot_tests.rs`'s
98
98
  * `refuses_every_shared_cross_language_vector`.
99
99
  *
100
- * THIS splitter is NOT held to those vectors, and would not pass them today. `"`
101
- * is absent from `isTokenBreak` below, so a binary literal is consumed as a bare
102
- * run and two of the shared vectors are ACCEPTED here: `'g',"0F` splits as two
103
- * parts with the unterminated literal intact, and `'g',"01,23"` splits into
104
- * THREE parts for two attributes, because the comma inside the literal is read
105
- * as a separator. The consumer is a live by-index writer — `mutate-step-record.ts`
106
- * does `args[attrIdx] = …` and then `args.join(',')` — so that is the #4125
107
- * failure still open in this file, not a hypothetical one. Adding the character
108
- * is a behaviour change that would also refuse legitimate binary literals such
109
- * as `"0F"`, which needs corpus verification rather than a one-character edit;
110
- * LTplus-AG/ifc-lite#4200 tracks both the fix and the parity test that would
111
- * have caught it.
100
+ * This splitter is held to the same refuse vectors
101
+ * (`step-refuse.parity.test.ts`, #4200), and its literal grammar follows core's
102
+ * (F4 M-export-a, #7778): a binary is `[0-3]` plus hex digits and a number is
103
+ * one complete `isCompleteStepNumericLiteral`, the twins of core's tokenizer
104
+ * and `step_numeric_literal_len`. Every other bare run stays loose on purpose.
112
105
  *
113
106
  * They diverge on the ACCEPT side, deliberately: this one refuses any slot
114
107
  * carrying a `/* ... *\/` comment, while the export twin keeps the comment's
@@ -120,6 +113,8 @@
120
113
  * (`isWellFormedStepSlot`), so the two now agree that a part must be one
121
114
  * well-formed value.
122
115
  */
116
+ import { stepStringLiteralEnd } from '@ifc-lite/encoding';
117
+ import { isCompleteStepNumericLiteral } from '@ifc-lite/data';
123
118
  /**
124
119
  * Split a STEP argument list on top-level commas, or return null when the text
125
120
  * cannot be scanned as one. `input` is the text BETWEEN a record's outermost
@@ -145,40 +140,36 @@ export function splitTopLevelStepArgs(input) {
145
140
  const parts = [];
146
141
  let current = '';
147
142
  let depth = 0;
148
- let inString = false;
149
143
  for (let i = 0; i < input.length; i++) {
150
144
  const char = input[i];
151
145
  if (char === "'") {
152
- current += char;
153
- // A doubled quote INSIDE a string is an escaped apostrophe. Outside one
154
- // the first quote opens a string and the second is read on its own next
155
- // pass, so `''` there is the empty string rather than an escape.
156
- if (inString && input[i + 1] === "'") {
157
- current += input[i + 1];
158
- i++;
159
- continue;
160
- }
161
- inString = !inString;
146
+ // The whole literal moves into the part at once. `stepStringLiteralEnd`
147
+ // is the one rule for where it ends: `''` is an escaped quote, and a
148
+ // PAGE directive's apostrophe operand (`'Para \S\' 5'`) is text (#7589).
149
+ // A string that never closes leaves the scan unreadable.
150
+ const end = stepStringLiteralEnd(input, i);
151
+ if (end < 0)
152
+ return null;
153
+ current += input.slice(i, end);
154
+ i = end - 1;
162
155
  continue;
163
156
  }
164
- if (!inString) {
165
- if (char === '(') {
166
- depth++;
167
- }
168
- else if (char === ')') {
169
- depth--;
170
- if (depth < 0)
171
- return null;
172
- }
173
- else if (char === ',' && depth === 0) {
174
- parts.push(current);
175
- current = '';
176
- continue;
177
- }
157
+ if (char === '(') {
158
+ depth++;
159
+ }
160
+ else if (char === ')') {
161
+ depth--;
162
+ if (depth < 0)
163
+ return null;
164
+ }
165
+ else if (char === ',' && depth === 0) {
166
+ parts.push(current);
167
+ current = '';
168
+ continue;
178
169
  }
179
170
  current += char;
180
171
  }
181
- if (inString || depth !== 0)
172
+ if (depth !== 0)
182
173
  return null;
183
174
  parts.push(current);
184
175
  // These three are the contract this shares with
@@ -249,6 +240,8 @@ function skipToken(text, from) {
249
240
  // belongs.
250
241
  if (i === start)
251
242
  return -1;
243
+ if (!isPlausibleBareRun(text.slice(start, i)))
244
+ return -1;
252
245
  const afterKeyword = i + countWhitespace(text, i);
253
246
  if (text[afterKeyword] === '(') {
254
247
  depth++;
@@ -276,20 +269,32 @@ function skipToken(text, from) {
276
269
  }
277
270
  /** Index just past the string starting at `from`, or -1 if it never closes. */
278
271
  function skipString(text, from) {
279
- for (let i = from + 1; i < text.length; i++) {
280
- if (text[i] !== "'")
281
- continue;
282
- if (text[i + 1] === "'")
283
- i++;
284
- else
285
- return i + 1;
286
- }
287
- return -1;
272
+ return stepStringLiteralEnd(text, from);
288
273
  }
289
- /** Index just past a binary literal, or -1 if its closing quote is absent. */
274
+ /**
275
+ * Index just past a binary literal, or -1 if its closing quote is absent or
276
+ * the content is not ISO 10303-21's `[0-3]` indicator and hex digits (either
277
+ * case): the form core's tokenizer reads, so a `'` or `,` inside a malformed
278
+ * one is refused here instead of being carried into a part.
279
+ */
290
280
  function skipBinary(text, from) {
291
281
  const end = text.indexOf('"', from + 1);
292
- return end < 0 ? -1 : end + 1;
282
+ if (end < 0 || !/^[0-3][0-9A-Fa-f]*$/.test(text.slice(from + 1, end)))
283
+ return -1;
284
+ return end + 1;
285
+ }
286
+ /**
287
+ * Whether a bare run that is a number attempt is one complete STEP numeric
288
+ * literal (`isCompleteStepNumericLiteral`, the twin of core's
289
+ * `step_numeric_literal_len`): `1..2`, `1.2.3` and `5x` are phantoms of a
290
+ * dropped separator, not numbers. Every other bare run stays loose on purpose:
291
+ * this is not a STEP validator, only strict about where a token may end.
292
+ */
293
+ function isPlausibleBareRun(run) {
294
+ const first = run.charCodeAt(0);
295
+ const digit = first >= 0x30 && first <= 0x39;
296
+ const attempt = digit || first === 0x2b || first === 0x2d || (first === 0x2e && /^\.\d/.test(run));
297
+ return !attempt || isCompleteStepNumericLiteral(run);
293
298
  }
294
299
  /**
295
300
  * Can this character only begin or separate another token?
@@ -1 +1 @@
1
- {"version":3,"file":"step-args.js","sourceRoot":"","sources":["../../src/commands/step-args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-args.js","sourceRoot":"","sources":["../../src/commands/step-args.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"storey-selection.d.ts","sourceRoot":"","sources":["../../src/commands/storey-selection.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAaxD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CA2BjG;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAgChF"}
1
+ {"version":3,"file":"storey-selection.d.ts","sourceRoot":"","sources":["../../src/commands/storey-selection.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAaxD,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CA+BjG;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAgChF"}
@@ -7,6 +7,7 @@
7
7
  * through that storey's placement. Split out of `extract-entities.ts` to
8
8
  * keep that file under its module-size budget.
9
9
  */
10
+ import { walkPlacementChain } from '@ifc-lite/data';
10
11
  import { refsOutsideStrings } from './subset-relations.js';
11
12
  /** Map each IfcLocalPlacement to its parent placement (or null when top-level). */
12
13
  function placementParents(parsed) {
@@ -23,16 +24,22 @@ function placementParents(parsed) {
23
24
  export function productsUnderPlacement(storeyPlacementId, parsed) {
24
25
  const parents = placementParents(parsed);
25
26
  const under = new Set();
27
+ // Whether each placement seen so far chains up through the storey's: shared
28
+ // ancestry is walked once, so the pass stays linear in the placement count.
29
+ const chainsUp = new Map();
26
30
  for (const pid of parents.keys()) {
27
- let cur = pid;
28
- let guard = 0;
29
- while (cur != null && guard++ < 128) {
30
- if (cur === storeyPlacementId) {
31
- under.add(pid);
32
- break;
33
- }
34
- cur = parents.get(cur) ?? null;
35
- }
31
+ // The shared walker (#7791): a visited set, no depth cap, so a chain of any
32
+ // length resolves instead of being dropped past an arbitrary guard.
33
+ const walked = walkPlacementChain(pid, (id) => parents.get(id) ?? null, {
34
+ stopAt: (id) => id === storeyPlacementId || chainsUp.has(id),
35
+ });
36
+ const last = walked.ids[walked.ids.length - 1];
37
+ const reaches = walked.end === 'stopped' && (last === storeyPlacementId || chainsUp.get(last) === true);
38
+ for (const id of walked.ids)
39
+ if (id !== storeyPlacementId)
40
+ chainsUp.set(id, reaches);
41
+ if (reaches)
42
+ under.add(pid);
36
43
  }
37
44
  // Products referencing a selected placement. `refsOutsideStrings`, not a
38
45
  // raw REF_RE scan: free text (e.g. `'... see also #40'`) could otherwise
@@ -1 +1 @@
1
- {"version":3,"file":"storey-selection.js","sourceRoot":"","sources":["../../src/commands/storey-selection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storey-selection.js","sourceRoot":"","sources":["../../src/commands/storey-selection.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,3 @@
1
- /**
2
- * Spatial-structure relations for an extracted subset: which ones join it, and
3
- * what text each one emits.
4
- *
5
- * `IfcRelContainedInSpatialStructure` is one-to-MANY, and a real exporter
6
- * writes exactly ONE of them per storey, naming every product in that storey.
7
- * An all-or-nothing rule (keep the relation only when every id it mentions is
8
- * kept) therefore drops containment on ANY strict subset of a real model: the
9
- * extracted products land outside the spatial tree and a viewer shows the
10
- * storey with nothing under it. So the `RelatedElements` SET is rewritten down
11
- * to the kept members instead of the relation being dropped.
12
- *
13
- * The no-dangling-reference invariant is unchanged: every `#id` in an emitted
14
- * record is an id the subset keeps, and since #4128 the caller's forward
15
- * closure keeps only ids the file DEFINES, so kept implies defined. That covers
16
- * the ids this module CHOOSES; it does not cover the references inside a kept
17
- * record, which are emitted verbatim, so a source file that already dangles
18
- * still dangles. That is the rest of the rules:
19
- * - the RELATING object (`RelatingStructure` / `RelatingObject`, the spatial
20
- * parent) is a hard requirement. A containment with no parent is
21
- * meaningless, and it would dangle. A KNOWN residual gap follows from that,
22
- * and it is not this module's to close: `buildSubset` force-keeps only
23
- * `IfcProject` / `IfcSite` / `IfcBuilding` / `IfcBuildingStorey`, so a
24
- * product contained in an `IfcSpace` or `IfcSpatialZone` still has an
25
- * unkept parent and still loses containment. Widening that type list is the
26
- * wrong close, because it force-keeps every space AND its forward closure in
27
- * every extraction; the right one is a BACKWARD closure from each kept
28
- * product up its containment and aggregation edges, which keeps exactly the
29
- * seeds' ancestors and needs no type list at all. Either way it is a change
30
- * to how `buildSubset` seeds, not to the rule here. Filed as #4124.
31
- * - an empty intersection drops the relation.
32
- * - every other non-set reference must be kept too. That is attribute 1,
33
- * `OwnerHistory`; usually it already is, because each kept product's own
34
- * body names the same shared `IfcOwnerHistory` and the products' forward
35
- * closure keeps it. An exporter that writes a PER-RELATIONSHIP
36
- * `IfcOwnerHistory` referenced by nothing else hits this rule every time,
37
- * and dropping there was the orphaned-storey symptom again (#4126). This
38
- * function still takes no `parsed`, so it cannot close over such a
39
- * reference; it REPORTS it in {@link SpatialRelationPlan.blockedOn} and the
40
- * caller, which does have `parsed`, decides whether to keep it and replan.
41
- * Purity is intact: `blockedOn` is a finding, not a mutation.
42
- *
43
- * A KNOWN gap: {@link keepWhole}, the fallback for a record this module could
44
- * not read as its six attributes, still drops on the same private
45
- * `OwnerHistory` and reports nothing. That is deliberate. Its references are
46
- * read off the raw body with no established string boundaries, so a `#6` it
47
- * names may be text rather than a reference, and forward-closing over it would
48
- * re-create the hash-in-a-Name bug the scanner exists to avoid.
49
- *
50
- * A relation that loses NO member re-emits its source line verbatim, so an
51
- * extraction that happened to keep every member does not churn.
52
- *
53
- * ## What this module re-implements, and why
54
- *
55
- * Three things here already exist in `@ifc-lite/export`, and all three are
56
- * copied for ONE reason: that package's `exports` map exposes only `.`, and its
57
- * `index.ts` re-exports none of them, so reaching any of them would mean adding
58
- * a published export (and an `api-surface` entry) to a v4.0.0 package in order
59
- * to fix a CLI bug.
60
- *
61
- * - `filterHiddenRefsFromRelationshipLine` (`reference-collector.ts`) is the
62
- * same job, done better: it filters EVERY parenthesised attribute of ANY
63
- * `IFCREL*` line against an `isExcluded` predicate, so it needs no slot
64
- * table at all, and it carries an edge case this module has no equivalent
65
- * of (`IfcRelConnectsStructuralMember`'s optional trailing placement).
66
- * Adopting it would delete most of this file. The export barrier above is
67
- * the whole reason it is not adopted here, and nothing else: fed only
68
- * today's three types it would change no behaviour, because the CALLER
69
- * picks which lines it sees. Widening the type set is the separate decision,
70
- * and that is the one that changes which relations survive an extraction.
71
- * Consolidation follow-up: #4125.
72
- * - `splitTopLevelStepArguments` (`step-argument-parser.ts`) and
73
- * `skipStepComment` (`step-comment-skip.ts`): see {@link splitTopLevelArgs}.
74
- * - `STRUCTURE_RELATIONS` (`merged-empty-containers.ts`): three lines, see
75
- * below.
76
- */
77
1
  /**
78
2
  * One parsed STEP record, as `extract-entities.ts`'s `parseStep` produces it.
79
3
  * Declared HERE and imported there, rather than the other way round, so the
@@ -1 +1 @@
1
- {"version":3,"file":"subset-relations.d.ts","sourceRoot":"","sources":["../../src/commands/subset-relations.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2EG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,4EAA4E;IAC5E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAIhE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,aAAa,QAAa,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC/B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,mBAAmB,CAarB;AA8DD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBxD;AAgDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAuC/D"}
1
+ {"version":3,"file":"subset-relations.d.ts","sourceRoot":"","sources":["../../src/commands/subset-relations.ts"],"names":[],"mappings":"AAmFA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClB,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,4EAA4E;IAC5E,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAIhE,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAE1C,wEAAwE;AACxE,eAAO,MAAM,aAAa,QAAa,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAC/B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,mBAAmB,CAarB;AA8DD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBxD;AAgDD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAgC/D"}