subdiv-kernels 0.1.0

Standalone subdivision kernel crate for Rust and wasm32 workflows
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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"