[package] name = "ark-api" version = "0.17.0-pre.43" description = "Ark API" license = "MIT OR Apache-2.0" authors.workspace = true edition.workspace = true rust-version.workspace = true #repository = "" TODO #homepage = "" TODO publish = true [lints] workspace = true [lib] doctest = false test = true [dependencies] ark-api-ffi = { version = "0.17.0-pre.43", path = "../api-ffi" } ark-api-macros = { version = "0.13.0", path = "../api-macros", optional = true } # external dependencies bitflags = { version = "1.2.1", default-features = false } bytemuck = { version = "1.10", features = [ "extern_crate_std", "min_const_generics", ] } bytes = "1.3" crossbeam-channel = "0.5.8" http = { version = "0.2", optional = true } http-body = { version = "0.4", optional = true } httparse = { version = "1.6", optional = true } log = { version = "0.4.7", default-features = false } macaw = { version = "0.19", path = "../../packages/macaw", features = [ "debug_assert", ] } serde = { version = "1.0", default-features = false, optional = true } speedy = { version = "0.8", optional = true, features = ["glam"] } static_assertions = { version = "1.1", default-features = false } tower = { version = "0.4", optional = true } futures = { optional = true, version = "0.3.4", default-features = false, features = [ "alloc", ] } [dev-dependencies] ark-public-api-test = { path = "../../tests/public-api-test" } [features] # NOTE: on any changes to the features here, also update list in .ci/scripts/cargo.rs # APIs applet = [] audio = [] behavior = ["with_serde"] behavior_controller = ["with_serde"] http_client = ["http", "http-body", "tower"] file_ux = [] http_request = [] content_moderation = [] feature-toggle = [] mixer = [] ml = [] ml-inference = ["ml"] # NOTE[TSolberg]: SnapshotFormat. module_run = [] profiler = [] render = [] report = [] resource = [] social = ["time", "user"] storage = ["user"] telemetry = [] time = [] user = [] system_metrics = [] world = [] # Enable example APIs # These are APIs that illustrate internal API development, and are only enabled # when validating the code examples = ["ark-api-ffi/examples"] # Enable testing macro test = ["ark-api-macros"] # Enable serialization support. # This enables serialization/deserialization support for most types with_serde = ["serde", "ark-api-ffi/with_serde", "macaw/with_serde"] # Enable serialization support via the `speedy` crate. with_speedy = ["speedy", "ark-api-ffi/with_speedy", "macaw/with_speedy"] # Enable async support. # This enables async functions in the APIs and the Wasm future runtime with_async = ["futures"] # Unstable APIs and extension APIs. # These may have breaking changes in them at any time even for patch releases of this crate. # only intended for developer testing and users have to explicitly opt-in unstable-servlet = ["internal__unstable_apis", "http", "httparse"] # Internal features flags, do not use manually # ------------------------------------------- internal__unstable_apis = ["ark-api-ffi/unstable"] # docs.rs-specific section, https://docs.rs/about/metadata [package.metadata.docs.rs] all-features = true default-target = "wasm32-unknown-unknown" targets = [] # only build the Wasm target