ui-inbox
A native-rendered task inbox written entirely with the experimental canvas.Ui declarative builder. The whole app is one elm-style loop — Model → Msg → update → view — with no hand-assigned widget ids, no absolute frames, and no string command dispatch:
- Widget identity is structural (tree path + keys), so keyed rows keep their ids across rebuilds, reorders, and filtering.
- Layout is flex (
gap,padding,grow, alignment) resolved by the canvas engine. - Pointer and keyboard events resolve to typed
Msgvalues through the tree's handler table (tree.msgForPointer/tree.msgForKeyboard).
Run it (macOS):
zig build run
Run the model/view tests on any platform:
zig build test