display-types
Shared display capability types for display connection negotiation.
This crate provides [DisplayCapabilities] and all its supporting types —
the stable, typed model that EDID/DisplayID parsers produce and negotiation
engines consume. It is the shared vocabulary between
piaf (the parser) and
concordance (the negotiation engine),
and is suitable for any crate that needs to describe display capabilities without
taking a dependency on a full parser.
Feature flags
| Flag | Default | Description |
|---|---|---|
std |
yes | Enables std-dependent types; implies alloc. |
alloc |
no | Enables heap-allocated types (Vec, Arc, String) without full std. |
serde |
no | Derives Serialize/Deserialize for all public types. |
With neither std nor alloc the crate compiles in bare no_std mode and
exposes only the scalar types (enums and copy structs).
Usage
For no_std with heap allocation (e.g. embedded with an allocator):
For bare no_std (scalars only):
Contributing
See CONTRIBUTING.md for guidelines and doc/setup.md for build and test instructions.
Verifying releases
Releases are built on GitHub Actions and attested with
SLSA Build Level 2 provenance (from 0.4.0). To verify a release
.crate against its signed provenance, install the
GitHub CLI and run:
The attested .crate is attached to each
GitHub release.
Releases from 0.4.1 are uploaded through crates.io trusted publishing: the publish workflow obtains a short-lived token via OpenID Connect instead of using a stored API token. Since 0.4.1 was released, crates.io also rejects uploads made with an API token for this crate (the badge above reflects that setting). Each version's publishing details, including the workflow run and commit, are available from the crates.io API:
# see .version.trustpub_data
Versions up to 0.3.1 were uploaded with an API token (mostly from CI) and carry no provenance; 0.4.0 carries provenance but was also uploaded with an API token.
License
Licensed under the Mozilla Public License 2.0.