State & Plans of GUI development with Crystal

Little late to the party but here it goes.

As of 2024, I’ve been working on a GUI library from the ground up.
It has fairly different design goals than other GUI frameworks that I’ve seen and the layout rules are quite different.

showcase

Features include

  • composable reactive components that can be templated together.
  • exposes a drawing API for freely rendering shapes / text / etc
  • decoupled from a backend (although currently only supports raylib out of the box)
  • automation capabilities baked in
  • some basic components provided

The library privileges the ability to easily create components as opposed to providing them. There is also support for font clamping/wrapping.

I’m in the process of learning a lot about a lot of technology I’ve taken for granted (a lot of ground to cover), so conversations are preferred over PRs and development will be a medium-slow burn.

If anyone wants to learn more, I put together a demo for a friend. (Thanks to nuclearbananana from reddit for compressing it). There are a few misteps and inaccuracies, but you’ll get the gist easily.

https://file.skinnyjames.net/hokusai-demo/index.html

Project is on codeberg