openbim-core 0.1.0

Shared vocabulary for openBIM standards: findings, element references, spec versions.
Documentation
# openbim-core

The vocabulary every openBIM standard shares, in pure Rust.

Three things, each shared by more than one standard:

- **`Outcome`** — the applicable-passed / applicable-failed / **not-applicable**
  trichotomy. IDS *produces* it, BCF *consumes* it, so it is defined once. An
  audit that reports "data missing" as "check passed" launders absence into
  compliance; this type makes that impossible to do by accident.
- **`ElementRef`** — "this element, in this document". BCF viewpoint components
  and ICDD linkset endpoints are the same idea with different vocabulary.
- **`Detected<V>`** — a version *and how it was determined*, with an explicit
  `Conflict` variant. Several openBIM schemas reuse one XML namespace across
  incompatible versions, so a reader that guesses wrong does not fail — it
  silently produces a different document. `resolved()` returns `None` on a
  conflict rather than picking one.

This crate holds **domain** concepts only. XML and ZIP substrate live one layer
below, so that IFC codecs can share them without depending on openBIM.

## Status

**Scaffold.** These types are real and tested. No standard is implemented yet.

## Part of nehirde

A pure-Rust IFC and openBIM toolchain: <https://github.com/GeneralPawz/nehirde>

Design rationale: `docs/adr/0015`.

## License

MIT