[package]
name = "acadrust"
version = "0.2.8"
edition = "2021"
authors = ["Hakan AK"]
description = "A pure Rust library for reading and writing CAD files in DXF format (ASCII and Binary) and DWG format (Binary)."
license = "MPL-2.0"
repository = "https://github.com/hakanaktt/acadrust"
homepage = "https://github.com/hakanaktt/acadrust"
documentation = "https://docs.rs/acadrust"
readme = "README.md"
keywords = ["cad", "dxf", "dwg", "drawing", "vector-graphics"]
categories = ["parser-implementations", "encoding"]

[features]
default = []
serde = ["dep:serde", "bitflags/serde", "indexmap/serde"]

[dependencies]
# Error handling
thiserror = "1.0"
anyhow = "1.0"

# Binary parsing
nom = "7.1"
byteorder = "1.5"

# Compression
flate2 = "1.0"

# Math
nalgebra = "0.32"

# Collections
indexmap = "2.0"
ahash = "0.8"

# Parallel processing
rayon = "1.7"

# Encoding
encoding_rs = "0.8"

# Serialization (optional)
serde = { version = "1", features = ["derive"], optional = true }

# Utilities
bitflags = "2.4"
once_cell = "1.19"

[dev-dependencies]
criterion = "0.5"
proptest = "1.4"
serde_json = "1"

[profile.release]
opt-level = 3
lto = true
codegen-units = 1

[profile.bench]
inherits = "release"

[[example]]
name = "serde_json"
required-features = ["serde"]



