[package]
edition = "2024"
name = "hypercurve"
version = "0.3.0"
authors = ["Timothy Schmidt <timschmidt@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Hyperreal-backed planar curves, contours, and regions for CAD topology"
readme = "README.md"
keywords = [
"cad",
"curves",
"geometry",
"hyperreal",
"topology",
]
categories = [
"mathematics",
"graphics",
"algorithms",
]
license = "Apache-2.0"
repository = "https://github.com/timschmidt/hypercurve"
[package.metadata.docs.rs]
all-features = true
[features]
default = ["predicates"]
predicates = ["dep:hyperlimit"]
serde = []
triangulation = ["dep:hypertri"]
[lib]
name = "hypercurve"
path = "src/lib.rs"
[[test]]
name = "exact_structural_facts"
path = "tests/exact_structural_facts.rs"
[[test]]
name = "hypercurve_adversarial_polygons"
path = "tests/hypercurve_adversarial_polygons.rs"
[[test]]
name = "hypercurve_bbox"
path = "tests/hypercurve_bbox.rs"
[[test]]
name = "hypercurve_bezier_algebraic_image"
path = "tests/hypercurve_bezier_algebraic_image.rs"
[[test]]
name = "hypercurve_bezier_algebraic_parameter"
path = "tests/hypercurve_bezier_algebraic_parameter.rs"
[[test]]
name = "hypercurve_bezier_arrangement"
path = "tests/hypercurve_bezier_arrangement.rs"
[[test]]
name = "hypercurve_bezier_fit_offset"
path = "tests/hypercurve_bezier_fit_offset.rs"
[[test]]
name = "hypercurve_bezier_region"
path = "tests/hypercurve_bezier_region.rs"
[[test]]
name = "hypercurve_bezier_split_materialization"
path = "tests/hypercurve_bezier_split_materialization.rs"
[[test]]
name = "hypercurve_bezier_tangent_order"
path = "tests/hypercurve_bezier_tangent_order.rs"
[[test]]
name = "hypercurve_boolean"
path = "tests/hypercurve_boolean.rs"
[[test]]
name = "hypercurve_bspline"
path = "tests/hypercurve_bspline.rs"
[[test]]
name = "hypercurve_circle_predicates"
path = "tests/hypercurve_circle_predicates.rs"
[[test]]
name = "hypercurve_contour"
path = "tests/hypercurve_contour.rs"
[[test]]
name = "hypercurve_curve_string"
path = "tests/hypercurve_curve_string.rs"
[[test]]
name = "hypercurve_events"
path = "tests/hypercurve_events.rs"
[[test]]
name = "hypercurve_fragments"
path = "tests/hypercurve_fragments.rs"
[[test]]
name = "hypercurve_fuzz_regressions"
path = "tests/hypercurve_fuzz_regressions.rs"
[[test]]
name = "hypercurve_geo_regressions"
path = "tests/hypercurve_geo_regressions.rs"
[[test]]
name = "hypercurve_offset"
path = "tests/hypercurve_offset.rs"
[[test]]
name = "hypercurve_planar_pcurve"
path = "tests/hypercurve_planar_pcurve.rs"
[[test]]
name = "hypercurve_pr59_shape_regressions"
path = "tests/hypercurve_pr59_shape_regressions.rs"
[[test]]
name = "hypercurve_reconstruct"
path = "tests/hypercurve_reconstruct.rs"
[[test]]
name = "hypercurve_region"
path = "tests/hypercurve_region.rs"
[[test]]
name = "hypercurve_region_events"
path = "tests/hypercurve_region_events.rs"
[[test]]
name = "hypercurve_region_fragments"
path = "tests/hypercurve_region_fragments.rs"
[[test]]
name = "hypercurve_self_contacts"
path = "tests/hypercurve_self_contacts.rs"
[[test]]
name = "hypercurve_split"
path = "tests/hypercurve_split.rs"
[[test]]
name = "hypercurve_triangulation"
path = "tests/hypercurve_triangulation.rs"
[[bench]]
name = "bezier_algebraic_parameter"
path = "benches/bezier_algebraic_parameter.rs"
harness = false
[[bench]]
name = "bezier_arrangement"
path = "benches/bezier_arrangement.rs"
harness = false
[[bench]]
name = "bezier_region"
path = "benches/bezier_region.rs"
harness = false
[[bench]]
name = "bezier_split_materialization"
path = "benches/bezier_split_materialization.rs"
harness = false
[[bench]]
name = "bezier_tangent_order"
path = "benches/bezier_tangent_order.rs"
harness = false
[[bench]]
name = "bspline"
path = "benches/bspline.rs"
[[bench]]
name = "containment"
path = "benches/containment.rs"
harness = false
[[bench]]
name = "intersection"
path = "benches/intersection.rs"
harness = false
[[bench]]
name = "offset"
path = "benches/offset.rs"
harness = false
[[bench]]
name = "reconstruction"
path = "benches/reconstruction.rs"
harness = false
[dependencies.hyperlimit]
version = "0.4.0"
features = ["std"]
optional = true
default-features = false
[dependencies.hyperreal]
version = "0.13.0"
default-features = false
[dependencies.hypersolve]
version = "0.3.0"
default-features = false
[dependencies.hypertri]
version = "0.4.0"
features = ["earcut"]
optional = true
default-features = false
[dev-dependencies.geo]
version = "0.32"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.static_aabb2d_index]
version = "2.0"