Files
2026-07-13 12:29:49 +08:00

20 lines
751 B
Markdown

# 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 `Msg` values through the tree's handler table (`tree.msgForPointer` / `tree.msgForKeyboard`).
Run it (macOS):
```bash
zig build run
```
Run the model/view tests on any platform:
```bash
zig build test
```