| [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" |