[package] name = "saft" version = "0.34.1" authors = [ "Embark ", "Niklas Nummelin ", ] description = "Signed distance field function compiler/interpreter/discretizer/mesher" license = "MIT OR Apache-2.0" keywords = ["gamedev", "sdf"] categories = ["game-development", "graphics"] edition.workspace = true rust-version.workspace = true publish = true [lints] workspace = true [lib] doctest = false test = true [[bench]] harness = false name = "benchmark" [dependencies] ahash = { version = "0.8.1", default-features = false, features = [ "no-rng", # we don't need DOS-protection, so we let users opt-in to it instead "std", ] } arbitrary = { version = "1", optional = true, features = ["derive"] } bincode = { version = "1.3", optional = true } macaw = { version = "0.19.0", path = "../macaw" } num_enum = "0.7.0" rayon = { version = "1.5", optional = true } serde = { version = "1.0.104", features = ["derive"], optional = true } speedy = { version = "0.8", optional = true, features = ["glam"] } thiserror = "1" saft-sdf = { version = "0.2.0", path = "crates/saft-sdf", features = [ "with_opcode_derives", ] } [dev-dependencies] ark-public-api-test = { workspace = true } # can't use workspace dependency for tiny-bench since it as a wildcard version tiny-bench = "0.3.0" [features] default = ["optimized"] optimized = [] with_arbitrary = ["arbitrary", "saft-sdf/with_arbitrary"] with_bincode = ["bincode"] # NOTE[TSolberg]: This feature can cause Rayon to overflow the stack when lots of creatures exist. # This can occur if those creatures have very high complexity so lots of creatures # are getting baked at the same time, generating overlapping long-running jobs. with_rayon = ["rayon"] with_serde = ["serde", "macaw/with_serde", "saft-sdf/with_serde"] with_speedy = ["speedy", "saft-sdf/with_speedy"]