[package] name = "road_parceling" version = "0.1.0" edition = "2021" authors = ["Dane Sabo"] description = "Road-frontage-based parcel subdivision for a city simulation. Pure logic, no rendering or game loop." license = "MIT OR Apache-2.0" repository = "https://github.com/danesabo/Historia_Urbis" readme = "README.md" keywords = ["geometry", "city", "simulation", "parcel", "gis"] categories = ["algorithms", "game-development", "science::geo"] [features] default = [] viz = ["dep:svg"] serde = ["dep:serde", "glam/serde", "slotmap/serde"] [dependencies] glam = { version = "0.29", features = ["mint"] } geo = "0.28" slotmap = "1" thiserror = "2" rand = "0.8" rand_chacha = "0.3" # optional svg = { version = "0.18", optional = true } serde = { version = "1", features = ["derive"], optional = true } [dev-dependencies] proptest = "1" insta = { version = "1", features = ["yaml"] } criterion = { version = "0.5", default-features = false, features = ["cargo_bench_support"] } [[bench]] name = "subdivision" harness = false [[example]] name = "generate_figures" required-features = ["viz"] [lints.rust] missing_docs = "deny" unsafe_code = "forbid" [lints.clippy] all = { level = "warn", priority = -1 } # Pragmatic exceptions for a numerical/geometry crate. We deliberately # do *not* enable `pedantic` here — its naming and idiom checks fight # the conventions of geometry code (single-letter coordinate names, # small struct field reassignments) without buying real safety. if_same_then_else = "allow" field_reassign_with_default = "allow"