A functional programming language for game engine UIs inspired by Elm, Typst, Haskell and Flutter
// readme
Kura
A declarative, functional DSL for real-time game engine UIs
Warning: Under active development. Expect breaking changes and evolving ABIs
Kura combines pure functional composition and layout primitives with a compiler-driven UI architecture and a deterministic rendering pipeline.
By treating the UI as a compile-time data structure, Kura bypasses the overhead of traditional virtual DOM architectures.
Kura transforms your view declarations directly into a reactive, dependency-sorted render graph built to execute inside game engine loops at native speeds.
Influenced By
- Functional Languages: Elm, Haskell and Jsonnet
- Layout & Typesetting: Typst
- UI Frameworks: Flutter, React, Dear ImGui
Why Kura?
Traditional UI frameworks for renderers typically fall into 2 categories: Immediate Mode & DOM-based.
Immediate mode frameworks are typically fast to render, but become a nightmare of spaghetti code and state management. DOM-based frameworks on the other hand have great ergonomics, but become bloated by their runtime.
Kura is engineered to solve these friction points by providing:
- Good developer ergonomics with declarativeβ¦