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