Windows placed as Apertures on exterior wall faces.
Opaque constructions derived from the IFC material layer sets.
Doors placed on exterior wall faces.
Interior faces paired as Surface adjacencies (2 per shared wall).
Rooms emitted (watertight prisms).
Railing / context shade meshes emitted.
Spaces skipped as degenerate (malformed footprint / holes / non-extrusion).
IfcSpace profiles seen in the model.
Coverage stats for an HBJSON export, mirroring the Rust
ifc_lite_export::HbjsonStats(#[serde(rename_all = "camelCase")]) that crosses the wasm boundary viaexportHbjsonWithStats. Lets a caller tell whether a "successful" export silently droppedIfcSpacevolumes instead of reporting them.Split into its own module (rather than
types.ts) purely to keeptypes.tsunder the module-size ratchet — this type has no other relationship to that file.