Pure-Rust infrastructure for the buildingSMART Information Delivery Specification (IDS): the machine-readable way to state what an IFC model must contain and audit whether it does.
This repository is the canonical home of the IDS family in
OpenBIM.rs. The integration repository
pins this repository under packages/ids.
Published releases up to 0.1.2 are a reserved scaffold. 0.1.3 adds an
IDS 1.0 reader, 0.1.4 an IDS 1.0 writer; nothing validates a model against
IDS yet.
| Capability | Status |
|---|---|
| Shared IDS XML namespace constant | Implemented |
| Published-version model and approved-version test | Implemented |
| IDS 1.0 XML reading into a typed model | Implemented; all 334 buildingSMART test cases read, output identical to IfcOpenShell's ifctester |
| IDS 1.0 XML writing and producer constructors | Implemented; all 334 buildingSMART test cases round-trip (read(write(read(x))) == read(x)) and the output validates against the official ids.xsd |
| IFC applicability and requirement auditing | Not implemented |
| buildingSMART pass/fail corpus conformance | Reading only; auditing not implemented |
No validation capability should be inferred from the crate existing on crates.io.
| Crate | Purpose |
|---|---|
openbim-ids |
Canonical IDS types, IDS 1.0 reading and writing, and, in future releases, auditing |
cargo add openbim-idsuse openbim_ids::{IdsVersion, NAMESPACE};
assert_eq!(NAMESPACE, "http://standards.buildingsmart.org/IDS");
assert!(IdsVersion::CURRENT.is_approved());Published IDS files share an XML namespace across multiple schema revisions. The namespace identifies IDS but does not prove a schema version. Future parsing must therefore return version evidence and surface disagreements rather than silently guessing.
Only IDS 1.0 is represented as the approved version for new documents. Older
drafts remain relevant for reading existing files.
docs/architecture.md— repository and dependency boundariesopenbimrs/openbim— integrated workspace and facadeopenbim-core— shared openBIM vocabulary
IDS may consume shared openBIM and IFC contracts. IFC must never depend on IDS. That one-way dependency prevents the IFC layer from accumulating every standard that consumes IFC.
No ISO, CEN, or other restricted schema artifact is vendored here. Source types may be implemented from legitimately accessed specifications, while conformance fixtures must have redistribution terms compatible with this repository.
Requires Rust 1.85 or newer.
git clone https://github.com/openbimrs/ids.git
cd ids
./scripts/gate.shThe gate checks formatting, build, tests, Clippy, rustdoc, and crates.io package verification using command exit codes.
See CONTRIBUTING.md. Capability work must add executable
conformance evidence and update the status table without overstating coverage.
MIT — see LICENSE.