@ifc-lite/create 3.2.0 → 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 (149) hide show
  1. package/README.md +9 -0
  2. package/dist/in-store/auto-space-detect.d.ts +1 -1
  3. package/dist/in-store/auto-space-detect.js +1 -1
  4. package/dist/in-store/beam.d.ts +10 -1
  5. package/dist/in-store/beam.d.ts.map +1 -1
  6. package/dist/in-store/beam.js +14 -25
  7. package/dist/in-store/beam.js.map +1 -1
  8. package/dist/in-store/column.d.ts +10 -1
  9. package/dist/in-store/column.d.ts.map +1 -1
  10. package/dist/in-store/column.js +23 -22
  11. package/dist/in-store/column.js.map +1 -1
  12. package/dist/in-store/copy-frame.d.ts +52 -0
  13. package/dist/in-store/copy-frame.d.ts.map +1 -0
  14. package/dist/in-store/copy-frame.js +99 -0
  15. package/dist/in-store/copy-frame.js.map +1 -0
  16. package/dist/in-store/copy-product.d.ts +96 -0
  17. package/dist/in-store/copy-product.d.ts.map +1 -0
  18. package/dist/in-store/copy-product.js +318 -0
  19. package/dist/in-store/copy-product.js.map +1 -0
  20. package/dist/in-store/curtain-wall.d.ts +87 -0
  21. package/dist/in-store/curtain-wall.d.ts.map +1 -0
  22. package/dist/in-store/curtain-wall.js +237 -0
  23. package/dist/in-store/curtain-wall.js.map +1 -0
  24. package/dist/in-store/extract-grids.d.ts +46 -0
  25. package/dist/in-store/extract-grids.d.ts.map +1 -0
  26. package/dist/in-store/extract-grids.js +211 -0
  27. package/dist/in-store/extract-grids.js.map +1 -0
  28. package/dist/in-store/extract-walls.d.ts +12 -23
  29. package/dist/in-store/extract-walls.d.ts.map +1 -1
  30. package/dist/in-store/extract-walls.js +6 -69
  31. package/dist/in-store/extract-walls.js.map +1 -1
  32. package/dist/in-store/generate-spaces.d.ts +1 -1
  33. package/dist/in-store/grid.d.ts +118 -0
  34. package/dist/in-store/grid.d.ts.map +1 -0
  35. package/dist/in-store/grid.js +194 -0
  36. package/dist/in-store/grid.js.map +1 -0
  37. package/dist/in-store/host-geometry-frame.d.ts +44 -0
  38. package/dist/in-store/host-geometry-frame.d.ts.map +1 -0
  39. package/dist/in-store/host-geometry-frame.js +146 -0
  40. package/dist/in-store/host-geometry-frame.js.map +1 -0
  41. package/dist/in-store/hosted-element-edit.d.ts +29 -0
  42. package/dist/in-store/hosted-element-edit.d.ts.map +1 -0
  43. package/dist/in-store/hosted-element-edit.js +120 -0
  44. package/dist/in-store/hosted-element-edit.js.map +1 -0
  45. package/dist/in-store/hosted-element.d.ts +41 -0
  46. package/dist/in-store/hosted-element.d.ts.map +1 -0
  47. package/dist/in-store/hosted-element.js +124 -0
  48. package/dist/in-store/hosted-element.js.map +1 -0
  49. package/dist/in-store/hosted-fill-read.d.ts +56 -0
  50. package/dist/in-store/hosted-fill-read.d.ts.map +1 -0
  51. package/dist/in-store/hosted-fill-read.js +197 -0
  52. package/dist/in-store/hosted-fill-read.js.map +1 -0
  53. package/dist/in-store/hosted-global-id.d.ts +8 -0
  54. package/dist/in-store/hosted-global-id.d.ts.map +1 -0
  55. package/dist/in-store/hosted-global-id.js +53 -0
  56. package/dist/in-store/hosted-global-id.js.map +1 -0
  57. package/dist/in-store/hosted-placement-edit.d.ts +30 -0
  58. package/dist/in-store/hosted-placement-edit.d.ts.map +1 -0
  59. package/dist/in-store/hosted-placement-edit.js +123 -0
  60. package/dist/in-store/hosted-placement-edit.js.map +1 -0
  61. package/dist/in-store/hosted-scale-chain.d.ts +12 -0
  62. package/dist/in-store/hosted-scale-chain.d.ts.map +1 -0
  63. package/dist/in-store/hosted-scale-chain.js +74 -0
  64. package/dist/in-store/hosted-scale-chain.js.map +1 -0
  65. package/dist/in-store/hosted-shape-edit.d.ts +9 -0
  66. package/dist/in-store/hosted-shape-edit.d.ts.map +1 -0
  67. package/dist/in-store/hosted-shape-edit.js +79 -0
  68. package/dist/in-store/hosted-shape-edit.js.map +1 -0
  69. package/dist/in-store/index.d.ts +59 -0
  70. package/dist/in-store/index.d.ts.map +1 -0
  71. package/dist/in-store/index.js +64 -0
  72. package/dist/in-store/index.js.map +1 -0
  73. package/dist/in-store/member.d.ts +8 -2
  74. package/dist/in-store/member.d.ts.map +1 -1
  75. package/dist/in-store/member.js +12 -14
  76. package/dist/in-store/member.js.map +1 -1
  77. package/dist/in-store/placement-frame.d.ts +9 -4
  78. package/dist/in-store/placement-frame.d.ts.map +1 -1
  79. package/dist/in-store/placement-frame.js +20 -35
  80. package/dist/in-store/placement-frame.js.map +1 -1
  81. package/dist/in-store/profile.d.ts +141 -0
  82. package/dist/in-store/profile.d.ts.map +1 -0
  83. package/dist/in-store/profile.js +174 -0
  84. package/dist/in-store/profile.js.map +1 -0
  85. package/dist/in-store/railing.d.ts +65 -0
  86. package/dist/in-store/railing.d.ts.map +1 -0
  87. package/dist/in-store/railing.js +112 -0
  88. package/dist/in-store/railing.js.map +1 -0
  89. package/dist/in-store/rel-connects-path.d.ts +43 -0
  90. package/dist/in-store/rel-connects-path.d.ts.map +1 -0
  91. package/dist/in-store/rel-connects-path.js +65 -0
  92. package/dist/in-store/rel-connects-path.js.map +1 -0
  93. package/dist/in-store/resolve-host.d.ts +12 -1
  94. package/dist/in-store/resolve-host.d.ts.map +1 -1
  95. package/dist/in-store/resolve-host.js +169 -85
  96. package/dist/in-store/resolve-host.js.map +1 -1
  97. package/dist/in-store/resolve-source.d.ts.map +1 -1
  98. package/dist/in-store/resolve-source.js +39 -59
  99. package/dist/in-store/resolve-source.js.map +1 -1
  100. package/dist/in-store/schema-attributes.d.ts +5 -0
  101. package/dist/in-store/schema-attributes.d.ts.map +1 -1
  102. package/dist/in-store/schema-attributes.js +9 -2
  103. package/dist/in-store/schema-attributes.js.map +1 -1
  104. package/dist/in-store/space-footprints.d.ts +55 -0
  105. package/dist/in-store/space-footprints.d.ts.map +1 -0
  106. package/dist/in-store/space-footprints.js +260 -0
  107. package/dist/in-store/space-footprints.js.map +1 -0
  108. package/dist/in-store/space.d.ts.map +1 -1
  109. package/dist/in-store/space.js +15 -3
  110. package/dist/in-store/space.js.map +1 -1
  111. package/dist/in-store/spatial-children.d.ts +1 -1
  112. package/dist/in-store/spatial-children.js +1 -1
  113. package/dist/in-store/stair-edit.d.ts +24 -0
  114. package/dist/in-store/stair-edit.d.ts.map +1 -0
  115. package/dist/in-store/stair-edit.js +190 -0
  116. package/dist/in-store/stair-edit.js.map +1 -0
  117. package/dist/in-store/stair.d.ts +58 -0
  118. package/dist/in-store/stair.d.ts.map +1 -0
  119. package/dist/in-store/stair.js +156 -0
  120. package/dist/in-store/stair.js.map +1 -0
  121. package/dist/in-store/wall-join-apply.d.ts +74 -0
  122. package/dist/in-store/wall-join-apply.d.ts.map +1 -0
  123. package/dist/in-store/wall-join-apply.js +137 -0
  124. package/dist/in-store/wall-join-apply.js.map +1 -0
  125. package/dist/in-store/wall-join-edit.d.ts +70 -0
  126. package/dist/in-store/wall-join-edit.d.ts.map +1 -0
  127. package/dist/in-store/wall-join-edit.js +217 -0
  128. package/dist/in-store/wall-join-edit.js.map +1 -0
  129. package/dist/in-store/wall-join-read.d.ts +60 -0
  130. package/dist/in-store/wall-join-read.d.ts.map +1 -0
  131. package/dist/in-store/wall-join-read.js +230 -0
  132. package/dist/in-store/wall-join-read.js.map +1 -0
  133. package/dist/in-store/wall-join.d.ts +122 -0
  134. package/dist/in-store/wall-join.d.ts.map +1 -0
  135. package/dist/in-store/wall-join.js +231 -0
  136. package/dist/in-store/wall-join.js.map +1 -0
  137. package/dist/in-store/wall-opening-fit.d.ts +11 -0
  138. package/dist/in-store/wall-opening-fit.d.ts.map +1 -0
  139. package/dist/in-store/wall-opening-fit.js +27 -0
  140. package/dist/in-store/wall-opening-fit.js.map +1 -0
  141. package/dist/in-store/wall.d.ts +32 -0
  142. package/dist/in-store/wall.d.ts.map +1 -1
  143. package/dist/in-store/wall.js +77 -13
  144. package/dist/in-store/wall.js.map +1 -1
  145. package/dist/index.d.ts +1 -38
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +2 -40
  148. package/dist/index.js.map +1 -1
  149. package/package.json +6 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rel-connects-path.js","sourceRoot":"","sources":["../../src/in-store/rel-connects-path.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  import type { IfcDataStore } from '@ifc-lite/parser';
