These libraries are experimental. APIs may change without notice. Generated from source with koruc 0.1.7 on 10/5/2026.

Vaxis

@korulang/vaxis@0.0.1

Terminal UI library for Koru wrapping libvaxis with phantom type obligations

vaxis/index.kz · 40 tors

Koru Vaxis Library — Reactive TUI wrapper, effect-branch shape · 28 more lines
Koru Vaxis Library — Reactive TUI wrapper, effect-branch shape `run` is a single long-running proc that owns the terminal for its entire body: init → loop emitting effects → deinit. Consumers handle terminal events as effect branches; they don't write an outer loop. USAGE: ~import koru/vaxis ~koru/vaxis:run(title: "Hello") // add tick_ms: 16 for a heartbeat ! draw _ |> koru/vaxis:write-at(x: 2, y: 2, text: "Hello! Press q to quit.") ! char k when k.ch == 'q' |> koru/vaxis:quit() | done |> std/io:print.ln("bye") | err e |> _ draw refires on every damage event and run auto-renders — no explicit render() calls. Input arrives decoded: ! char for text, ! up / ! enter / ! escape … for named keys, ! wheel-up / ! press … for the mouse, with ! key-raw / ! mouse-raw as the taps. MODULE-SCOPE REACH-BACK ($mod.): `run` is an effect-branch event, so its |zig body is SPLICED into the consumer's frame (cut-1 inlining) — where this module's bare names don't exist. Every reference to this module's own state (the vars/consts below) from inside a proc body uses the sanctioned `$mod.` spelling so the emitter rewrites it to the right namespace on the splice path and strips it to bare names on the standalone-handler path. `std` is exempt (it auto-rewrites to @import("std")). See koru pin 400_155 for the contract.

run

comptimetransformclaims_descendants index.kz:376

__retire

index.kz:734

mouse-decode

index.kz:1270

write-at

index.kz:1298

write-styled

index.kz:1326

sub-from-bottom

index.kz:1384

sub-fill

index.kz:1401

stack-row

index.kz:1430

write-in

index.kz:1445

progress-bar

index.kz:1461

stopwatch

index.kz:1698

text-input

index.kz:1758

viewport

index.kz:2062

wrap-lines

index.kz:2080

scrollview

index.kz:2094

paginator

index.kz:2117

filepicker

index.kz:2581

textarea

index.kz:2698

view

comptimetransform index.kz:2867

default

keywordcomptimetransformpre index.kz:3002

shader

comptimetransformpre index.kz:3213

component

comptimetransformpre index.kz:3876