[package]
edition = "2024"
rust-version = "1.85"
name = "subdiv-kernels"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Standalone subdivision kernel crate for Rust and wasm32 workflows"
readme = "README.md"
keywords = [
"subdivision",
"mesh",
"catmull-clark",
"geometry",
"graphics",
]
categories = [
"graphics",
"rendering",
"mathematics",
]
license = "MIT OR Apache-2.0 OR Zlib OR BSD-3-Clause"
repository = "https://github.com/virtualritz/subdiv-kernels"
[package.metadata.docs.rs]
features = [
"serde",
"parallel",
"wgpu",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
bevy = [
"dep:bevy",
"dep:bevy_egui",
]
default = []
parallel = ["dep:rayon"]
serde = ["dep:serde"]
wgpu = [
"dep:wgpu",
"dep:bytemuck",
"dep:pollster",
]
[lib]
name = "subdiv_kernels"
path = "src/lib.rs"
[[example]]
name = "bevy"
path = "examples/bevy.rs"
required-features = ["bevy"]
[[test]]
name = "closest_point"
path = "tests/closest_point.rs"
[[test]]
name = "limit_eval"
path = "tests/limit_eval.rs"
[[test]]
name = "limit_eval_osd_oracle"
path = "tests/limit_eval_osd_oracle.rs"
[[test]]
name = "limit_osd_oracle"
path = "tests/limit_osd_oracle.rs"
[[test]]
name = "limit_sectored"
path = "tests/limit_sectored.rs"
[[test]]
name = "limit_surface"
path = "tests/limit_surface.rs"
[[test]]
name = "limit_weights"
path = "tests/limit_weights.rs"
[[test]]
name = "patch_osd_oracle"
path = "tests/patch_osd_oracle.rs"
[[test]]
name = "patch_table"
path = "tests/patch_table.rs"
[[test]]
name = "sparse_inverse_parity"
path = "tests/sparse_inverse_parity.rs"
[[test]]
name = "topology_bit_identical"
path = "tests/topology_bit_identical.rs"
[[test]]
name = "wgpu_parity"
path = "tests/wgpu_parity.rs"
[[bench]]
name = "closest_point"
path = "benches/closest_point.rs"
harness = false
[[bench]]
name = "sparse_eval"
path = "benches/sparse_eval.rs"
harness = false
[[bench]]
name = "wgpu_eval"
path = "benches/wgpu_eval.rs"
harness = false
required-features = ["wgpu"]
[dependencies.bevy]
version = "0.19"
optional = true
[dependencies.bevy_egui]
version = "0.40"
optional = true
[dependencies.bytemuck]
version = "1"
features = ["derive"]
optional = true
[dependencies.enum_dispatch]
version = "0.3"
[dependencies.pollster]
version = "0.4"
optional = true
[dependencies.rayon]
version = "1"
optional = true
[dependencies.rustc-hash]
version = "2.1.2"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.smallvec]
version = "1.15.2"
features = ["union"]
[dependencies.thiserror]
version = "2"
[dependencies.wgpu]
version = "29"
optional = true
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.opensubdiv-petite]
version = "0.3"