2
2
  import type { MutablePropertyView } from '@ifc-lite/mutations';
3
- import type { HostAnchor } from './anchor.js';
3
+ import type { HostAnchor, HostBounds } from './anchor.js';
4
4
  export declare function resolveHostAnchor(store: IfcDataStore, hostExpressId: number, view?: MutablePropertyView | null): HostAnchor;
5
+ /**
6
+ * The extent of `productId`'s Body geometry in its PARENT placement's frame
7
+ * (native units): the body bounds taken through the product's own
8
+ * RelativePlacement. For an opening placed relative to its host, that is the
9
+ * cut's extent in the host's frame, whatever profile or orientation the
10
+ * authoring tool gave it. Null when the product has no readable body.
11
+ */
12
+ export declare function placedBodyExtent(store: IfcDataStore, productId: number, view?: MutablePropertyView | null): HostBounds | null;
13
+ /** Package-private Model Body bounds before ObjectPlacement. Plan annotation
14
+ * representations are not physical volume; unreadable 3D parts still refuse. */
15
+ export declare function localBodyExtent(store: IfcDataStore, productId: number, view?: MutablePropertyView | null): HostBounds | null;
5
16
  //# sourceMappingURL=resolve-host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-host.d.ts","sourceRoot":"","sources":["../../src/in-store/resolve-host.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAwB,MAAM,aAAa,CAAC;AAepE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAChC,UAAU,CAuBZ"}
