Cargo.toml

[workspace]
members = ["crates/*"]
exclude = ["fuzz", "vendor"]
resolver = "3"

[workspace.dependencies]
parley = { git = "https://github.com/linebender/parley", rev = "4f67747d3690bb21d25cc70b674ab0d269595759", features = ["complex-scripts"] }
# Parley's own fontique, for its features: Cargo shares a git dependency only between
# entries naming the same revision.
fontique = { git = "https://github.com/linebender/parley", rev = "4f67747d3690bb21d25cc70b674ab0d269595759" }
wgpu = "30.0.1"

[patch.crates-io]
sctk-adwaita = { path = "vendor/sctk-adwaita" }

[profile.release]
lto = "fat"
codegen-units = 1
panic = "abort"

# Code that runs at a person's pace, not a frame's: system services, the network, file and
# image formats, shader translation.
[profile.release.package]
accesskit.opt-level = "s"
accesskit_atspi_common.opt-level = "s"
accesskit_consumer.opt-level = "s"
accesskit_macos.opt-level = "s"
accesskit_unix.opt-level = "s"
accesskit_windows.opt-level = "s"
accesskit_winit.opt-level = "s"
async-executor.opt-level = "s"
async-io.opt-level = "s"
atspi.opt-level = "s"
atspi-common.opt-level = "s"
atspi-proxies.opt-level = "s"
cab.opt-level = "s"
gif.opt-level = "s"
image.opt-level = "s"
lzxd.opt-level = "s"
mdns-sd.opt-level = "s"
naga.opt-level = "s"
pdf-writer.opt-level = "s"
png.opt-level = "s"
quick-xml.opt-level = "s"
ring.opt-level = "s"
roxmltree.opt-level = "s"
rustls.opt-level = "s"
rustls-webpki.opt-level = "s"
serde_json.opt-level = "s"
smb2.opt-level = "s"
smithay-client-toolkit.opt-level = "s"
subsetter.opt-level = "s"
svgtypes.opt-level = "s"
tiff.opt-level = "s"
tokio.opt-level = "s"
toml_edit.opt-level = "s"
unicode_names2.opt-level = "s"
ureq.opt-level = "s"
ureq-proto.opt-level = "s"
usvg.opt-level = "s"
wayland-client.opt-level = "s"
winit.opt-level = "s"
x11rb.opt-level = "s"
x11rb-protocol.opt-level = "s"
zbus.opt-level = "s"
zbus_names.opt-level = "s"
zbus_xml.opt-level = "s"
zune-jpeg.opt-level = "s"
zvariant.opt-level = "s"

# Shaping, rasterization and GPU submission stay optimised in debug builds, where
# unoptimised dependencies alone drop frames.
[profile.dev.package."*"]
opt-level = 3

# Tests replay thousands of commits and seals through the store, which unoptimised takes most
# of the suite's time.
[profile.test.package.onestore]
opt-level = 1