About this project

Pax is a language-first graphical user interface framework for Rust. It introduces a declarative UI language, PAXEL, which allows developers to describe interfaces in .pax templates while application logic remains in Rust. The framework's runtime is portable and high-performance, targeting web browsers via WebAssembly and native Apple platforms using Metal. It supports reactive state management, where changes propagate through a dependency graph to update only the necessary UI elements, minimizing layout and rendering work. Key features include template hot reload, vector drawing, gradients, masks, animations, and accessibility support. The CLI provides commands for project creation, running, and debugging, including screenshot capture and scene inspection. Pax aims for high frame rates, low memory consumption, and small bundle sizes, with ongoing improvements to reduce idle CPU usage. The project is pre-1.0 and dual-licensed under MIT or Apache 2.0.