pmacs/pmacs-gpu/Cargo.toml

55 lines
1.7 KiB
TOML

[package]
name = "pmacs-gpu"
version = "0.0.1"
edition = "2024"
rust-version = "1.95"
description = "GPU/GUI frontend for pmacs (session 2: hello-world). See docs/pmacs-gpu-design.md."
license = "MIT OR Apache-2.0"
authors = ["Pmacs contributors"]
readme = "../README.md"
repository = "https://git.levineuwirth.org/neuwirth/pmacs"
homepage = "https://levineuwirth.org/essays/pmacs"
keywords = ["editor", "emacs", "gpu", "gui"]
categories = ["text-editors"]
publish = false
[[bin]]
name = "pmacs-gpu"
path = "src/main.rs"
[lints.rust]
unsafe_code = "forbid"
missing_docs = "warn"
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
# Allows: same set as the root `pmacs` crate, mirrored so the GPU
# code doesn't trip lints the rest of the project doesn't either.
module_name_repetitions = "allow"
must_use_candidate = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
cast_possible_truncation = "allow"
cast_sign_loss = "allow"
cast_precision_loss = "allow"
similar_names = "allow"
multiple_crate_versions = "allow"
[dependencies]
env_logger = "0.11.10"
# Text shaping + GPU rendering. `glyphon` re-exports the `cosmic-text`
# types it pins (`Buffer`, `Attrs`, `Family`, `FontSystem`,
# `Metrics`, `Shaping`, `SwashCache`, ...); we use those re-exports
# rather than depending on `cosmic-text` directly so the build never
# ends up with two cosmic-text versions resolving to the same name.
glyphon = "0.11.0"
loro = "=1.12.0"
# Session 1's wire-types crate. Pulled in now so the dep graph is
# settled from session 2 forward; protocol consumption itself lands
# in session 3.
pmacs-protocol = { version = "1.0.0", path = "../pmacs-protocol" }
pollster = "0.4.0"
wgpu = "29.0.3"
winit = "0.30.13"