#ui #proc-macro #widgets #syntax #rsx #bevy #kayak

macro kayak_ui_macros

A proc macro library that provides RSX like syntax for Kayak UI

5 releases (breaking)

0.5.0 Feb 11, 2024
0.4.0 Apr 30, 2023
0.3.0 Apr 16, 2023
0.2.0 Dec 11, 2022
0.1.0 Nov 13, 2022

#1863 in Procedural macros

Download history 7/week @ 2024-02-12 12/week @ 2024-02-19 31/week @ 2024-02-26 1/week @ 2024-03-04 4/week @ 2024-03-11 103/week @ 2024-04-01

107 downloads per month
Used in kayak_ui

Custom license

52KB
1K SLoC

Kayak UI


Kayak UI

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!

Check out the book! Kayak UI Book

WARNING

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.

Features

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

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).
  • Dpi Scaling
  • Batched Rendering
  • Opacity Layers
  • Custom Materials

Missing features

  • More default widgets.
  • More events

Example Screenshot

Kayak UI

Usage

Use bevy 0.10! Make sure the version of Kayak you are using uses the same version of bevy.

kayak_ui = "0.5"
bevy = "0.12"
bevy kayak_ui
main bevy-track
0.12 0.5
0.11.x skipped
0.10.x 0.4
0.10.x 0.3
0.9 0.2
0.9 0.1

Check out the book!

Kayak UI Book

Dependencies

~4MB
~81K SLoC