cranpose-render-common 0.9.22

Scene, renderer and hit-test contracts for Cranpose backends
Documentation
# Cranpose Render Common

`cranpose-render-common` defines scene, renderer and hit-test contracts for
Cranpose backends. Backend authors implement `Renderer` and `RenderScene`.
App developers select a renderer through
[`cranpose`](https://docs.rs/cranpose/latest/cranpose/).

Create a graph from a root layer and inspect its node count:

```rust
use cranpose_render_common::graph::{LayerNode, RenderGraph};

let graph = RenderGraph::new(LayerNode::default());
assert_eq!(graph.node_count(), 1);
```

The `Renderer` contract accepts a `LayoutTree` or a `MemoryApplier` root and a
logical-pixel viewport. `AppShell` installs renderer services before the first
composition pass. Default features include `embedded-default-font`, which
supplies a fallback font. See the [`Renderer` API](https://docs.rs/cranpose-render-common/latest/cranpose_render_common/trait.Renderer.html),
the [renderer architecture guide](https://github.com/samoylenkodmitry/Cranpose/blob/main/docs/render_arch.md),
the [renderer source](https://github.com/samoylenkodmitry/Cranpose/tree/main/crates/cranpose-render)
and the [crate source](https://github.com/samoylenkodmitry/Cranpose/tree/main/crates/cranpose-render/common).