[package]
name = "middle-scroll-core"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "Cross-platform core: state machine + progressive scroll engine for Wayland-Wheeltani."
readme = "../../README.md"

[lints.rust]
unsafe_code = "forbid"
missing_debug_implementations = "warn"

[lints.clippy]
pedantic = { level = "warn", priority = -1 }
nursery = { level = "warn", priority = -1 }
# Pedantic noise we actively don't want:
module_name_repetitions = "allow"
must_use_candidate = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
cast_possible_truncation = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
cast_possible_wrap = "allow"
similar_names = "allow"

[dependencies]
serde = { workspace = true, optional = true }
thiserror = { workspace = true }

[features]
default = ["serde"]
serde = ["dep:serde"]

[dev-dependencies]
approx = "0.5"
