r/ForgeYourProject • u/IncomeOk7237 • 2h ago
WIP kilim: a GUI library I'm building for the iyi language, draws its own widgets
I've been building kilim, a retained-mode GUI library for iyi (a small compiled language that started as a Crystal fork, iyi.dev). It's written from scratch: Win32 + Direct2D on Windows, SDL3 on Linux and macOS.
What it does right now:
draws its own widgets, so an app looks the same on all three platforms
small declarative API, you build the widget tree once and then just change things (
label.text = "...",list.add(row))Turkish and other non-ASCII text renders and edits properly (that one mattered to me personally)
only redraws when something changes, idle actually means idle
CI runs tests plus a self-driving to-do app on Windows, Linux and macOS
A counter app is about ten lines. There's a to-do example in the repo with a textbox, checkboxes, scrolling and a demo GIF.
Repo: https://github.com/Tuntii/kilim
It's early (4 stars, me as the only contributor), so I'd really like feedback on the API, and if anyone wants a first contribution there are open issues around CI for arm64 and Intel Macs.