rotulus-layout 0.1.0

The layout engine behind the Rotulus chat view: message model, wrapping, height index, scroll anchoring
Documentation
[package]
name = "rotulus-layout"
rust-version.workspace = true
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "The layout engine behind the Rotulus chat view: message model, wrapping, height index, scroll anchoring"
readme = "README.md"
keywords = ["chat", "scrollback", "layout", "text"]
categories = ["gui", "text-processing"]

[lib]
# rlib only: the widget crate links it, and so does anything that wants
# the engine without GTK.
crate-type = ["rlib"]
# The benches are criterion targets; without this, `cargo bench` also runs
# the lib under libtest, which rejects criterion's flags.
bench = false

# Deliberately no dependencies.
#
# Not gtk4, not glib, not pango — this crate is pure logic so that the
# whole of it runs under `cargo test` on display-less CI. Text
# measurement, the one thing that genuinely needs a font stack, is
# abstracted behind the `TextMeasure` trait (measure.rs); the widget
# supplies a Pango-backed implementation and the tests here supply a
# deterministic fixed-width one. See docs/design.md.
[dependencies]

# Benchmarks only. The "no dependencies" rule above is about what the
# engine links; a dev-dependency never reaches the widget or the binary.
[dev-dependencies]
criterion = { workspace = true }

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

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