@ifc-lite/export 4.5.0 → 4.7.4

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 (208) hide show
  1. package/README.md +5 -5
  2. package/dist/appearance-dependencies.d.ts.map +1 -1
  3. package/dist/appearance-dependencies.js +1 -0
  4. package/dist/appearance-dependencies.js.map +1 -1
  5. package/dist/attribute-real-slots.d.ts.map +1 -1
  6. package/dist/attribute-real-slots.js +7 -1
  7. package/dist/attribute-real-slots.js.map +1 -1
  8. package/dist/attribute-slot-types.js +2 -2
  9. package/dist/attribute-slot-types.js.map +1 -1
  10. package/dist/demesh-prune.d.ts.map +1 -1
  11. package/dist/demesh-prune.js +1 -0
  12. package/dist/demesh-prune.js.map +1 -1
  13. package/dist/demesh-writer.d.ts.map +1 -1
  14. package/dist/demesh-writer.js +1 -0
  15. package/dist/demesh-writer.js.map +1 -1
  16. package/dist/effective-index.d.ts.map +1 -1
  17. package/dist/effective-index.js +2 -0
  18. package/dist/effective-index.js.map +1 -1
  19. package/dist/entity-iteration.d.ts.map +1 -1
  20. package/dist/entity-iteration.js +1 -0
  21. package/dist/entity-iteration.js.map +1 -1
  22. package/dist/entity-type-sets.js +2 -2
  23. package/dist/entity-type-sets.js.map +1 -1
  24. package/dist/generated/ifc4-required-slots.d.ts +17 -0
  25. package/dist/generated/ifc4-required-slots.d.ts.map +1 -0
  26. package/dist/generated/ifc4-required-slots.js +619 -0
  27. package/dist/generated/ifc4-required-slots.js.map +1 -0
  28. package/dist/georef-closure.d.ts.map +1 -1
  29. package/dist/georef-closure.js +5 -0
  30. package/dist/georef-closure.js.map +1 -1
  31. package/dist/ifc5-effective-rows.d.ts +16 -0
  32. package/dist/ifc5-effective-rows.d.ts.map +1 -0
  33. package/dist/ifc5-effective-rows.js +90 -0
  34. package/dist/ifc5-effective-rows.js.map +1 -0
  35. package/dist/ifc5-export-helpers.d.ts +19 -0
  36. package/dist/ifc5-export-helpers.d.ts.map +1 -1
  37. package/dist/ifc5-export-helpers.js +16 -0
  38. package/dist/ifc5-export-helpers.js.map +1 -1
  39. package/dist/ifc5-exporter.d.ts +9 -11
  40. package/dist/ifc5-exporter.d.ts.map +1 -1
  41. package/dist/ifc5-exporter.js +38 -95
  42. package/dist/ifc5-exporter.js.map +1 -1
  43. package/dist/ifc5-pset-properties.d.ts +61 -0
  44. package/dist/ifc5-pset-properties.d.ts.map +1 -0
  45. package/dist/ifc5-pset-properties.js +100 -0
  46. package/dist/ifc5-pset-properties.js.map +1 -0
  47. package/dist/ifc5-tree-scope.js +3 -0
  48. package/dist/ifc5-tree-scope.js.map +1 -1
  49. package/dist/index.d.ts +1 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +1 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/lod0-generator.d.ts.map +1 -1
  54. package/dist/lod0-generator.js +2 -0
  55. package/dist/lod0-generator.js.map +1 -1
  56. package/dist/merged-context.d.ts.map +1 -1
  57. package/dist/merged-context.js +3 -0
  58. package/dist/merged-context.js.map +1 -1
  59. package/dist/merged-decomposition-parents.d.ts +99 -0
  60. package/dist/merged-decomposition-parents.d.ts.map +1 -0
  61. package/dist/merged-decomposition-parents.js +142 -0
  62. package/dist/merged-decomposition-parents.js.map +1 -0
  63. package/dist/merged-empty-containers-refs.d.ts +24 -0
  64. package/dist/merged-empty-containers-refs.d.ts.map +1 -0
  65. package/dist/merged-empty-containers-refs.js +126 -0
  66. package/dist/merged-empty-containers-refs.js.map +1 -0
  67. package/dist/merged-empty-containers.d.ts +31 -0
  68. package/dist/merged-empty-containers.d.ts.map +1 -1
  69. package/dist/merged-empty-containers.js +14 -123
  70. package/dist/merged-empty-containers.js.map +1 -1
  71. package/dist/merged-exporter.d.ts +7 -18
  72. package/dist/merged-exporter.d.ts.map +1 -1
  73. package/dist/merged-exporter.js +80 -70
  74. package/dist/merged-exporter.js.map +1 -1
  75. package/dist/merged-header.d.ts +11 -0
  76. package/dist/merged-header.d.ts.map +1 -0
  77. package/dist/merged-header.js +23 -0
  78. package/dist/merged-header.js.map +1 -0
  79. package/dist/nonrel-positional-ref-narrowing.d.ts +3 -0
  80. package/dist/nonrel-positional-ref-narrowing.d.ts.map +1 -0
  81. package/dist/nonrel-positional-ref-narrowing.js +194 -0
  82. package/dist/nonrel-positional-ref-narrowing.js.map +1 -0
  83. package/dist/nonrel-ref-list-types.d.ts +13 -0
  84. package/dist/nonrel-ref-list-types.d.ts.map +1 -0
  85. package/dist/nonrel-ref-list-types.js +162 -0
  86. package/dist/nonrel-ref-list-types.js.map +1 -0
  87. package/dist/parquet-created-entity-rows.d.ts +20 -0
  88. package/dist/parquet-created-entity-rows.d.ts.map +1 -0
  89. package/dist/parquet-created-entity-rows.js +40 -0
  90. package/dist/parquet-created-entity-rows.js.map +1 -0
  91. package/dist/parquet-exporter-ondemand.d.ts +3 -2
  92. package/dist/parquet-exporter-ondemand.d.ts.map +1 -1
  93. package/dist/parquet-exporter-ondemand.js +15 -6
  94. package/dist/parquet-exporter-ondemand.js.map +1 -1
  95. package/dist/parquet-exporter.d.ts +5 -12
  96. package/dist/parquet-exporter.d.ts.map +1 -1
  97. package/dist/parquet-exporter.js +57 -84
  98. package/dist/parquet-exporter.js.map +1 -1
  99. package/dist/parquet-relationship-rows.d.ts +11 -0
  100. package/dist/parquet-relationship-rows.d.ts.map +1 -0
  101. package/dist/parquet-relationship-rows.js +57 -0
  102. package/dist/parquet-relationship-rows.js.map +1 -0
  103. package/dist/parquet-spatial-rows.d.ts +14 -0
  104. package/dist/parquet-spatial-rows.d.ts.map +1 -0
  105. package/dist/parquet-spatial-rows.js +57 -0
  106. package/dist/parquet-spatial-rows.js.map +1 -0
  107. package/dist/reference-collector.d.ts +17 -1
  108. package/dist/reference-collector.d.ts.map +1 -1
  109. package/dist/reference-collector.js +30 -1
  110. package/dist/reference-collector.js.map +1 -1
  111. package/dist/registry-entity-names.d.ts +3 -0
  112. package/dist/registry-entity-names.d.ts.map +1 -0
  113. package/dist/registry-entity-names.js +38 -0
  114. package/dist/registry-entity-names.js.map +1 -0
  115. package/dist/relationship-slot-bounds.d.ts +14 -0
  116. package/dist/relationship-slot-bounds.d.ts.map +1 -0
  117. package/dist/relationship-slot-bounds.js +64 -0
  118. package/dist/relationship-slot-bounds.js.map +1 -0
  119. package/dist/retype.d.ts.map +1 -1
  120. package/dist/retype.js +5 -2
  121. package/dist/retype.js.map +1 -1
  122. package/dist/schema-conversion-loss-report.d.ts +97 -0
  123. package/dist/schema-conversion-loss-report.d.ts.map +1 -0
  124. package/dist/schema-conversion-loss-report.js +116 -0
  125. package/dist/schema-conversion-loss-report.js.map +1 -0
  126. package/dist/schema-converter-attr-remap.d.ts +8 -0
  127. package/dist/schema-converter-attr-remap.d.ts.map +1 -1
  128. package/dist/schema-converter-attr-remap.js +14 -1
  129. package/dist/schema-converter-attr-remap.js.map +1 -1
  130. package/dist/schema-converter-enums.d.ts +27 -0
  131. package/dist/schema-converter-enums.d.ts.map +1 -0
  132. package/dist/schema-converter-enums.js +117 -0
  133. package/dist/schema-converter-enums.js.map +1 -0
  134. package/dist/schema-converter-ifc4-slots.d.ts +36 -0
  135. package/dist/schema-converter-ifc4-slots.d.ts.map +1 -0
  136. package/dist/schema-converter-ifc4-slots.js +70 -0
  137. package/dist/schema-converter-ifc4-slots.js.map +1 -0
  138. package/dist/schema-converter.d.ts +41 -19
  139. package/dist/schema-converter.d.ts.map +1 -1
  140. package/dist/schema-converter.js +73 -42
  141. package/dist/schema-converter.js.map +1 -1
  142. package/dist/schema-enum-policy.d.ts +48 -0
  143. package/dist/schema-enum-policy.d.ts.map +1 -0
  144. package/dist/schema-enum-policy.js +26 -0
  145. package/dist/schema-enum-policy.js.map +1 -0
  146. package/dist/schema-untranslatable.d.ts +84 -2
  147. package/dist/schema-untranslatable.d.ts.map +1 -1
  148. package/dist/schema-untranslatable.js +98 -3
  149. package/dist/schema-untranslatable.js.map +1 -1
  150. package/dist/step-collection.js +1 -1
  151. package/dist/step-collection.js.map +1 -1
  152. package/dist/step-export-types.d.ts +13 -3
  153. package/dist/step-export-types.d.ts.map +1 -1
  154. package/dist/step-exporter.d.ts.map +1 -1
  155. package/dist/step-exporter.js +4 -2
  156. package/dist/step-exporter.js.map +1 -1
  157. package/dist/step-georeferencing.js +2 -0
  158. package/dist/step-georeferencing.js.map +1 -1
  159. package/dist/step-header.d.ts.map +1 -1
  160. package/dist/step-header.js +1 -0
  161. package/dist/step-header.js.map +1 -1
  162. package/dist/step-map-unit.d.ts.map +1 -1
  163. package/dist/step-map-unit.js +4 -0
  164. package/dist/step-map-unit.js.map +1 -1
  165. package/dist/step-overlay-entities.d.ts.map +1 -1
  166. package/dist/step-overlay-entities.js +5 -1
  167. package/dist/step-overlay-entities.js.map +1 -1
  168. package/dist/step-pass-builder.d.ts.map +1 -1
  169. package/dist/step-pass-builder.js +8 -1
  170. package/dist/step-pass-builder.js.map +1 -1
  171. package/dist/step-property-set-generators.d.ts.map +1 -1
  172. package/dist/step-property-set-generators.js +17 -0
  173. package/dist/step-property-set-generators.js.map +1 -1
  174. package/dist/step-property-set-index.d.ts +4 -10
  175. package/dist/step-property-set-index.d.ts.map +1 -1
  176. package/dist/step-property-set-index.js +52 -8
  177. package/dist/step-property-set-index.js.map +1 -1
  178. package/dist/step-property-set-readers.d.ts.map +1 -1
  179. package/dist/step-property-set-readers.js +4 -0
  180. package/dist/step-property-set-readers.js.map +1 -1
  181. package/dist/step-ref-scan.d.ts +6 -0
  182. package/dist/step-ref-scan.d.ts.map +1 -0
  183. package/dist/step-ref-scan.js +52 -0
  184. package/dist/step-ref-scan.js.map +1 -0
  185. package/dist/step-serialization.d.ts.map +1 -1
  186. package/dist/step-serialization.js +18 -2
  187. package/dist/step-serialization.js.map +1 -1
  188. package/dist/step-shared-atom-retention.d.ts +5 -0
  189. package/dist/step-shared-atom-retention.d.ts.map +1 -0
  190. package/dist/step-shared-atom-retention.js +60 -0
  191. package/dist/step-shared-atom-retention.js.map +1 -0
  192. package/dist/step-source-iteration.d.ts +1 -1
  193. package/dist/step-source-iteration.d.ts.map +1 -1
  194. package/dist/step-source-iteration.js +50 -45
  195. package/dist/step-source-iteration.js.map +1 -1
  196. package/dist/style-closure.d.ts.map +1 -1
  197. package/dist/style-closure.js +11 -0
  198. package/dist/style-closure.js.map +1 -1
  199. package/dist/subset-entity-reader.d.ts.map +1 -1
  200. package/dist/subset-entity-reader.js +3 -2
  201. package/dist/subset-entity-reader.js.map +1 -1
  202. package/dist/subset-roots.js +2 -2
  203. package/dist/subset-roots.js.map +1 -1
  204. package/package.json +11 -10
  205. package/dist/merged-rel-aggregates.d.ts +0 -63
  206. package/dist/merged-rel-aggregates.d.ts.map +0 -1
  207. package/dist/merged-rel-aggregates.js +0 -122
  208. package/dist/merged-rel-aggregates.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxI,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAStE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIxI,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvI,OAAO,EACL,qBAAqB,EACrB,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAGtF,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,EACvB,KAAK,8BAA8B,EACnC,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAI5C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAStE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAI7E,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -21,6 +21,7 @@ export { MergedExporter } from './merged-exporter.js';
