display-types 0.4.0

Shared display capability types for display connection negotiation.
Documentation

display-types

CI crates.io docs.rs License: MPL-2.0 Rust 1.85+ SLSA Level 2

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

cargo add display-types

For no_std with heap allocation (e.g. embedded with an allocator):

cargo add display-types --no-default-features --features alloc

For bare no_std (scalars only):

cargo add display-types --no-default-features

Contributing

See CONTRIBUTING.md for guidelines and doc/setup.md for build and test instructions.

Verifying releases

Each release is built on GitHub Actions and attested with SLSA Build Level 2 provenance. To verify a release .crate against its signed provenance, install the GitHub CLI and run:

gh attestation verify display-types-X.Y.Z.crate --repo DracoWhitefire/display-types

The attested .crate is attached to each GitHub release.

License

Licensed under the Mozilla Public License 2.0.