Crate reference
Each crate is versioned and released on its own. Every page here is generated from the crate itself: its manifest, its README.md, its public API and its CHANGELOG.md. The full Rust API is in the rustdoc.
| Crate | Latest release | Distributed as | Description |
|---|---|---|---|
openbim-ifcx | 0.1.1 (2026-10-03) | crates.io openbim-ifcx | Lossless reader and writer for IFC5 / IFCX files, the layered JSON model. |
openbim-ifcx-geometry | 0.1.1 (2026-10-03) | crates.io openbim-ifcx-geometry | Renderer-neutral geometry and viewer helpers for IFC5 / IFCX: transforms, meshes, curves, point clouds, presentation, a flat render scene, and GLB export. |
openbim-ifcx-binding-core | not released | not published on its own (publish = false); ships inside the bindings | Host-independent core shared by the openbim-ifcx language bindings (WebAssembly, Python). |
openbim-ifcx-py | 0.1.2 (2026-10-03) | PyPI openbim-ifcx | Python bindings for openbim-ifcx: read, write, validate, compose and export IFC5 / IFCX files from Python. |
openbim-ifcx-wasm | 0.2.1 (2026-10-03) | npm @openbim/ifcx | WebAssembly bindings for openbim-ifcx: read, write, validate, compose and export IFC5 / IFCX files from JavaScript. |
How the crates depend on each other
The bindings reach IFCX only through the binding core; nothing depends on a binding, and openbim-ifcx depends on no other crate here (ADR 0002).
Swipe diagram horizontally
Diagram source
flowchart BT
accTitle: Crate dependencies
accDescr: Each arrow points from a crate to a workspace crate it depends on.
openbim_ifcx["openbim-ifcx"]
openbim_ifcx_geometry["openbim-ifcx-geometry"]
openbim_ifcx_binding_core["openbim-ifcx-binding-core"]
openbim_ifcx_py["openbim-ifcx-py"]
openbim_ifcx_wasm["openbim-ifcx-wasm"]
openbim_ifcx_geometry --> openbim_ifcx
openbim_ifcx_binding_core --> openbim_ifcx
openbim_ifcx_binding_core --> openbim_ifcx_geometry
openbim_ifcx_py --> openbim_ifcx_binding_core
openbim_ifcx_wasm --> openbim_ifcx_binding_core