21
21
  export { collectReferencedEntityIds, getVisibleEntityIds } from './reference-collector.js';
22
22
  export { collectStyleEntities } from './style-closure.js';
23
23
  export { convertEntityType, convertStepLine, needsConversion, describeConversion } from './schema-converter.js';
24
+ export { analyzeConversionLoss, classifyEntityTypeConversion, } from './schema-conversion-loss-report.js';
24
25
  export { Ifc5Exporter } from './ifc5-exporter.js';
25
26
  export { IFC5_KNOWN_PROP_NAMES, stripNodePathPrefix } from './ifc5-export-helpers.js';
26
27
  export { DemeshSession, } from './demesh-session.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAA6B,MAAM,uBAAuB,CAAC;AACnF,uEAAuE;AACvE,mGAAmG;AACnG,8EAA8E;AAC9E,gDAAgD;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0E,MAAM,oBAAoB,CAAC;AACxI,0EAA0E;AAC1E,mEAAmE;AACnE,qEAAqE;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,OAAO,EAAE,cAAc,EAA0H,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,uBAAuB,CAAC;AACvI,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAItF,OAAO,EACL,aAAa,GAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,6EAA6E;AAC7E,4EAA4E;AAC5E,iEAAiE;AACjE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,uBAAuB;AACvB,8EAA8E;AAC9E,+EAA+E;AAC/E,iEAAiE;AACjE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAuB,MAAM,eAAe,CAAC;AAC5F,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,OAAO,EAAE,qBAAqB,EAA8B,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAE/D;;GAEG;AAEH,8EAA8E;AAC9E,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAA6B,MAAM,uBAAuB,CAAC;AACnF,uEAAuE;AACvE,mGAAmG;AACnG,8EAA8E;AAC9E,gDAAgD;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0E,MAAM,oBAAoB,CAAC;AACxI,0EAA0E;AAC1E,mEAAmE;AACnE,qEAAqE;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,OAAO,EAAE,cAAc,EAA0H,MAAM,sBAAsB,CAAC;AAC9K,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,uBAAuB,CAAC;AACvI,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAK7B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAiD,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAItF,OAAO,EACL,aAAa,GAId,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,uBAAuB,GAKxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAA4B,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,6EAA6E;AAC7E,4EAA4E;AAC5E,iEAAiE;AACjE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,uBAAuB;AACvB,8EAA8E;AAC9E,+EAA+E;AAC/E,iEAAiE;AACjE,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAuB,MAAM,eAAe,CAAC;AAC5F,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAA4C,MAAM,gBAAgB,CAAC;AAEjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,0EAA0E;AAC1E,OAAO,EAAE,qBAAqB,EAA8B,sBAAsB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lod0-generator.d.ts","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAe,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AA6DrF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/D;AAmBD,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAiPrE"}
