pdfrum-render 0.1.1

Rendering engine and the RenderDevice/RasterBackend seam
Documentation
[package]
name = "pdfrum-render"
description = "Rendering engine and the RenderDevice/RasterBackend seam"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
keywords = ["pdf", "render", "rasterize", "graphics"]
categories = ["graphics", "rendering", "multimedia::images"]

# docs.rs renders the full API, including every optional-feature type.
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[lints]
workspace = true

# Per-phase timers and per-site allocation counters inside the walk. Off by
# default; with it off the module compiles to empty inline functions.
[features]
default = []
profiling = ["pdfrum-page/profiling"]
# `Pixmap::encode_png` and `Pixmap::save_png`.
png = ["dep:png"]

[dependencies]
pdfrum-common.workspace = true
png = { workspace = true, optional = true }
pdfrum-object.workspace = true
pdfrum-font.workspace = true
pdfrum-page.workspace = true
kurbo.workspace = true
peniko.workspace = true
smallvec.workspace = true
thiserror.workspace = true

[dev-dependencies]
pdfrum-raster-tinyskia = { path = "../pdfrum-raster-tinyskia" }
pdfrum-raster-vello-cpu = { path = "../pdfrum-raster-vello-cpu" }
pdfrum-raster-agg = { path = "../pdfrum-raster-agg" }
pdfrum-parser.workspace = true

# Six render groups over `benches/corpus`. `pdfrum` is a permitted
# dev-dependency cycle.
pdfrum = { path = "../pdfrum" }
pdfrum-corpus.workspace = true
criterion.workspace = true

[[bench]]
name = "render"
harness = false