# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.91"
name = "takumi"
version = "2.0.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Render UI component trees to images."
homepage = "https://takumi.kane.tw"
readme = "README.md"
keywords = [
    "react",
    "image",
    "css",
    "flexbox",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/kane50613/takumi"

[package.metadata.docs.rs]
all-features = true

[features]
default = [
    "raster-backend",
    "woff2",
    "woff",
    "svg-source",
    "rayon",
]
from-html = ["dep:takumi-html"]
raster-backend = ["dep:takumi-raster"]
rayon = ["takumi-raster?/rayon"]
svg-backend = ["dep:takumi-svg"]
svg-source = [
    "takumi-core/svg",
    "takumi-raster?/svg",
]
unstable = []
woff = ["takumi-core/woff"]
woff2 = ["takumi-core/woff2"]

[lib]
name = "takumi"
path = "src/lib.rs"

[[example]]
name = "profile_many_runs"
path = "examples/profile_many_runs.rs"

[[example]]
name = "profile_mix"
path = "examples/profile_mix.rs"

[[example]]
name = "profile_nested_clip"
path = "examples/profile_nested_clip.rs"

[[example]]
name = "profile_text"
path = "examples/profile_text.rs"

[[test]]
name = "fixtures"
path = "tests/fixtures.rs"

[[test]]
name = "font_tests"
path = "tests/font_tests.rs"

[[test]]
name = "measure_tests"
path = "tests/measure_tests.rs"

[[test]]
name = "pseudo_element_tests"
path = "tests/pseudo_element_tests.rs"

[[test]]
name = "svg_parity"
path = "tests/svg_parity.rs"

[[test]]
name = "svg_render"
path = "tests/svg_render.rs"

[[test]]
name = "test_utils"
path = "tests/test_utils.rs"

[[bench]]
name = "canvas"
path = "benches/canvas.rs"
harness = false

[[bench]]
name = "effects"
path = "benches/effects.rs"
harness = false

[[bench]]
name = "encode"
path = "benches/encode.rs"
harness = false

[[bench]]
name = "fixtures"
path = "benches/fixtures.rs"
harness = false

[[bench]]
name = "gradient"
path = "benches/gradient.rs"
harness = false

[[bench]]
name = "svg"
path = "benches/svg.rs"
harness = false

[[bench]]
name = "text"
path = "benches/text.rs"
harness = false

[dependencies.takumi-core]
version = "0.3.2"
default-features = false

[dependencies.takumi-html]
version = "0.1.4"
optional = true
default-features = false

[dependencies.takumi-raster]
version = "0.2.3"
optional = true
default-features = false

[dependencies.takumi-svg]
version = "0.1.4"
optional = true
default-features = false

[dev-dependencies.criterion]
version = "0.8"

[dev-dependencies.image]
version = "0.25"
features = [
    "png",
    "webp",
]
default-features = false

[dev-dependencies.parley]
version = "0.11"
features = ["std"]
default-features = false

[dev-dependencies.rayon]
version = "1.10"

[dev-dependencies.resvg]
version = "0.47"

[dev-dependencies.serde_json]
version = "1"

[lints.clippy]
redundant_closure_for_method_calls = "deny"

[lints.clippy.all]
level = "deny"
priority = -1