1
+ {"version":3,"file":"resolve-host.d.ts","sourceRoot":"","sources":["../../src/in-store/resolve-host.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAY,MAAM,aAAa,CAAC;AAYpE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,YAAY,EACnB,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAChC,UAAU,CAuBZ;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAChC,UAAU,GAAG,IAAI,CAYnB;AAED;gFACgF;AAChF,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAK5H"}
@@ -13,6 +13,7 @@
13
13
  * which the opening builder derives the default cut depth.
14
14
  */
15
15
  import { firstProjAxis } from '@ifc-lite/data';
16
+ import { axis2d, axis3d, applyFrame, composeFrame, contextDimension, pointOf, refId, num, transformBounds, unit, vec3 } from './host-geometry-frame.js';
16
17
  import { AnchorEntityReader, resolveSpatialAnchor } from './resolve-anchor.js';
17
18
  const HOST_KINDS = new Map([
18
19
  ['IFCWALL', 'wall'],
@@ -44,21 +45,41 @@ export function resolveHostAnchor(store, hostExpressId, view) {
44
45
  const hostBounds = shapeId === null ? null : bodyBounds(reader, shapeId);
45
46
  return { ...anchor, hostId: hostExpressId, hostKind, hostPlacementId, hostBounds };
46
47
  }
48
+ /**
49
+ * The extent of `productId`'s Body geometry in its PARENT placement's frame
50
+ * (native units): the body bounds taken through the product's own
51
+ * RelativePlacement. For an opening placed relative to its host, that is the
52
+ * cut's extent in the host's frame, whatever profile or orientation the
53
+ * authoring tool gave it. Null when the product has no readable body.
54
+ */
55
+ export function placedBodyExtent(store, productId, view) {
56
+ const reader = new AnchorEntityReader(store, view);
57
+ const product = reader.entity(productId);
58
+ if (!product)
59
+ return null;
60
+ const shapeId = refId(named(product, 'Representation', 6));
61
+ const local = shapeId === null ? null : bodyBounds(reader, shapeId);
62
+ const placementId = refId(named(product, 'ObjectPlacement', 5));
63
+ const placement = placementId === null ? null : reader.entity(placementId);
64
+ if (!local || placement?.type.toUpperCase() !== 'IFCLOCALPLACEMENT' || refId(placement.attributes[1]) === null)
65
+ return null;
66
+ const frame = axis3d(reader, placement.attributes[1]);
67
+ if (!frame)
68
+ return null;
69
+ return transformBounds(local, frame);
70
+ }
71
+ /** Package-private Model Body bounds before ObjectPlacement. Plan annotation
72
+ * representations are not physical volume; unreadable 3D parts still refuse. */
73
+ export function localBodyExtent(store, productId, view) {
74
+ const reader = new AnchorEntityReader(store, view);
75
+ const product = reader.entity(productId);
76
+ const shapeId = product ? refId(named(product, 'Representation', 6)) : null;
77
+ return shapeId === null ? null : bodyBounds(reader, shapeId);
78
+ }
47
79
  function named(record, name, fallback) {
48
80
  const index = record.names.indexOf(name);
49
81
  return record.attributes[index >= 0 ? index : fallback];
50
82
  }
51
- /** An entity reference as the source extractor (`42`) or the overlay (`'#42'`) spells it. */
52
- function refId(value) {
53
- if (typeof value === 'number' && Number.isInteger(value) && value > 0)
54
- return value;
55
- if (typeof value === 'string' && /^#[1-9][0-9]*$/.test(value))
56
- return Number(value.slice(1));
57
- return null;
58
- }
59
- function num(value) {
60
- return typeof value === 'number' && Number.isFinite(value) ? value : null;
61
- }
62
83
  function containingStorey(reader, hostId) {
63
84
  for (const relId of reader.ids('IFCRELCONTAINEDINSPATIALSTRUCTURE')) {
64
85
  const rel = reader.entity(relId);
@@ -82,17 +103,23 @@ function bodyBounds(reader, productShapeId) {
82
103
  const repId = refId(repRef);
83
104
  const rep = repId === null ? null : reader.entity(repId);
84
105
  if (!rep)
85
- continue;
106
+ return null;
86
107
  const identifier = rep.attributes[1];
87
108
  if (typeof identifier === 'string' && identifier.toLowerCase() !== 'body')
88
109
  continue;
89
- const items = rep.attributes[3];
90
- if (!Array.isArray(items))
110
+ const contextId = refId(rep.attributes[0]);
111
+ const dimension = contextId === null ? null : contextDimension(reader, contextId);
112
+ if (dimension === null)
113
+ return null;
114
+ if (dimension === 2)
91
115
  continue;
116
+ const items = rep.attributes[3];
117
+ if (!Array.isArray(items) || items.length === 0)
118
+ return null;
92
119
  for (const item of items) {
93
120
  const itemId = refId(item);
94
- if (itemId !== null)
95
- collectItemPoints(reader, itemId, points);
121
+ if (itemId === null || !collectItemPoints(reader, itemId, points))
122
+ return null;
96
123
  }
97
124
  }
98
125
  if (points.length === 0)
@@ -110,51 +137,148 @@ function bodyBounds(reader, productShapeId) {
110
137
  /**
111
138
  * Points bounding one representation item. A boolean result is bounded by its
112
139
  * FirstOperand (a clipping only removes material, so the operand's bounds are
113
- * conservative); the chain is walked iteratively with a visited set because
114
- * operand references come from the file.
140
+ * conservative). Mapped items compose MappingTarget · MappingOrigin, matching the
141
+ * canonical Rust renderer. An iterative path set preserves two real instances of one map,
142
+ * while a work/point budget also bounds acyclic fan-out (#6232 D5).
115
143
  */
116
144
  function collectItemPoints(reader, itemId, out) {
117
- const seen = new Set();
118
- let id = itemId;
119
- while (id !== null && !seen.has(id)) {
120
- seen.add(id);
121
- const item = reader.entity(id);
145
+ const identity = { o: [0, 0, 0], x: [1, 0, 0], y: [0, 1, 0], z: [0, 0, 1] };
146
+ const stack = [{ id: itemId, frame: identity, exit: false }];
147
+ const path = new Set();
148
+ const records = new Map();
149
+ const mappings = new Map();
150
+ const leaves = new Map();
151
+ let work = 0;
152
+ while (stack.length) {
153
+ const task = stack.pop();
154
+ if (task.exit) {
155
+ path.delete(task.id);
156
+ continue;
157
+ }
158
+ if (++work > 10_000 || path.has(task.id))
159
+ return false;
160
+ path.add(task.id);
161
+ stack.push({ ...task, exit: true });
162
+ if (!records.has(task.id))
163
+ records.set(task.id, reader.entity(task.id));
164
+ const item = records.get(task.id);
122
165
  if (!item)
123
- return;
166
+ return false;
124
167
  const type = item.type.toUpperCase();
125
168
  if (type === 'IFCBOOLEANRESULT' || type === 'IFCBOOLEANCLIPPINGRESULT') {
126
- id = refId(item.attributes[1]);
169
+ const id = refId(item.attributes[1]);
170
+ if (id === null)
171
+ return false;
172
+ stack.push({ id, frame: task.frame, exit: false });
173
+ continue;
174
+ }
175
+ if (type === 'IFCMAPPEDITEM') {
176
+ if (!mappings.has(task.id))
177
+ mappings.set(task.id, mappedItemFrame(reader, item.attributes));
178
+ const mapped = mappings.get(task.id);
179
+ if (!mapped || mapped.items.length > 10_000 - work)
180
+ return false;
181
+ const frame = composeFrame(task.frame, mapped.frame);
182
+ for (const id of mapped.items)
183
+ stack.push({ id, frame, exit: false });
127
184
  continue;
128
185
  }
129
- if (type === 'IFCEXTRUDEDAREASOLID')
130
- extrudedPoints(reader, item.attributes, out);
131
- else if (type === 'IFCTRIANGULATEDFACESET' || type === 'IFCPOLYGONALFACESET') {
132
- const list = refId(item.attributes[0]);
133
- const coords = list === null ? null : reader.entity(list)?.attributes[0];
134
- if (Array.isArray(coords))
186
+ let points = leaves.get(task.id);
187
+ if (!points) {
188
+ points = [];
189
+ if (type === 'IFCEXTRUDEDAREASOLID')
190
+ extrudedPoints(reader, item.attributes, points);
191
+ else if (type === 'IFCTRIANGULATEDFACESET' || type === 'IFCPOLYGONALFACESET') {
192
+ const list = refId(item.attributes[0]);
193
+ const coords = list === null ? null : reader.entity(list)?.attributes[0];
194
+ if (!Array.isArray(coords) || coords.length > 100_000)
195
+ return false;
135
196
  for (const c of coords) {
136
197
  const p = vec3(c);
137
- if (p)
138
- out.push(p);
198
+ if (!p)
199
+ return false;
200
+ points.push(p);
139
201
  }
202
+ }
203
+ leaves.set(task.id, points);
204
+ }
205
+ if (points.length === 0 || out.length + points.length > 100_000)
206
+ return false;
207
+ for (const p of points) {
208
+ const placed = applyFrame(task.frame, p);
209
+ if (!placed.every(Number.isFinite))
210
+ return false;
211
+ out.push(placed);
140
212
  }
141
- return;
142
213
  }
214
+ return true;
215
+ }
216
+ function mappedItemFrame(reader, attrs) {
217
+ const mapId = refId(attrs[0]), targetId = refId(attrs[1]);
218
+ const map = mapId === null ? null : reader.entity(mapId);
219
+ const target = targetId === null ? null : reader.entity(targetId);
220
+ const originId = map ? refId(map.attributes[0]) : null;
221
+ const origin = originId === null ? null : reader.entity(originId);
222
+ const repId = map ? refId(map.attributes[1]) : null;
223
+ const rep = repId === null ? null : reader.entity(repId);
224
+ if (!map || !target || origin?.type.toUpperCase() !== 'IFCAXIS2PLACEMENT3D' || !pointOf(reader, origin.attributes[0]) || !rep || !Array.isArray(rep.attributes[3]))
225
+ return null;
226
+ const targetType = target.type.toUpperCase();
227
+ if (targetType !== 'IFCCARTESIANTRANSFORMATIONOPERATOR3D' && targetType !== 'IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM')
228
+ return null;
229
+ const a = target.attributes;
230
+ const o = pointOf(reader, a[2]);
231
+ // IfcBaseAxis derives Z first, projects Axis1 off Z, then projects Axis2
232
+ // off both. Axis2's sense permits mirroring; normalizing three unrelated
233
+ // supplied vectors would produce a skew instead of the specified operator.
234
+ // https://standards.buildingsmart.org/IFC/RELEASE/IFC4_3/HTML/lexical/IfcBaseAxis.htm
235
+ const direction = (value, fallback) => value === null || value === undefined ? fallback : pointOf(reader, value, 'IFCDIRECTION');
236
+ const zAxis = unit(direction(a[4], [0, 0, 1]) ?? [0, 0, 0]);
237
+ if (!zAxis)
238
+ return null;
239
+ const project = (v, axes) => {
240
+ const p = [...v];
241
+ for (const axis of axes) {
242
+ const dot = v[0] * axis[0] + v[1] * axis[1] + v[2] * axis[2];
243
+ for (let i = 0; i < 3; i++)
244
+ p[i] -= dot * axis[i];
245
+ }
246
+ return unit(p);
247
+ };
248
+ const xArg = direction(a[0], firstProjAxis(zAxis));
249
+ const xAxis = xArg ? project(xArg, [zAxis]) : null;
250
+ const yArg = direction(a[1], [0, 1, 0]);
251
+ const yAxis = yArg && xAxis ? project(yArg, [zAxis, xAxis]) : null;
252
+ if (!xAxis || !yAxis)
253
+ return null;
254
+ const scale = a[3] === null || a[3] === undefined ? 1 : num(a[3]);
255
+ const scales = [scale, a[5] === null || a[5] === undefined ? scale : num(a[5]), a[6] === null || a[6] === undefined ? scale : num(a[6])];
256
+ if (!o || scales.some(v => v === null || v <= 0))
257
+ return null;
258
+ const [x, y, z] = [xAxis, yAxis, zAxis].map((v, i) => v.map(n => n * scales[i]));
259
+ const source = axis3d(reader, originId);
260
+ if (!source)
261
+ return null;
262
+ const items = rep.attributes[3].map(refId);
263
+ if (items.some(id => id === null) || items.length === 0)
264
+ return null;
265
+ return { items: items, frame: composeFrame({ o, x, y, z }, source) };
143
266
  }
144
267
  /** IfcExtrudedAreaSolid: SweptArea(0), Position(1), ExtrudedDirection(2), Depth(3). */
145
268
  function extrudedPoints(reader, attrs, out) {
146
269
  const profileId = refId(attrs[0]);
147
270
  const outline = profileId === null ? null : profileOutline(reader, profileId);
148
271
  const depth = num(attrs[3]);
149
- const dirId = refId(attrs[2]);
150
- const dir = dirId === null ? null : vec3(reader.entity(dirId)?.attributes[0]);
151
- if (!outline || depth === null || !dir)
272
+ const dir = pointOf(reader, attrs[2], 'IFCDIRECTION');
273
+ if (!outline || depth === null || depth <= 0 || !dir)
152
274
  return;
153
275
  const len = Math.hypot(dir[0], dir[1], dir[2]);
154
276
  if (len === 0)
155
277
  return;
156
278
  const d = [dir[0] / len * depth, dir[1] / len * depth, dir[2] / len * depth];
157
279
  const frame = axis3d(reader, attrs[1]);
280
+ if (!frame)
281
+ return;
158
282
  for (const [px, py] of outline) {
159
283
  for (const t of [0, 1]) {
160
284
  const local = [px + d[0] * t, py + d[1] * t, d[2] * t];
@@ -171,9 +295,11 @@ function profileOutline(reader, profileId) {
171
295
  if (type === 'IFCRECTANGLEPROFILEDEF' || type === 'IFCRECTANGLEHOLLOWPROFILEDEF' || type === 'IFCROUNDEDRECTANGLEPROFILEDEF') {
172
296
  const xd = num(profile.attributes[3]);
173
297
  const yd = num(profile.attributes[4]);
174
- if (xd === null || yd === null)
298
+ if (xd === null || yd === null || xd <= 0 || yd <= 0)
175
299
  return null;
176
300
  const frame = axis2d(reader, profile.attributes[2]);
301
+ if (!frame)
302
+ return null;
177
303
  return [[-1, -1], [1, -1], [1, 1], [-1, 1]].map(([sx, sy]) => {
178
304
  const x = sx * xd / 2;
179
305
  const y = sy * yd / 2;
@@ -188,7 +314,7 @@ function profileOutline(reader, profileId) {
188
314
  const curveType = curve.type.toUpperCase();
189
315
  let raw = [];
190
316
  if (curveType === 'IFCPOLYLINE' && Array.isArray(curve.attributes[0])) {
191
- raw = curve.attributes[0].map((p) => { const id = refId(p); return id === null ? null : reader.entity(id)?.attributes[0]; });
317
+ raw = curve.attributes[0].map(p => pointOf(reader, p, 'IFCCARTESIANPOINT', 2)?.slice(0, 2));
192
318
  }
193
319
  else if (curveType === 'IFCINDEXEDPOLYCURVE') {
194
320
  const listId = refId(curve.attributes[0]);
@@ -196,54 +322,12 @@ function profileOutline(reader, profileId) {
196
322
  if (Array.isArray(list))
197
323
  raw = list;
198
324
  }
199
- const pts = raw.map(vec3).filter((p) => p !== null).map((p) => [p[0], p[1]]);
325
+ const points = raw.map(value => vec3(value, 2));
326
+ if (points.some(p => p === null))
327
+ return null;
328
+ const pts = points.map((p) => [p[0], p[1]]);
200
329
  return pts.length >= 3 ? pts : null;
201
330
  }
202
331
  return null;
203
332
  }
204
- function vec3(value) {
205
- if (!Array.isArray(value) || value.length < 2)
206
- return null;
207
- const x = num(value[0]);
208
- const y = num(value[1]);
209
- const z = value.length >= 3 ? num(value[2]) : 0;
210
- return x === null || y === null || z === null ? null : [x, y, z];
211
- }
212
- function pointOf(reader, ref) {
213
- const id = refId(ref);
214
- return id === null ? null : vec3(reader.entity(id)?.attributes[0]);
215
- }
216
- function unit(v) {
217
- const len = Math.hypot(v[0], v[1], v[2]);
218
- return len > 1e-12 ? [v[0] / len, v[1] / len, v[2] / len] : null;
219
- }
220
- /** IfcAxis2Placement2D: Location(0), RefDirection(1). */
221
- function axis2d(reader, ref) {
222
- const id = refId(ref);
223
- const placement = id === null ? null : reader.entity(id);
224
- const o = placement ? pointOf(reader, placement.attributes[0]) : null;
225
- const dir = placement ? pointOf(reader, placement.attributes[1]) : null;
226
- const x = dir ? unit([dir[0], dir[1], 0]) : null;
227
- return { o: o ? [o[0], o[1]] : [0, 0], x: x ? [x[0], x[1]] : [1, 0] };
228
- }
229
- /** IfcAxis2Placement3D: Location(0), Axis(1), RefDirection(2), orthonormalised. */
230
- function axis3d(reader, ref) {
231
- const id = refId(ref);
232
- const placement = id === null ? null : reader.entity(id);
233
- const o = (placement && pointOf(reader, placement.attributes[0])) ?? [0, 0, 0];
234
- const z = (placement && unit(pointOf(reader, placement.attributes[1]) ?? [0, 0, 1])) ?? [0, 0, 1];
235
- // An absent RefDirection gets the renderer's fill (#5922), not a local guess.
236
- const r = (placement && pointOf(reader, placement.attributes[2])) ?? firstProjAxis(z);
237
- const dot = r[0] * z[0] + r[1] * z[1] + r[2] * z[2];
238
- const x = unit([r[0] - dot * z[0], r[1] - dot * z[1], r[2] - dot * z[2]]) ?? [1, 0, 0];
239
- const y = [z[1] * x[2] - z[2] * x[1], z[2] * x[0] - z[0] * x[2], z[0] * x[1] - z[1] * x[0]];
240
- return { o, x, y, z };
241
- }
242
- function applyFrame(f, p) {
243
- return [
244
- f.o[0] + f.x[0] * p[0] + f.y[0] * p[1] + f.z[0] * p[2],
245
- f.o[1] + f.x[1] * p[0] + f.y[1] * p[1] + f.z[1] * p[2],
246
- f.o[2] + f.x[2] * p[0] + f.y[2] * p[1] + f.z[2] * p[2],
247
- ];
248
- }
249
333
  //# sourceMappingURL=resolve-host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-host.js","sourceRoot":"","sources":["../../src/in-store/resolve-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-host.js","sourceRoot":"","sources":["../../src/in-store/resolve-host.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-source.d.ts","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,EAA2E,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9H,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG1G,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,gBAAgB,CAAC;AA0ChF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,gBAAgB,CAsIlB"}
1
+ {"version":3,"file":"resolve-source.d.ts","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AAEH,OAAO,EAA2E,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9H,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG1G,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,gBAAgB,CAAC;AA+BhF;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,YAAY,EACnB,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,WAAW,GACnB,gBAAgB,CA8HlB"}
@@ -32,23 +32,10 @@ const ASSOCIATION_REL_TYPES = [
32
32
  'IFCRELASSOCIATESCLASSIFICATION',
33
33
  'IFCRELASSOCIATESDOCUMENT',
34
34
  ];
35
- function asString(v) {
36
- if (v === null || v === undefined)
37
- return '$';
38
- if (typeof v === 'number')
39
- return `#${v}`;
40
- if (typeof v === 'string')
41
- return v;
42
- return '$';
43
- }
44
- /**
45
- * Like asString but maps the omitted-token sentinel (`$`) to `null`.
46
- * The editor serialises plain strings as quoted STEP literals, so the
47
- * verbatim `'$'` would land as `'$'` in output instead of the bare token.
48
- */
49
- function asRefOrNull(v) {
50
- const s = asString(v);
51
- return s === '$' ? null : s;
35
+ /** A reference slot as the verbatim `#N` token the editor writes back, or null when omitted. */
36
+ function refToken(v) {
37
+ const id = asRef(v);
38
+ return id === null ? null : `#${id}`;
52
39
  }
53
40
  function asNumber(v) {
54
41
  if (typeof v === 'number')
@@ -67,65 +54,58 @@ export function resolveDuplicateSource(store, sourceExpressId, editor) {
67
54
  if (editor?.getMutationView().isDeleted(sourceExpressId)) {
68
55
  throw new Error(`resolveDuplicateSource: entity #${sourceExpressId} was deleted`);
69
56
  }
70
- // @raw-entity-enumeration-ok point read of the duplicated source product's own placement chain; a deleted source was refused above and a created one has no bytes to duplicate from
71
- const sourceRef = store.entityIndex.byId.get(sourceExpressId);
72
- if (!sourceRef) {
73
- throw new Error(`resolveDuplicateSource: entity #${sourceExpressId} not found`);
74
- }
75
57
  const extractor = new EntityExtractor(store.source);
76
- const sourceEntity = extractor.extractEntity(sourceRef);
58
+ // With a session editor, every record is read as the next export writes it:
59
+ // an element created this session (it has no source bytes) and a moved one
60
+ // (its placement point edited) are duplicated as they are now (#6232 C3).
61
+ const read = editor ? createStyleEntityReader(store, editor) : (id) => {
62
+ // @raw-entity-enumeration-ok point read of the duplicated source product's own placement chain when no session editor was supplied
63
+ const ref = store.entityIndex.byId.get(id);
64
+ return ref ? extractor.extractEntity(ref) : null;
65
+ };
66
+ const sourceEntity = read(sourceExpressId);
77
67
  if (!sourceEntity) {
78
- throw new Error(`resolveDuplicateSource: could not parse #${sourceExpressId}`);
68
+ throw new Error(`resolveDuplicateSource: entity #${sourceExpressId} not found`);
79
69
  }
80
- const attrs = sourceEntity.attributes;
70
+ const attrs = [...sourceEntity.attributes];
81
71
  // OwnerHistory is optional in IFC4, so null is a valid round-trip
82
72
  // value here. The duplicate flow re-emits null on the new entity.
83
- const ownerHistoryId = asNumber(attrs[1]);
84
- const placementId = asNumber(attrs[5]);
85
- const representationId = asNumber(attrs[6]);
73
+ const ownerHistoryId = asRef(attrs[1]);
74
+ const placementId = asRef(attrs[5]);
75
+ const representationId = asRef(attrs[6]);
76
+ // A parsed `#N` is a bare number, which the editor would write back as an
77
+ // INTEGER, not a reference: carry the product's reference slots as `#N`.
78
+ attrs[1] = ownerHistoryId === null ? null : `#${ownerHistoryId}`;
79
+ attrs[6] = representationId === null ? null : `#${representationId}`;
86
80
  if (placementId === null) {
87
81
  throw new Error(`resolveDuplicateSource: #${sourceExpressId} has no ObjectPlacement — only IfcProduct can be duplicated`);
88
82
  }
89
- // @raw-entity-enumeration-ok point read of the duplicated source product's own placement chain; a deleted source was refused above and a created one has no bytes to duplicate from
90
- const placementRef = store.entityIndex.byId.get(placementId);
91
- if (!placementRef) {
92
- throw new Error(`resolveDuplicateSource: placement #${placementId} missing from index`);
93
- }
94
- const placementEntity = extractor.extractEntity(placementRef);
83
+ attrs[5] = `#${placementId}`;
84
+ const placementEntity = read(placementId);
95
85
  if (!placementEntity) {
96
- throw new Error(`resolveDuplicateSource: could not parse placement #${placementId}`);
86
+ throw new Error(`resolveDuplicateSource: could not read placement #${placementId}`);
97
87
  }
98
- const parentPlacementId = asNumber(placementEntity.attributes[0]); // PlacementRelTo
99
- const axisPlacementId = asNumber(placementEntity.attributes[1]); // RelativePlacement
88
+ const parentPlacementId = asRef(placementEntity.attributes[0]); // PlacementRelTo
89
+ const axisPlacementId = asRef(placementEntity.attributes[1]); // RelativePlacement
100
90
  if (axisPlacementId === null) {
101
91
  throw new Error(`resolveDuplicateSource: placement #${placementId} has no RelativePlacement`);
102
92
  }
103
- // @raw-entity-enumeration-ok point read of the duplicated source product's own placement chain; a deleted source was refused above and a created one has no bytes to duplicate from
104
- const axisPlacementRef = store.entityIndex.byId.get(axisPlacementId);
105
- if (!axisPlacementRef) {
106
- throw new Error(`resolveDuplicateSource: axis placement #${axisPlacementId} missing`);
107
- }
108
- const axisEntity = extractor.extractEntity(axisPlacementRef);
93
+ const axisEntity = read(axisPlacementId);
109
94
  if (!axisEntity) {
110
- throw new Error(`resolveDuplicateSource: could not parse axis #${axisPlacementId}`);
95
+ throw new Error(`resolveDuplicateSource: could not read axis #${axisPlacementId}`);
111
96
  }
112
- const locationId = asNumber(axisEntity.attributes[0]); // Location → IfcCartesianPoint
113
- const axisRef = asRefOrNull(axisEntity.attributes[1]); // Axis (optional)
114
- const refDirectionRef = asRefOrNull(axisEntity.attributes[2]); // RefDirection (optional)
97
+ const locationId = asRef(axisEntity.attributes[0]); // Location → IfcCartesianPoint
98
+ const axisRef = refToken(axisEntity.attributes[1]); // Axis (optional)
99
+ const refDirectionRef = refToken(axisEntity.attributes[2]); // RefDirection (optional)
115
100
  let sourceLocation = [0, 0, 0];
116
101
  if (locationId !== null) {
117
- // @raw-entity-enumeration-ok point read of the duplicated source product's own placement chain; a deleted source was refused above and a created one has no bytes to duplicate from
118
- const pointRef = store.entityIndex.byId.get(locationId);
119
- if (pointRef) {
120
- const pointEntity = extractor.extractEntity(pointRef);
121
- const coords = pointEntity?.attributes[0];
122
- if (Array.isArray(coords)) {
123
- sourceLocation = [
124
- asNumber(coords[0]) ?? 0,
125
- asNumber(coords[1]) ?? 0,
126
- asNumber(coords[2]) ?? 0,
127
- ];
128
- }
102
+ const coords = read(locationId)?.attributes[0];
103
+ if (Array.isArray(coords)) {
104
+ sourceLocation = [
105
+ asNumber(coords[0]) ?? 0,
106
+ asNumber(coords[1]) ?? 0,
107
+ asNumber(coords[2]) ?? 0,
108
+ ];
129
109
  }
130
110
  }
131
111
  // The duplicate must inherit the storey that saving this session would
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-source.js","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,mCAAmC,EAAqB,MAAM,kBAAkB,CAAC;AAC9H,OAAO,EAAE,yBAAyB,EAA4C,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAG;IAC5B,2BAA2B,EAAM,6CAA6C;IAC9E,qBAAqB,EAAY,eAAe;IAChD,0BAA0B;IAC1B,gCAAgC;IAChC,0BAA0B;CAClB,CAAC;AAEX,SAAS,QAAQ,CAAC,CAAgC;IAChD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAC9C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,CAAgC;IACnD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,QAAQ,CAAC,CAAgC;IAChD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,eAAuB,EACvB,MAAoB;IAEpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,mCAAmC,eAAe,cAAc,CAAC,CAAC;IACpF,CAAC;IACD,oLAAoL;IACpL,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,eAAe,YAAY,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,eAAe,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC;IACtC,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,4BAA4B,eAAe,6DAA6D,CACzG,CAAC;IACJ,CAAC;IAED,oLAAoL;IACpL,MAAM,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,WAAW,qBAAqB,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,eAAe,GAAG,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sDAAsD,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAG,iBAAiB;IACtF,MAAM,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAK,oBAAoB;IACzF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,sCAAsC,WAAW,2BAA2B,CAC7E,CAAC;IACJ,CAAC;IAED,oLAAoL;IACpL,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,2CAA2C,eAAe,UAAU,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iDAAiD,eAAe,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,+BAA+B;IACvF,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAK,kBAAkB;IAC7E,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;IAEzF,IAAI,cAAc,GAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,oLAAoL;QACpL,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,cAAc,GAAG;oBACf,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBACzB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,IAAI,GAAG,MAAM,EAAE,eAAe,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACjD,aAAa,EAAE,mCAAmC,CAAC,KAAK,EAAE;YACxD,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;YAC5C,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnF,eAAe,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC;iBACrE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAU,CAAC;YACnD,oBAAoB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,EAAE,CAAC,IAAI,EAAE;YACpF,UAAU,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,OAAO;YACnE,SAAS,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;SAC9C,CAAC;QACF,SAAS,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,QAAQ,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,EAAE,OAAO;eAC5D,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;KAC5D,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,cAAc,CAAC,IAAI,IAAI,CAAC;IAEnF,gEAAgE;IAChE,mEAAmE;IACnE,kEAAkE;IAClE,kBAAkB;IAClB,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAE1F,kEAAkE;IAClE,+DAA+D;IAC/D,kEAAkE;IAClE,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,wBAAwB,CAAC,IAAI,GAAG,CAAC;IAE9G,gEAAgE;IAChE,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC;IACpF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,4BAA4B,eAAe,gDAAgD,CAC5F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI;QACJ,UAAU,EAAE,KAAK;QACjB,kBAAkB,EAAE,WAAW;QAC/B,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,OAAO;QACP,eAAe;QACf,QAAQ;QACR,eAAe;QACf,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAChC,KAAmB,EACnB,SAA0B,EAC1B,QAAgB,EAChB,MAA+B;IAE/B,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,IAAI,GAAG,MAAM,EAAE,eAAe,EAAE,IAAI,IAAI,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM;QACjB,CAAC,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC;QACxC,CAAC,CAAC,CAAC,EAAU,EAAE,EAAE;YACf,sHAAsH;YACtH,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC,CAAC;IACJ,KAAK,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,yBAAyB,CAAC,KAAK,EAAE,IAAI,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACvG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAS;QAEhE,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,+DAA+D;QAC/D,+DAA+D;QAC/D,6DAA6D;QAC7D,IAAI,iBAAiB,KAAK,IAAI;YAAE,SAAS;QAEzC,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3F,mEAAmE;QACnE,gEAAgE;QAChE,6DAA6D;QAC7D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;QACzE,GAAG,CAAC,IAAI,CAAC;YACP,OAAO,EAAE,gBAAgB;YACzB,cAAc;YACd,IAAI;YACJ,WAAW;YACX,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"resolve-source.js","sourceRoot":"","sources":["../../src/in-store/resolve-source.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,11 @@
16
16
  */
17
17
  import { type SchemaRegistry } from '@ifc-lite/parser';
18
18
  import type { SpatialAnchorSchema } from './anchor.js';
19
+ /**
20
+ * The registry for an authoring schema (default IFC4). Refuses IFC5 / IFCX and
21
+ * anything else that is not IFC2X3, IFC4 or IFC4X3: the in-store builders write
22
+ * STEP entities, which those models do not have.
23
+ */
19
24
  export declare function schemaRegistry(schema: SpatialAnchorSchema | undefined, op: string): SchemaRegistry;
20
25
  /** The schema's canonical spelling of `type`, or null when the class does not exist in it. */
21
26
  export declare function canonicalEntity(registry: SchemaRegistry, type: string): string | null;