[package]
name = "token-value-map"
version = "0.2.3"
authors = ["Moritz Moeller <virtualritz@gmail.com>"]
edition = "2024"
keywords = [
"graphics",
"animation",
"attribute",
"keyframe",
"dcc",
]
categories = ["graphics"]
license = "Apache-2.0 OR BSD-3-Clause OR MIT OR Zlib"
description = "A token-value map with interpolation of values: what you need for DCCs"
exclude = [".github/**/*"]
readme = "README.md"
documentation = "https://docs.rs/token-value-map"
repository = "https://github.com/virtualritz/token-value-map/"
[features]
default = ["builtin-types", "2d", "vec_variants", "glam", "ustr", "curves"]
builtin-types = []
curves = ["builtin-types"]
lua = ["dep:mlua"]
ustr = ["dep:ustr"]
serde = ["dep:serde", "ustr?/serde", "mitsein/serde"]
glam = ["dep:glam"]
nalgebra = ["dep:nalgebra"]
ultraviolet = ["dep:ultraviolet"]
mint = ["dep:mint", "glam?/mint", "nalgebra?/convert-mint", "ultraviolet?/mint"]
rkyv = ["dep:rkyv", "glam", "frame-tick/rkyv", "glam/rkyv"]
facet = ["dep:facet", "frame-tick/facet"]
egui-keyframe = ["dep:egui-keyframe"]
interpolation = ["dep:uniform-cubic-splines"]
dopamine-compat = ["interpolation"]
vector2 = []
vector3 = []
matrix3 = []
normal3 = []
point3 = []
matrix4 = []
vec_variants = []
2d = ["vector2", "matrix3"]
3d = ["vector3", "matrix4", "normal3", "point3"]
[dependencies]
thiserror = "2"
bytemuck = "1"
derive_more = { version = "2", features = ["as_ref"] }
enum_dispatch = "0.3"
facet = { version = ">=0.41", optional = true }
frame-tick = { version = "0.3", features = ["float_frame_rate", "serde", "std"] }
function_name = "0.3"
log = "0.4"
mlua = { version = "0.11", features = ["anyhow", "lua53"], optional = true }
glam = { version = "0.32", optional = true, features = ["serde", "bytemuck"] }
nalgebra = { version = "0.34", optional = true, features = ["bytemuck", "serde-serialize"] }
ultraviolet = { version = "0.10", optional = true, features = ["bytemuck", "serde", "f64"] }
mint = { version = "0.5", optional = true }
mitsein = { version = "0.9", default-features = false, features = ["std", "rayon"] }
rayon = "1"
rkyv = { version = "0.8", features = ["bytecheck"], optional = true }
serde = { version = "1", features = ["derive"], optional = true }
smallvec = { version = "1", features = ["const_generics", "const_new"] }
strum = { version = "0.27", features = ["derive"] }
uniform-cubic-splines = { version = "0.5", optional = true }
ustr = { version = "1", optional = true }
egui-keyframe = { version = "0.1", optional = true }
[dev-dependencies]
anyhow = "1"