1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//! `openbim` — a facade over the openBIM standards.
//!
//! Enable only what you need:
//!
//! ```toml
//! openbim = { version = "0.1", features = ["ids"] }
//! ```
//!
//! # Why the standards are separate crates
//!
//! Cargo features are **additive across the whole dependency graph**. If every
//! standard were a feature of one crate, then any dependency anywhere enabling
//! `icdd` would make *everyone* compile an RDF stack — including a consumer
//! that only wanted to read a `.ids` file.
//!
//! Separate packages make that structurally impossible: a crate not named in
//! your feature set is never built. This facade exists so the convenience of
//! one dependency line is still available, and it re-exports only. See
//! `docs/adr/0015`.
//!
//! # Available features
//!
//! | Feature | Crate | Standard |
//! | --- | --- | --- |
//! | `dt` | `openbim-dt` | ISO 23387 data templates |
//! | `ids` | `openbim-ids` | buildingSMART IDS |
//! | `bcf` | `openbim-bcf` | BCF (BIM Collaboration Format) |
//! | `icdd` | `openbim-icdd` | ISO 21597 ICDD |
//! | `idm` | `openbim-idm` | ISO 29481-3 idmXML |
//! | `loin` | `openbim-loin` | ISO 7817-3 / EN 17412-3 LOIN |
//! | `full` | all of the above | |
//!
//! `loin` implies `dt`, because the LOIN schema imports ISO 23387.
//!
//! No feature is on by default: depending on `openbim` must never cost more
//! than the shared vocabulary in [`core`].
//!
//! # Status
//!
//! **Scaffold.** [`core`] carries real types; the standard crates are name
//! reservations with no parsing yet. Nothing here silently pretends to
//! validate a model.
/// Vocabulary shared by every standard: outcomes, element references,
/// version detection. Always available.
pub use openbim_core as core;
pub use openbim_dt as dt;
pub use openbim_ids as ids;
pub use openbim_bcf as bcf;
pub use openbim_icdd as icdd;
pub use openbim_idm as idm;
pub use openbim_loin as loin;