paxdotdev / pax

User interface engine with an integrated vector design tool, built in Rust
https://www.pax.dev/
Apache License 2.0
465 stars 23 forks source link
design design-tools graphics gui rendering-engine rust visual-builder wasm webassembly

Pax

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 🦀

Get Started

Follow the Get Started instructions in the docs.

Features

Examples

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.

Docs

Read the docs at https://docs.pax.dev/ or contribute to the docs repo on GitHub.

Project status

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:

  1. Missing vector design tool features — (jump on our Discord to share ideas & requests!)
  2. Bugs — we appreciate any reports you can file as Github Issues.
  3. 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.
  4. 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.

Current priorities

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.

Contribution

Pax is open source and we welcome contributions. See CONTRIBUTING.md

Why?

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.

License

© 2024 PaxCorp Inc. [contact@pax.dev]

This project is licensed under either of:

at your option.