brepjs-bim 0.24.4 → 0.25.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.
package/README.md CHANGED
@@ -204,3 +204,24 @@ The BIM package requires `brepjs >=19.0.5` for native cleanup-error reporting.
204
204
  Wall `NetVolume` measures retained occupied material for both `PARAMETRIC` and `EXACT` geometry. Recipe Walls retain supported area and weight quantities. Exact takeover has no recipe quantity eligibility.
205
205
 
206
206
  If measurement or temporary cleanup fails, serialization omits optional Wall quantities. `toIfcValidated` reports an element-specific `WALL_QUANTITY_OMITTED` warning from that same serialization. `toIfc` still returns a bytes `Result`.
207
+
208
+ ### Imported Body survivors
209
+
210
+ Opening reconstruction retains every surviving solid in source-item order, including split results. Complete removal produces no imported solids and null aggregate bounds and volume. The singleton `.solid` field remains a borrowed alias only for a complete one-solid result.
211
+
212
+ Complete imported aggregates use shared occupied-material measurement and all-item bounds. Overlaps count once. Failed measurement leaves both aggregates unavailable with an import diagnostic. Later opening failures clean the current host list, including every earlier survivor, and never retry an uncertain release.
213
+
214
+ ### Retained Body IFC geometry
215
+
216
+ Wall and Railing exports preflight and tessellate every retained item in order, preserving placement, styles, and metadata.
217
+
218
+ Wall openings export as IFC `Reference` geometry because the retained Wall Body already
219
+ contains its cuts. Void/fill relationships and opening placements remain intact. IFC4 defines
220
+ Reference openings as non-subtractive; gross recipe exports such as Slab openings still use
221
+ subtractive `Body` geometry. The importer keeps Reference opening records and relationships
222
+ without treating their reference shape as a display Body or cutting tool.
223
+
224
+ IfcOpenShell 0.8.5 still subtracts Reference openings in its default geometry engine, even with
225
+ a separate Reference context. If a replacement Body adds material inside a retained opening's
226
+ region, that engine can remove the added material. Schema validation and shape generation alone
227
+ do not detect this difference; check the representation semantics and retained item geometry.