Skip to content
Snippets Groups Projects
README.md 1.64 KiB
Newer Older
StarArawn's avatar
StarArawn committed
<p align="center">
    <img src="images/kayak.svg" alt="Kayak UI" width="600" />
</p>
StarArawn's avatar
StarArawn committed
<br/>
StarArawn's avatar
StarArawn committed

<h1>
    <p align="center">
    Kayak UI
    <p>
</h1>

## What is Kayak UI?
AhegaHOE's avatar
AhegaHOE committed
Kayak UI is a declarative UI that can be used to make user interfaces in Rust primarily targeting games. It's free and open-source!
StarArawn's avatar
StarArawn committed

John Mitchell's avatar
John Mitchell committed
Check out the book!
[Kayak UI Book](./book/src/SUMMARY.md)

StarArawn's avatar
StarArawn committed
## WARNING
John Mitchell's avatar
John Mitchell committed
Kayak UI is in the very early stages of development. Important features are missing and some documentation is missing. Kayak UI is designed to only work with Bevy.
StarArawn's avatar
StarArawn committed

## Features
- Easy to use declarative syntax using a custom proc macro
- Basic widget and global state management
StarArawn's avatar
StarArawn committed
- Input events (Mouse, Keyboard, Char)
StarArawn's avatar
StarArawn committed
- Fast and accurate layouts using morphorm: https://github.com/geom3trik/morphorm
StarArawn's avatar
StarArawn committed
- A few default widgets (check out Kayak's [built-in widgets](./src/widgets)!)
StarArawn's avatar
StarArawn committed
- Style system built to kind of mimic CSS styles.
- Image and Nine patch rendering.
StarToaster's avatar
StarToaster committed
- Vec widgets see vec example!
StarArawn's avatar
StarArawn committed

## Bevy Renderer Features
- Image and NinePatch renderer
- Fast MSDF Font renderer
- Quad renderer with rounded corners.
- Custom UI node to ensure UI renders on top of 3D and 2D entities.
- Fully integrated into bevy to capture input events, use bevy assets(images, etc).
StarArawn's avatar
StarArawn committed
- Dpi Scaling
StarArawn's avatar
StarArawn committed

StarArawn's avatar
StarArawn committed
## Missing features
- More default widgets.
StarArawn's avatar
StarArawn committed
- More events
StarArawn's avatar
StarArawn committed

StarArawn's avatar
StarArawn committed
## Example Screenshot
<img src="images/screen1.png" alt="Kayak UI" width="600" />

## Usage
Use bevy `0.9`! Make sure the version of Kayak you are using uses the same version of bevy.

```rust
kayak_ui = "0.2"
|bevy|kayak_ui|
|---|---|
|`main`|`bevy-track`|
|0.9|0.2|
StarToaster's avatar
StarToaster committed
## Check out the book!
John's avatar
John committed
[Kayak UI Book](./book/src/SUMMARY.md)