blob: 6dae8f19d6be45de4470302fee47fb1ce88c6bf4 [file] [log] [blame] [edit]
[workspace]
resolver = "2"
members = [
"vello",
"vello_encoding",
"vello_shaders",
"vello_tests",
"examples/headless",
"examples/run_wasm",
"examples/scenes",
"examples/simple",
"examples/with_winit",
"sparse_strips/vello_api",
"sparse_strips/vello_bench",
"sparse_strips/vello_common",
"sparse_strips/vello_cpu",
"sparse_strips/vello_hybrid",
"sparse_strips/vello_sparse_shaders",
"sparse_strips/vello_hybrid/examples/native_webgl",
"sparse_strips/vello_hybrid/examples/scenes",
"sparse_strips/vello_hybrid/examples/wgpu_webgl",
"sparse_strips/vello_hybrid/examples/winit",
"sparse_strips/vello_toy",
"sparse_strips/vello_dev_macros",
"sparse_strips/vello_sparse_tests",
"image_filters/vello_filters_cpu",
]
[workspace.package]
# Vello version, also used by other packages which want to mimic Vello's version.
# Right now those packages include vello_encoding and vello_shaders.
#
# NOTE: When bumping this, remember to also bump the aforementioned other packages'
# version in the dependencies section at the bottom of this file.
# Additionally, bump the Vello dependency version in the 'simple' example.
version = "0.5.0"
edition = "2024"
# Keep in sync with RUST_MIN_VER in .github/workflows/ci.yml, with the relevant README.md files
# and with the MSRV in the `Unreleased` section of CHANGELOG.md.
rust-version = "1.85"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/linebender/vello"
[workspace.lints]
# LINEBENDER LINT SET - Cargo.toml - v5
# See https://linebender.org/wiki/canonical-lints/
rust.keyword_idents_2024 = "forbid"
rust.non_ascii_idents = "forbid"
rust.non_local_definitions = "forbid"
rust.unsafe_op_in_unsafe_fn = "forbid"
rust.elided_lifetimes_in_paths = "warn"
rust.missing_debug_implementations = "warn"
rust.missing_docs = "warn"
rust.trivial_numeric_casts = "warn"
rust.unexpected_cfgs = "warn"
rust.unnameable_types = "warn"
rust.unreachable_pub = "warn"
rust.unused_import_braces = "warn"
rust.unused_lifetimes = "warn"
rust.unused_macro_rules = "warn"
clippy.too_many_arguments = "allow"
clippy.allow_attributes_without_reason = "warn"
clippy.cast_possible_truncation = "warn"
clippy.collection_is_never_read = "warn"
clippy.dbg_macro = "warn"
clippy.debug_assert_with_mut_call = "warn"
clippy.doc_markdown = "warn"
clippy.fn_to_numeric_cast_any = "warn"
clippy.infinite_loop = "warn"
clippy.large_stack_arrays = "warn"
clippy.mismatching_type_param_order = "warn"
clippy.missing_assert_message = "warn"
clippy.missing_fields_in_debug = "warn"
clippy.same_functions_in_if_condition = "warn"
clippy.semicolon_if_nothing_returned = "warn"
clippy.shadow_unrelated = "warn"
clippy.should_panic_without_expect = "warn"
clippy.todo = "warn"
clippy.unseparated_literal_suffix = "warn"
clippy.use_self = "warn"
clippy.cargo_common_metadata = "warn"
clippy.negative_feature_names = "warn"
clippy.redundant_feature_names = "warn"
clippy.wildcard_dependencies = "warn"
# END LINEBENDER LINT SET
[workspace.dependencies]
vello = { version = "0.5.0", path = "vello" }
vello_encoding = { version = "0.5.0", path = "vello_encoding" }
vello_shaders = { version = "0.5.0", path = "vello_shaders" }
bytemuck = { version = "1.23.0", features = ["derive"] }
skrifa = { version = "0.31.0", default-features = false, features = ["autohint_shaping"] }
# The version of kurbo used below should be kept in sync
# with the version of kurbo used by peniko.
peniko = { version = "0.4.0", default-features = false }
# FIXME: This can be removed once peniko supports the schemars feature.
kurbo = { version = "0.11.2", default-features = false }
futures-intrusive = "0.5.0"
smallvec = "1.15.0"
static_assertions = "1.1.0"
thiserror = "2.0.12"
oxipng = { version = "9.1.5", default-features = false }
png = "0.17.16"
rayon = { version = "1.10.0" }
thread_local = "1.1.8"
# The below crates are experimental!
vello_api = { path = "sparse_strips/vello_api", default-features = false }
vello_common = { version = "0.0.1", path = "sparse_strips/vello_common", default-features = false }
vello_cpu = { path = "sparse_strips/vello_cpu" }
vello_hybrid = { path = "sparse_strips/vello_hybrid" }
vello_sparse_shaders = { path = "sparse_strips/vello_sparse_shaders" }
vello_hybrid_scenes = { path = "sparse_strips/vello_hybrid/examples/scenes" }
vello_dev_macros = { path = "sparse_strips/vello_dev_macros" }
# NOTE: Make sure to keep this in sync with the version badge in README.md and vello/README.md
wgpu = { version = "24.0.3" }
log = "0.4.27"
image = { version = "0.25.6", default-features = false }
# Used for examples
clap = "4.5.38"
anyhow = "1.0.98"
pollster = "0.4.0"
web-time = "1.1.0"
wgpu-profiler = "0.22.0"
winit = "0.30.10"
scenes = { path = "examples/scenes" }
svg = "0.18.0"
criterion = { version = "0.5.1", default-features = false }
rand = { version = "0.9.1", default-features = false, features = ["std_rng"] }
usvg = { version = "0.45.1" }
once_cell = "1.21.3"
# Used for testing
proc-macro2 = "1.0.95"
syn = { version = "2.0.101", features = ["full", "extra-traits"] }
quote = "1.0.40"