MCPcopy Index your code
hub / github.com/StarArawn/kayak_ui

github.com/StarArawn/kayak_ui @v0.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.5.0 ↗ · + Follow
1,189 symbols 2,619 edges 166 files 223 documented · 19% updated 2y agov0.5.0 · 2024-02-12★ 48126 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://github.com/StarArawn/kayak_ui/raw/v0.5.0/images/kayak.svg" alt="Kayak UI" width="600" />

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

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 612
Function 280
Class 262
Enum 27
Interface 8

Languages

Rust100%

Modules by API surface

src/layout.rs62 symbols
src/tree.rs57 symbols
src/node.rs48 symbols
src/render/unified/pipeline.rs38 symbols
src/styles/style.rs33 symbols
src/event_dispatcher.rs28 symbols
src/render/ui_pass.rs27 symbols
src/context.rs25 symbols
src/widget_context.rs19 symbols
src/widgets/scroll/scroll_context.rs18 symbols
src/focus_tree.rs18 symbols
kayak_ui_macros/src/block.rs17 symbols

For agents

$ claude mcp add kayak_ui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page