Newer
Older
<p align="center">
<img src="images/kayak.svg" alt="Kayak UI" width="600" />
</p>
<h1>
<p align="center">
Kayak UI
<p>
</h1>
## What is Kayak UI?
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!
Kayak UI is in the very early stages of development. Important features are missing and documentation is non-existent. Kayak UI is designed to only work with Bevy.
## Features
- Easy to use declarative syntax using a custom proc macro
- Basic widget and global state management
- Fast and accurate layouts using morphorm: https://github.com/geom3trik/morphorm
- A few default widgets (check out Kayak's [built-in widgets](./src/widgets)!)
- Style system built to kind of mimic CSS styles.
- Image and Nine patch rendering.
## 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).
## Example Screenshot
<img src="images/screen1.png" alt="Kayak UI" width="600" />
Use bevy main! Make sure the version of Kayak you are using uses the same version of bevy.
kayak_ui = { git="https://github.com/StarArawn/kayak_ui", rev="{INSERT_COMMIT_SHA_HERE}", features = ["bevy_renderer"] }
bevy = { git = "https://github.com/bevyengine/bevy", rev="4bcf49b2ea6fb5f42388b0e15d204020053ee5c7" }
## Check out the book!
[Kayak UI Book](./book/src/SUMMARY.md)