Files

ui-inbox

A native-rendered task inbox written entirely with the experimental canvas.Ui declarative builder. The whole app is one elm-style loop — ModelMsgupdateview — 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 Msg values 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