vexil-runtime 0.2.0

Runtime support for Vexil generated code — bit-level I/O, Pack/Unpack traits, wire encoding primitives
Documentation
# vexil-runtime

Runtime support library for code generated by the [Vexil](https://github.com/vexil-lang/vexil)
schema compiler.

This crate is a dependency of generated Rust code, not of hand-written application code.
You typically add it when using [`vexil-codegen-rust`](https://crates.io/crates/vexil-codegen-rust).

## What's included

- **`BitWriter` / `BitReader`** — LSB-first bit-level I/O for sub-byte integer types (`u1`..`u7`)
- **`Pack` / `Unpack` traits** — implemented by generated structs and enums
- **LEB128** — unsigned and signed variable-length integer encoding
- **ZigZag** — signed integer encoding (`i32`/`i64` → unsigned zigzag)
- **`WireError`** — structured error type for decode failures

## Wire format

Vexil uses LSB-first bit packing. A `u3` field occupies exactly 3 bits on the wire.
Fields are packed left-to-right within a byte, with no padding between fields unless
the total bit count is not byte-aligned.

## License

Licensed under either of [MIT](../../LICENSE-MIT) or [Apache-2.0](../../LICENSE-APACHE) at your option.