Crates
| Crate | Layer | What it does | Docs |
|---|---|---|---|
| display-types | Shared types | Display capability vocabulary shared across the stack | docs.rs |
| piaf | Parsing | EDID and DisplayID parser | docs.rs |
| concordance | Negotiation | HDMI 2.1 mode negotiation with a full reasoning trace | docs.rs |
| cartouche | Signaling | InfoFrame encoding and decoding (AVI, Audio, HDR Static, HDMI Forum VSI, Dynamic HDR) | docs.rs |
| culvert | Signaling | Typed SCDC register access | docs.rs |
| culvert-async | Signaling | Async companion to culvert | docs.rs |
| plumbob | Driver-adjacent | FRL link training state machine | docs.rs |
| plumbob-async | Driver-adjacent | Async companion to plumbob | docs.rs |
| hdmi-hal | Hardware abstraction | ScdcTransport and HdmiPhy traits | docs.rs |
| hdmi-hal-async | Hardware abstraction | Async companion to hdmi-hal | docs.rs |
| hdmi-hal-i2c-dev | Hardware abstraction | Linux userspace backend over /dev/i2c-N, for development and validation | docs.rs |
| ashlar | — | Facade: one feature per crate above, re-exported under its own name | docs.rs |
Current versions are on crates.io; each crate’s
CHANGELOG.md records what changed in each release.