map-tile-toolkit 0.3.0

Clip integer polylines and polygons into per-tile pieces on a simple tile grid
Documentation
[package]
name = "map-tile-toolkit"
version = "0.3.0"
description = "Clip integer polylines and polygons into per-tile pieces on a simple tile grid"
authors = ["Yuri Astrakhan <YuriAstrakhan@gmail.com>"]
repository = "https://github.com/nyurik/map-tile-toolkit"
edition = "2024"
license = "MIT OR Apache-2.0"
keywords = ["mvt", "tile", "geo", "polyline", "clip"]
categories = ["science::geo"]
rust-version = "1.88"

[[example]]
name = "simplify_slice"

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

[features]
default = []
hotpath = ["dep:hotpath", "hotpath/hotpath"]
hotpath-alloc = ["hotpath", "hotpath/hotpath-alloc"]

[dependencies]
geo-types = "0.7.19"
hotpath = { version = "0.28.4", optional = true }
thiserror = "2"

[dev-dependencies]
geo = "0.33.1"
geojson = { version = "1.0.0", features = ["geo-types"] }
gungraun = "0.20"
insta = "1"
serde_json = { version = "1", features = ["preserve_order"] }
stats_alloc = "0.1"
test_each_file = "0.3.7"
wkt = "0.14"

# Release build with debug symbols, used by `just flamegraph-*` for readable profiles.
[profile.profiling]
inherits = "release"
debug = true

# gungraun (Valgrind/Callgrind) benchmarks need debug info to map instruction counts to source.
[profile.bench]
debug = true

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

[lints.clippy]
# Restrictions
disallowed_methods = "forbid"
panic_in_result_fn = "warn"
todo = "warn"
unimplemented = "warn"
unwrap_used = "warn"
use_self = "warn"

# Pedantics without being too noisy
cargo = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
multiple_crate_versions = "allow"