1
+ {"version":3,"file":"lod0-generator.d.ts","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAe,QAAQ,EAAQ,MAAM,yBAAyB,CAAC;AA6DrF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/D;AAmBD,wBAAsB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmPrE"}
@@ -112,6 +112,7 @@ export async function generateLod0(input) {
112
112
  const getEntity = (id) => {
113
113
  if (entityCache.has(id))
114
114
  return entityCache.get(id) ?? null;
115
+ // @raw-entity-enumeration-ok LOD0 receives only input bytes and scans its own immutable source index
115
116
  const ref = entityIndex.byId.get(id);
116
117
  const ent = ref ? extractor.extractEntity(ref) : null;
117
118
  entityCache.set(id, ent);
@@ -265,6 +266,7 @@ export async function generateLod0(input) {
265
266
  return null;
266
267
  };
267
268
  const elements = [];
269
+ // @raw-entity-enumeration-ok this index was built from the input bytes above; no live mutation view is accepted by generateLod0
268
270
  for (const [id, ref] of entityIndex.byId) {
269
271
  const typeUpper = ref.type;
270
272
  if (!isCandidateElementType(typeUpper))
@@ -1 +1 @@
1
- {"version":3,"file":"lod0-generator.js","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lod0-generator.js","sourceRoot":"","sources":["../src/lod0-generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"merged-context.d.ts","sourceRoot":"","sources":["../src/merged-context.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAcrD,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAkED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,YAAY,GAAG,IAAI,CAgCrB;AAED,iHAAiH;AACjH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAG5G;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED,mEAAmE;AACnE,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,GACnB,mBAAmB,CAKrB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACzC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjD,iBAAiB,EAAE,mBAAmB,EACtC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,IAAI,CAsCN"}
1
+ {"version":3,"file":"merged-context.d.ts","sourceRoot":"","sources":["../src/merged-context.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAcrD,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAmED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,YAAY,GAAG,IAAI,CAiCrB;AAED,iHAAiH;AACjH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAI5G;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;CACjC;AAED,mEAAmE;AACnE,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,YAAY,EACvB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,GACnB,mBAAmB,CAKrB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACzC,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjD,iBAAiB,EAAE,mBAAmB,EACtC,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,IAAI,CAsCN"}
@@ -20,6 +20,7 @@ function decodeEntity(dataStore, expressId) {
20
20
  const source = dataStore.source;
21
21
  if (!source)
22
22
  return null;
23
+ // @raw-entity-enumeration-ok point lookup for source bytes; MergeExporter bakes each edited input through STEP export and reparses it before this reader runs
23
24
  const ref = dataStore.entityIndex.byId.get(expressId);
24
25
  if (!ref)
25
26
  return null;
@@ -94,6 +95,7 @@ export function resolveContextWcsMetres(dataStore, contextId, lengthUnitScale) {
94
95
  const wcsRef = refId(getStepAttr(dataStore, contextId, 4));
95
96
  if (wcsRef === null)
96
97
  return null;
98
+ // @raw-entity-enumeration-ok point lookup for a source WCS atom in the baked merge input
97
99
  const wcsType = (dataStore.entityIndex.byId.get(wcsRef)?.type ?? '').toUpperCase();
98
100
  const pointId = wcsType.includes('CARTESIANPOINT') ? wcsRef : refId(getStepAttr(dataStore, wcsRef, 0));
99
101
  if (pointId === null)
@@ -127,6 +129,7 @@ export function resolveContextWcsMetres(dataStore, contextId, lengthUnitScale) {
127
129
  }
128
130
  /** `resolveContextWcsMetres` for a model's first `IfcGeometricRepresentationContext`, or null if it has none. */
129
131
  export function resolveModelContextWcs(dataStore, lengthUnitScale) {
132
+ // @raw-entity-enumeration-ok MergeExporter uses a reparsed effective STEP snapshot, so this first source context is the merged input's current context
130
133
  const contextId = (dataStore.entityIndex.byType.get('IFCGEOMETRICREPRESENTATIONCONTEXT') ?? [])[0];
131
134
  return contextId === undefined ? null : resolveContextWcsMetres(dataStore, contextId, lengthUnitScale);
132
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merged-context.js","sourceRoot":"","sources":["../src/merged-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merged-context.js","sourceRoot":"","sources":["../src/merged-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * One-parent-per-object bookkeeping for the decomposition relationships of a
3
+ * merge (#5471, #5726).
4
+ *
5
+ * Split out of {@link ../merged-exporter.ts} (kept under its module-size
6
+ * budget) rather than duplicated: `findEntitiesByType`/`extractStepAttribute`
7
+ * stay the single source of truth in `MergedExporter` and are passed in here,
8
+ * so this file has no data-model logic of its own to drift from it.
9
+ */
10
+ import type { IfcDataStore } from '@ifc-lite/parser';
11
+ import type { IfcSchemaVersion } from './schema-converter.js';
12
+ /**
13
+ * The final ids already given a WRITTEN parent in the merge output, per
14
+ * single-valued decomposition inverse of the output schema. One instance per
15
+ * merge, grown model by model in merge order.
16
+ */
17
+ export declare class DecompositionClaims {
18
+ /** Relationship type (uppercase) → the inverse it fills; see {@link IFC4_INVERSES}. */
19
+ readonly inverseOf: ReadonlyMap<string, string>;
20
+ private readonly parented;
21
+ /** `only` narrows the claimed relationship types (the #5725 drop planner's view). */
22
+ constructor(outputSchema: IfcSchemaVersion, only?: (relType: string) => boolean);
23
+ /** The final ids that already fill `inverse` in the output. */
24
+ parentedVia(inverse: string): Set<number>;
25
+ }
26
+ /** What {@link claimDecompositionParents} needs to know about one model's plan. */
27
+ export interface DecompositionClaimInput {
28
+ dataStore: IfcDataStore;
29
+ /** Local id → final id for every unified entity (spatial, infrastructure, GlobalId). */
30
+ sharedRemap: ReadonlyMap<number, number>;
31
+ /** This model's id offset: an unremapped local id's final id is `id + idOffset`. */
32
+ idOffset: number;
33
+ /** Local ids not written; a skipped rel claims nothing, and a rel skipped here is added. */
34
+ skipEntityIds: Set<number>;
35
+ /** Local rel id → member ids to drop from its written RelatedObjects list. */
36
+ relParentStrip: Map<number, Set<number>>;
37
+ /**
38
+ * Whether a local id survives into the output as a reference: false for a
39
+ * hidden product under `visibleOnly` or a dropped empty container, which
40
+ * `renderEntity` narrows out of (or, as a RelatingObject, withholds) the rel.
41
+ */
42
+ isEmitted: (localId: number) => boolean;
43
+ /** Whether the rel line itself is in the written set at all (visibility closure). */
44
+ isIncluded: (localId: number) => boolean;
45
+ /** Strip already-parented members (a later, unified model); false just records claims. */
46
+ dedupe: boolean;
47
+ }
48
+ /**
49
+ * Keep one decomposition parent per object and inverse across a merge (#5471,
50
+ * #5726).
51
+ *
52
+ * `IfcObjectDefinition.Decomposes` (and, from IFC4, `.Nests`) is `SET [0:1]`,
53
+ * and `IfcSpatialStructureElement.WR41` requires exactly one for a building or
54
+ * storey. Once a later model's Building unifies with the primary's, the
55
+ * primary's own rel already gives it a parent, so a later rel naming the same
56
+ * (remapped) Building gives it a second one, whether that rel's RelatingObject
57
+ * remaps to the same parent (a duplicate edge, e.g. `(Project, (Site))` twice)
58
+ * or a different one (model B aggregates its Building under its Project, model
59
+ * A under a Site). Which relationships share an inverse is the output schema's
60
+ * call, held by {@link DecompositionClaims}.
61
+ *
62
+ * `claims` holds the final ids that already have a parent WRITTEN to the
63
+ * output. Called once per model in merge order, after all of that model's
64
+ * unification and container drops: every rel the model will write adds its
65
+ * written members. A rel that will not be written (skipped, outside the
66
+ * visibility closure, or with a hidden or dropped RelatingObject) claims
67
+ * nothing, and neither does a member narrowed out of it, so a later model's rel
68
+ * stays the parent of an object whose primary parent is not in the output.
69
+ *
70
+ * With `dedupe`, a written member already claimed for the rel's inverse is
71
+ * redundant: a rel whose written members are ALL redundant is skipped, one with
72
+ * SOME is kept for its new members and the redundant ids go to
73
+ * `relParentStrip` for {@link applyRelParentStrip}. A unified member with no
74
+ * parent yet is kept, since that rel is then its only parentage statement
75
+ * (#3550).
76
+ */
77
+ export declare function claimDecompositionParents(input: DecompositionClaimInput, claims: DecompositionClaims, findEntitiesByType: (dataStore: IfcDataStore, typeUpper: string) => number[], extractStepAttribute: (expressId: number, dataStore: IfcDataStore, attrIndex: number) => string | null): void;
78
+ /**
79
+ * Render-time counterpart of {@link claimDecompositionParents}: drop the
80
+ * RelatedObjects members of a partially redundant IFCRELAGGREGATES or
81
+ * IFCRELNESTS that already have a parent of that kind in the output.
82
+ * Reuses the same list/scalar-aware ref filter the
83
+ * `visibleOnly`/deletion dangling-ref path uses. Must run in LOCAL id
84
+ * space, before any id offset/remap — `localId` and the ids inside
85
+ * `relParentStrip` are both local to the model being rendered.
86
+ *
87
+ * Returns `entityText` unchanged when `localId` has no strip entry, and
88
+ * `null` when the filter would withhold the whole line — a strip set built
89
+ * by {@link claimDecompositionParents} is a strict subset of the
90
+ * RelatedObjects list, so for well-formed input the filter only narrows,
91
+ * but a degenerate file (a stripped member id that also appears as a
92
+ * single-valued ref, e.g. self-aggregation) can null the line. The caller
93
+ * must withhold it, like every other user of the filter: every edge the
94
+ * line declared is already declared by the primary model, and emitting the
95
+ * unfiltered bytes instead would reintroduce the duplicate membership this
96
+ * module exists to remove.
97
+ */
98
+ export declare function applyRelParentStrip(entityText: string, localId: number, relParentStrip: ReadonlyMap<number, ReadonlySet<number>>): string | null;
99
+ //# sourceMappingURL=merged-decomposition-parents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merged-decomposition-parents.d.ts","sourceRoot":"","sources":["../src/merged-decomposition-parents.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAuB9D;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAE3D,qFAAqF;gBACzE,YAAY,EAAE,gBAAgB,EAAE,IAAI,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAoB;IAK3F,+DAA+D;IAC/D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;CAK1C;AAED,mFAAmF;AACnF,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,YAAY,CAAC;IACxB,wFAAwF;IACxF,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,8EAA8E;IAC9E,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACzC;;;;OAIG;IACH,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,qFAAqF;IACrF,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,0FAA0F;IAC1F,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,uBAAuB,EAC9B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,EAC5E,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GACrG,IAAI,CAwBN;AAYD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,GACvD,MAAM,GAAG,IAAI,CAIf"}
@@ -0,0 +1,142 @@
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 { filterHiddenRefsFromRelationshipLine } from './reference-collector.js';
5
+ /**
6
+ * Each decomposition relationship → the `SET [0:1]` inverse on
7
+ * `IfcObjectDefinition` its RelatedObjects fill, in the OUTPUT schema. Both
8
+ * relationships carry RelatingObject at attr 4 and RelatedObjects at attr 5 in
9
+ * every schema.
10
+ *
11
+ * IFC2X3: `Decomposes : SET [0:1] OF IfcRelDecomposes`, and IfcRelAggregates
12
+ * and IfcRelNests are both IfcRelDecomposes, so one nesting and one
13
+ * aggregation parent together are already two (#5726). IFC4 and later split
14
+ * `Nests : SET [0:1] OF IfcRelNests` off `Decomposes : SET [0:1] OF
15
+ * IfcRelAggregates`: one parent of each kind, but still only one each.
16
+ */
17
+ const IFC2X3_INVERSES = new Map([
18
+ ['IFCRELAGGREGATES', 'Decomposes'],
19
+ ['IFCRELNESTS', 'Decomposes'],
20
+ ]);
21
+ const IFC4_INVERSES = new Map([
22
+ ['IFCRELAGGREGATES', 'Decomposes'],
23
+ ['IFCRELNESTS', 'Nests'],
24
+ ]);
25
+ /**
26
+ * The final ids already given a WRITTEN parent in the merge output, per
27
+ * single-valued decomposition inverse of the output schema. One instance per
28
+ * merge, grown model by model in merge order.
29
+ */
30
+ export class DecompositionClaims {
31
+ /** Relationship type (uppercase) → the inverse it fills; see {@link IFC4_INVERSES}. */
32
+ inverseOf;
33
+ parented = new Map();
34
+ /** `only` narrows the claimed relationship types (the #5725 drop planner's view). */
35
+ constructor(outputSchema, only = () => true) {
36
+ const inverses = outputSchema === 'IFC2X3' ? IFC2X3_INVERSES : IFC4_INVERSES;
37
+ this.inverseOf = new Map([...inverses].filter(([relType]) => only(relType)));
38
+ }
39
+ /** The final ids that already fill `inverse` in the output. */
40
+ parentedVia(inverse) {
41
+ let ids = this.parented.get(inverse);
42
+ if (ids === undefined)
43
+ this.parented.set(inverse, (ids = new Set()));
44
+ return ids;
45
+ }
46
+ }
47
+ /**
48
+ * Keep one decomposition parent per object and inverse across a merge (#5471,
49
+ * #5726).
50
+ *
51
+ * `IfcObjectDefinition.Decomposes` (and, from IFC4, `.Nests`) is `SET [0:1]`,
52
+ * and `IfcSpatialStructureElement.WR41` requires exactly one for a building or
53
+ * storey. Once a later model's Building unifies with the primary's, the
54
+ * primary's own rel already gives it a parent, so a later rel naming the same
55
+ * (remapped) Building gives it a second one, whether that rel's RelatingObject
56
+ * remaps to the same parent (a duplicate edge, e.g. `(Project, (Site))` twice)
57
+ * or a different one (model B aggregates its Building under its Project, model
58
+ * A under a Site). Which relationships share an inverse is the output schema's
59
+ * call, held by {@link DecompositionClaims}.
60
+ *
61
+ * `claims` holds the final ids that already have a parent WRITTEN to the
62
+ * output. Called once per model in merge order, after all of that model's
63
+ * unification and container drops: every rel the model will write adds its
64
+ * written members. A rel that will not be written (skipped, outside the
65
+ * visibility closure, or with a hidden or dropped RelatingObject) claims
66
+ * nothing, and neither does a member narrowed out of it, so a later model's rel
67
+ * stays the parent of an object whose primary parent is not in the output.
68
+ *
69
+ * With `dedupe`, a written member already claimed for the rel's inverse is
70
+ * redundant: a rel whose written members are ALL redundant is skipped, one with
71
+ * SOME is kept for its new members and the redundant ids go to
72
+ * `relParentStrip` for {@link applyRelParentStrip}. A unified member with no
73
+ * parent yet is kept, since that rel is then its only parentage statement
74
+ * (#3550).
75
+ */
76
+ export function claimDecompositionParents(input, claims, findEntitiesByType, extractStepAttribute) {
77
+ const { dataStore, sharedRemap, idOffset, skipEntityIds, relParentStrip, isEmitted, isIncluded, dedupe } = input;
78
+ const finalId = (ref) => sharedRemap.get(ref) ?? ref + idOffset;
79
+ for (const [relType, inverse] of claims.inverseOf) {
80
+ const parented = claims.parentedVia(inverse);
81
+ for (const relId of findEntitiesByType(dataStore, relType)) {
82
+ if (skipEntityIds.has(relId) || !isIncluded(relId))
83
+ continue;
84
+ // RelatingObject is attr 4 — a single #ref; a hidden or dropped one withholds the line.
85
+ const relating = extractStepAttribute(relId, dataStore, 4)?.match(/^#(\d+)$/);
86
+ if (relating && !isEmitted(parseInt(relating[1], 10)))
87
+ continue;
88
+ // RelatedObjects is attr 5 — list of #refs like (#2,#3); hidden members are narrowed out.
89
+ const refs = listRefs(extractStepAttribute(relId, dataStore, 5)).filter(isEmitted);
90
+ if (refs.length === 0)
91
+ continue;
92
+ const redundantRefs = dedupe ? refs.filter(ref => parented.has(finalId(ref))) : [];
93
+ if (redundantRefs.length === refs.length) {
94
+ // Every written member already has a parent in the output — fully redundant.
95
+ skipEntityIds.add(relId);
96
+ continue;
97
+ }
98
+ if (redundantRefs.length > 0)
99
+ relParentStrip.set(relId, new Set(redundantRefs));
100
+ for (const ref of refs)
101
+ parented.add(finalId(ref));
102
+ }
103
+ }
104
+ }
105
+ /** The `#id`s in one STEP list attribute, in order; `[]` for a missing one. */
106
+ function listRefs(attr) {
107
+ if (!attr)
108
+ return [];
109
+ const refs = [];
110
+ const refRegex = /#(\d+)/g;
111
+ let match;
112
+ while ((match = refRegex.exec(attr)) !== null)
113
+ refs.push(parseInt(match[1], 10));
114
+ return refs;
115
+ }
116
+ /**
117
+ * Render-time counterpart of {@link claimDecompositionParents}: drop the
118
+ * RelatedObjects members of a partially redundant IFCRELAGGREGATES or
119
+ * IFCRELNESTS that already have a parent of that kind in the output.
120
+ * Reuses the same list/scalar-aware ref filter the
121
+ * `visibleOnly`/deletion dangling-ref path uses. Must run in LOCAL id
122
+ * space, before any id offset/remap — `localId` and the ids inside
123
+ * `relParentStrip` are both local to the model being rendered.
124
+ *
125
+ * Returns `entityText` unchanged when `localId` has no strip entry, and
126
+ * `null` when the filter would withhold the whole line — a strip set built
127
+ * by {@link claimDecompositionParents} is a strict subset of the
128
+ * RelatedObjects list, so for well-formed input the filter only narrows,
129
+ * but a degenerate file (a stripped member id that also appears as a
130
+ * single-valued ref, e.g. self-aggregation) can null the line. The caller
131
+ * must withhold it, like every other user of the filter: every edge the
132
+ * line declared is already declared by the primary model, and emitting the
133
+ * unfiltered bytes instead would reintroduce the duplicate membership this
134
+ * module exists to remove.
135
+ */
136
+ export function applyRelParentStrip(entityText, localId, relParentStrip) {
137
+ const toStrip = relParentStrip.get(localId);
138
+ if (toStrip === undefined)
139
+ return entityText;
140
+ return filterHiddenRefsFromRelationshipLine(entityText, id => toStrip.has(id));
141
+ }
142
+ //# sourceMappingURL=merged-decomposition-parents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merged-decomposition-parents.js","sourceRoot":"","sources":["../src/merged-decomposition-parents.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /** Top-level arguments of a `#id=TYPE(…);` line, or `null` when unparseable. */
2
+ export declare function topLevelAttrs(line: string): string[] | null;
3
+ /** `"#7"` → `7` via shared, trivia-tolerant {@link BARE_REF_RE} (#4227 — a narrower regex misclassified a comment-wrapped `RelatingObject`). */
4
+ export declare function singleRef(arg: string): number | null;
5
+ /** Parse a `(#a,#b,…)` list argument into ids. */
6
+ export declare function refList(arg: string): number[];
7
+ /**
8
+ * Every reference in a line's argument list, paired with whether it sits
9
+ * somewhere neither `filterHiddenRefsFromRelationshipLine` can strip (a direct
10
+ * list element) nor withhold the line for (a whole single-valued attribute) —
11
+ * i.e. nested inside a list of lists or a typed value. `null` when the line's
12
+ * argument list cannot be parsed at all: a line no rewrite can narrow, which the
13
+ * analysis must treat as a blocker rather than as "names nothing".
14
+ */
15
+ export declare function classifyRefs(line: string): Array<[number, boolean]> | null;
16
+ /**
17
+ * Every `#N` reference in a chunk of STEP text, skipping quoted strings (where a
18
+ * `#` is literal) and any leading `#id=` (the line's own id). Reads bytes rather
19
+ * than decoded text so the reverse-reference scan never decodes a whole model.
20
+ */
21
+ export declare function argRefs(text: Uint8Array | string): number[];
22
+ /** The GlobalId (first quoted attribute) of a rooted entity's line. */
23
+ export declare function leadingGuid(line: string): string | null;
24
+ //# sourceMappingURL=merged-empty-containers-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merged-empty-containers-refs.d.ts","sourceRoot":"","sources":["../src/merged-empty-containers-refs.ts"],"names":[],"mappings":"AAkBA,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAG3D;AAED,gJAAgJ;AAChJ,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGpD;AAED,kDAAkD;AAClD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAW7C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAuB1E;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE,CAyB3D;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CASvD"}
@@ -0,0 +1,126 @@
1
+ /* This Source Code Form is subject to the terms of the Mozilla Public
2
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
+ /**
5
+ * STEP reference reading for the empty-container analysis in
6
+ * `merged-empty-containers.ts` (#3643): which `#N` a line names, and where.
7
+ * Split out of that module when #5725 grew it past the module-size limit.
8
+ *
9
+ * Every reader here tolerates STEP trivia (whitespace and/or a `/* ... *​/`
10
+ * comment, #3789) between tokens; a line whose arguments cannot be read comes
11
+ * back `null`, which the analysis treats as "can't safely rewrite" and so blocks
12
+ * the drop, never as "names nothing".
13
+ */
14
+ import { readStepSlots, splitTopLevelListItems } from './step-argument-parser.js';
15
+ import { BARE_REF_RE } from './reference-collector.js';
16
+ /** Top-level arguments of a `#id=TYPE(…);` line, or `null` when unparseable. */
17
+ export function topLevelAttrs(line) {
18
+ const record = readStepSlots(line);
19
+ return record === null ? null : record.slots.map(arg => arg.trim());
20
+ }
21
+ /** `"#7"` → `7` via shared, trivia-tolerant {@link BARE_REF_RE} (#4227 — a narrower regex misclassified a comment-wrapped `RelatingObject`). */
22
+ export function singleRef(arg) {
23
+ const match = BARE_REF_RE.exec(arg);
24
+ return match ? Number(match[1]) : null;
25
+ }
26
+ /** Parse a `(#a,#b,…)` list argument into ids. */
27
+ export function refList(arg) {
28
+ const trimmed = arg.trim();
29
+ if (!trimmed.startsWith('(') || !trimmed.endsWith(')'))
30
+ return [];
31
+ const inner = trimmed.slice(1, -1).trim();
32
+ if (inner === '')
33
+ return [];
34
+ const ids = [];
35
+ for (const item of splitTopLevelListItems(inner)) {
36
+ const id = singleRef(item);
37
+ if (id !== null)
38
+ ids.push(id);
39
+ }
40
+ return ids;
41
+ }
42
+ /**
43
+ * Every reference in a line's argument list, paired with whether it sits
44
+ * somewhere neither `filterHiddenRefsFromRelationshipLine` can strip (a direct
45
+ * list element) nor withhold the line for (a whole single-valued attribute) —
46
+ * i.e. nested inside a list of lists or a typed value. `null` when the line's
47
+ * argument list cannot be parsed at all: a line no rewrite can narrow, which the
48
+ * analysis must treat as a blocker rather than as "names nothing".
49
+ */
50
+ export function classifyRefs(line) {
51
+ const attrs = topLevelAttrs(line);
52
+ if (attrs === null)
53
+ return null;
54
+ const out = [];
55
+ for (const attr of attrs) {
56
+ const direct = singleRef(attr);
57
+ if (direct !== null) {
58
+ out.push([direct, false]);
59
+ continue;
60
+ }
61
+ if (attr.startsWith('(') && attr.endsWith(')')) {
62
+ const inner = attr.slice(1, -1).trim();
63
+ if (inner === '')
64
+ continue;
65
+ for (const item of splitTopLevelListItems(inner)) {
66
+ const id = singleRef(item);
67
+ if (id !== null)
68
+ out.push([id, false]);
69
+ else
70
+ for (const nested of argRefs(item))
71
+ out.push([nested, true]);
72
+ }
73
+ continue;
74
+ }
75
+ for (const nested of argRefs(attr))
76
+ out.push([nested, true]);
77
+ }
78
+ return out;
79
+ }
80
+ /**
81
+ * Every `#N` reference in a chunk of STEP text, skipping quoted strings (where a
82
+ * `#` is literal) and any leading `#id=` (the line's own id). Reads bytes rather
83
+ * than decoded text so the reverse-reference scan never decodes a whole model.
84
+ */
85
+ export function argRefs(text) {
86
+ const bytes = typeof text === 'string' ? new TextEncoder().encode(text) : text;
87
+ const eq = bytes.indexOf(0x3d /* = */);
88
+ const from = eq === -1 ? 0 : eq + 1;
89
+ const out = [];
90
+ let inString = false;
91
+ for (let i = from; i < bytes.length; i++) {
92
+ const byte = bytes[i];
93
+ if (byte === 0x27 /* ' */) {
94
+ inString = !inString;
95
+ continue;
96
+ }
97
+ if (inString || byte !== 0x23 /* # */)
98
+ continue;
99
+ let j = i + 1;
100
+ let value = 0;
101
+ while (j < bytes.length && bytes[j] >= 0x30 && bytes[j] <= 0x39) {
102
+ value = value * 10 + (bytes[j] - 0x30);
103
+ j++;
104
+ }
105
+ if (j > i + 1) {
106
+ out.push(value);
107
+ i = j - 1;
108
+ }
109
+ }
110
+ return out;
111
+ }
112
+ /** The GlobalId (first quoted attribute) of a rooted entity's line. */
113
+ export function leadingGuid(line) {
114
+ const open = line.indexOf('(');
115
+ if (open === -1)
116
+ return null;
117
+ const first = line.indexOf("'", open + 1);
118
+ if (first === -1)
119
+ return null;
120
+ const second = line.indexOf("'", first + 1);
121
+ if (second === -1)
122
+ return null;
123
+ const raw = line.slice(first + 1, second);
124
+ return /^[0-9A-Za-z_$]{22}$/.test(raw) ? raw : null;
125
+ }
126
+ //# sourceMappingURL=merged-empty-containers-refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merged-empty-containers-refs.js","sourceRoot":"","sources":["../src/merged-empty-containers-refs.ts"],"names":[],"mappings":"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"}