Help us shape the future of Go! Take the 2026 Go Developer Survey

karty-ui

module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2026 License: MIT

README

KartUI

Typed, declarative game interfaces for Karty.

KartUI combines markup, Go expressions, reusable components, and styles to make game menus and HUDs easy to author.

A .ui file declares a component with typed inputs and Go callbacks:

kartui MainMenu(Title string, Play func()) {
    <panel modal="true">
        <label>{ Title }</label>
        <button onClick={ Play }>Play</button>
    </panel>
}

Title supplies the label text; Play runs when the button is activated. Components can also include setup logic, reusable layouts, and styles.

  • Compiler for components, layouts, themes, and styles.
  • Schema for bounded UI definitions shared with the runtime.
  • Go adapters for typed bindings and callbacks.
  • VS Code extension for highlighting and snippets.

This public repository builds independently of the private Karty Engine. Rendering and platform input belong to the engine.

mise run test
mise run install-editor
mise run package-editor

Language reference · Styles · Development · Releases

Use KartUI in games with the Karty CLI.

Contributing · MIT license

Directories

Path Synopsis
Package codegen emits project-specific Go adapters for Karty UI and assets.
Package codegen emits project-specific Go adapters for Karty UI and assets.
Package uicompiler lowers KartUI UI sources into presentation assets and typed client bindings.
Package uicompiler lowers KartUI UI sources into presentation assets and typed client bindings.
Package ui defines bounded author-owned presentation assets shared by the build pipeline and host.
Package ui defines bounded author-owned presentation assets shared by the build pipeline and host.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL