[package]
edition = "2024"
rust-version = "1.88"
name = "felis-render-core"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "felis renderer-neutral core: palette, cell appearance, box drawing, glyph index, shelf atlas, cell painter and its display list"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/felis-terminal/felis"
[features]
default = ["glyphs"]
glyphs = [
"dep:felis-shaping",
"dep:foldhash",
]
testing = ["glyphs"]
[lib]
name = "felis_render_core"
path = "src/lib.rs"
[[test]]
name = "proptest_atlas"
path = "tests/proptest_atlas.rs"
[[bench]]
name = "atlas"
path = "benches/atlas.rs"
harness = false
required-features = ["glyphs"]
[[bench]]
name = "shape_memo"
path = "benches/shape_memo.rs"
harness = false
required-features = ["glyphs"]
[dependencies.felis-grid]
version = "0.1.0"
[dependencies.felis-protocol]
version = "0.1.0"
[dependencies.felis-shaping]
version = "0.1.0"
optional = true
[dependencies.foldhash]
version = "0.2"
optional = true
[dependencies.tracing]
version = "0.1"
[dev-dependencies.criterion]
version = "0.8"
default-features = false
[dev-dependencies.felis-shaping]
version = "0.1.0"
features = ["testing"]
[dev-dependencies.felis-vt]
version = "0.1.0"
[dev-dependencies.proptest]
version = "1"
[lints.clippy]
cargo_common_metadata = "allow"
cast_lossless = "allow"
cast_possible_truncation = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
dbg_macro = "warn"
doc_overindented_list_items = "allow"
expect_used = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
mod_module_files = "warn"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
option_if_let_else = "allow"
print_stderr = "warn"
print_stdout = "warn"
redundant_pub_crate = "allow"
significant_drop_tightening = "allow"
similar_names = "allow"
todo = "warn"
too_long_first_doc_paragraph = "allow"
too_many_arguments = "allow"
too_many_lines = "allow"
unimplemented = "warn"
unwrap_used = "warn"
[lints.clippy.cargo]
level = "warn"
priority = -1
[lints.clippy.nursery]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
let_underscore_drop = "warn"
single_use_lifetimes = "warn"
trivial_casts = "warn"
trivial_numeric_casts = "warn"
unreachable_pub = "warn"
unsafe_code = "deny"
unused_extern_crates = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
[lints.rust.future_incompatible]
level = "warn"
priority = -1
[lints.rust.nonstandard_style]
level = "warn"
priority = -1
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]
[lints.rustdoc]
broken_intra_doc_links = "warn"
missing_crate_level_docs = "warn"
private_intra_doc_links = "warn"