blob: 5dc0f4f9c4fcb639ad5c692bca19d13c35dd17bc [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_hybrid/examples/webgl",
"sparse_strips/vello_toy",
]
[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.4.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.4.0", path = "vello" }
vello_encoding = { version = "0.4.0", path = "vello_encoding" }
vello_shaders = { version = "0.4.0", path = "vello_shaders" }
bytemuck = { version = "1.21.0", features = ["derive"] }
skrifa = "0.26.4"
# The version of kurbo used below should be kept in sync
# with the version of kurbo used by peniko.
peniko = { version = "0.3.1", default-features = false }
# FIXME: This can be removed once peniko supports the schemars feature.
kurbo = { version = "0.11.1", default-features = false }
futures-intrusive = "0.5.0"
smallvec = "1.13.2"
static_assertions = "1.1.0"
thiserror = "2.0.11"
oxipng = { version = "9.1.4", default-features = false }
# The below crates are experimental!
vello_api = { path = "sparse_strips/vello_api", default-features = false }
vello_common = { path = "sparse_strips/vello_common" }
vello_cpu = { path = "sparse_strips/vello_cpu" }
vello_hybrid = { path = "sparse_strips/vello_hybrid" }
# NOTE: Make sure to keep this in sync with the version badge in README.md and vello/README.md
wgpu = { version = "24.0.1" }
log = "0.4.22"
image = { version = "0.25.5", default-features = false }
# Used for examples
clap = "4.5.26"
anyhow = "1.0.95"
pollster = "0.4.0"
web-time = "1.1.0"
wgpu-profiler = "0.21.0"
scenes = { path = "examples/scenes" }
svg = "0.18.0"
criterion = { version = "0.5.1", default-features = false }
rand = { version = "0.9.0", default-features = false, features = ["std_rng"] }
usvg = { version = "0.45.0" }
once_cell = "1.21.1"