# oxipdf-ir
Intermediate representation types for the [oxipdf](https://crates.io/crates/oxipdf) PDF engine.
This crate defines the `StyledTree` IR that serves as the input contract for the oxipdf rendering pipeline. Consumers construct a `StyledTree` from their domain AST and submit it to the engine for layout and emission.
## What's Inside
- `StyledTree` and `StyledTreeBuilder` — the validated IR tree
- `Node`, `NodeId`, `ContentVariant` — node types and content
- `ResolvedStyle` — fully resolved styles (no inheritance, no cascade)
- `Pt`, `Dimension`, `LengthPercentage` — canonical unit types
- `IrVersion` — schema versioning with forward-compatibility rules
- `SemanticRole` — semantic markup for theming
## IR Schema Versioning
The IR schema is versioned via `IrVersion`. Same major version is forward-compatible (older tree, newer engine). Different major versions are incompatible.
## License
Licensed under either of [Apache License, Version 2.0](../../LICENSE-APACHE) or [MIT License](../../LICENSE-MIT) at your option.