[package]
name = "subdiv-kernels"
version = "0.1.0"
edition = "2024"
rust-version = "1.85"
description = "Standalone subdivision kernel crate for Rust and wasm32 workflows"
repository = "https://github.com/virtualritz/subdiv-kernels"
license = "MIT OR Apache-2.0 OR Zlib OR BSD-3-Clause"
keywords = ["subdivision", "mesh", "catmull-clark", "geometry", "graphics"]
categories = ["graphics", "rendering", "mathematics"]
[package.metadata.docs.rs]
features = ["serde", "parallel", "wgpu"]
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = []
serde = ["dep:serde"]
parallel = ["dep:rayon"]
wgpu = ["dep:wgpu", "dep:bytemuck", "dep:pollster"]
bevy = ["dep:bevy", "dep:bevy_egui"]
[dependencies]
thiserror = "2"
rayon = { version = "1", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
enum_dispatch = "0.3"
wgpu = { version = "29", optional = true }
bytemuck = { version = "1", features = ["derive"], optional = true }
pollster = { version = "0.4", optional = true }
rustc-hash = "2.1.2"
smallvec = { version = "1.15.2", features = ["union"] }
bevy = { version = "0.19", optional = true }
bevy_egui = { version = "0.40", optional = true }
[dev-dependencies]
criterion = "0.8"
opensubdiv-petite = "0.3"
[[bench]]
name = "sparse_eval"
harness = false
[[bench]]
name = "closest_point"
harness = false
[[bench]]
name = "wgpu_eval"
harness = false
required-features = ["wgpu"]
[[example]]
name = "bevy"
required-features = ["bevy"]