Design and build user interfaces that run anywhere.
Pax is two things that work together: (1) a vector design tool and (2) a cross-platform user interface engine.
(1) Pax Designer is a vector design tool + visual builder that reads & writes user interface definitions as code.
(2) Pax Engine is a user interface engine: a cross-platform engine for building & deploying native apps & websites.
🦀 Built in Rust 🦀
Follow the Get Started instructions in the docs.
- Integrated visual builder (Pax Designer) — a vector design tool and reads & writes code with every visual operation
- Cross-platform native Build WASM apps or native macOS / iOS apps (macOS and iOS targets are in Alpha; Web target is in Beta; Windows, Linux, and Android are planned.)
- Hot module reloading Changes to .pax files are hot-reloaded when running Pax Designer locally — try it out
- Responsive layout engine (top-down,) including % and px as first-class citizens
- Standard library of reusable components like form controls, layouts, and drawing primitives
- Robust text rendering, including accessibility / screen-reader support and SEO support for web builds
- Animation engine: every property of every element is animatable at up to 240FPS, giving an extremely high ceiling for creative expression — intended for microinteractions, data visualization, interactive cartoons, games, simulations, or whatever else you can imagine that calls for motion.
- Expression language: every property can be bound to spreadsheet-inspired expressions; this makes dynamic logic accessible to low-coders, offers a highly expressive & succinct substrate for LLM generation, and is a key piece of Pax's solution to designability
- Lightweight footprint, targeting 100KB baseline WASM network footprint (current status: 2-3x above target, with room to improve)
You can try out Pax Designer on your workstation by following the “Get Started” directions.
This will run Pax Designer locally and allow you to make changes to the template starter project visually and via code.
For a robust real-world project built in Pax, see Pax Designer's source code, built entirely in Pax.
Read the docs at https://docs.pax.dev/ or contribute to the docs repo on GitHub.
Current status: Beta
This milestone includes complete open source releases of the systems comprising Pax, including Pax Engine, Pax Designer, and the Pax Standard Library.
You can build a real-world app with Pax today — see pax-designer for an example that’s already shipping.
Expect some rough edges with Beta:
- Missing vector design tool features — (jump on our Discord to share ideas & requests!)
- Bugs — we appreciate any reports you can file as Github Issues.
- Breaking changes — we do our best to avoid breaking changes, and are held accountable through maintaining a significant Pax app (Pax Designer). That said, breaking changes are subject to occur any time before 1.0.
- Web target is leading edge — macos and ios build targets are maintained for architectural soundness, but are several features behind the web target, e.g. occlusion and clipping. We expect to continue prioritizing Web target development for the near term. For mobile / desktop targets at this milestone, we recommend wrapping Pax Web with a webview e.g. Tauri.
-
Hosted version of Pax Designer — so anyone can use Pax Designer in the browser without any terminals or code. This will also be the chassis for Pax Pro, our commercial collaboration service that makes it easy for non-developers to contribute visual changes to GitHub.
-
Pax JavaScript — bindings to JavaScript so you can write Pax with JavaScript instead of Rust
-
Responses to feedback & general functional & ergonomic improvements
Our task tracker is private (Linear) but we are open to ideas for alternate solutions that can solve both productivity and visibility.
We collaborate publicly on the #contribution channel of our community Discord — feel free to drop in and chat.
Pax is open source and we welcome contributions. See CONTRIBUTING.md
Pax aims to make software creation more creative and more accessible to humanity. Learn more about Pax and our goals in our docs.
To achieve these goals, Pax is designed for "designability" — an ongoing bilateral bridge between visual vector design and user interface definitions as code.
Pax also unlocks a new way to interact with AI — a visual builder that an LLM navigates natively, because language is the backbone of every visual operation. Pax lets you design AND code with an LLM, and it can design and code in response. We believe this is a splash of the future of building user interfaces.
© 2024 PaxCorp Inc. [contact@pax.dev]
This project is licensed under either of:
at your option.