aboutsummaryrefslogtreecommitdiffstats
path: root/examples/todo.aup
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-09-26 11:08:29 +0100
committereunhhu <[email protected]>2026-09-26 11:08:29 +0100
commit0054ea8452a811f2745d72ce4b7764ea158f1d5f (patch)
tree62fef2445feedd1a8f679ee7255944b80dc0dc88 /examples/todo.aup
parentf6be15d01ac184f070e1bb34af12689f68eb9140 (diff)
downloadvega-0054ea8452a811f2745d72ce4b7764ea158f1d5f.tar.gz
vega-0054ea8452a811f2745d72ce4b7764ea158f1d5f.zip
Add a web surface: the same spec as a page
vega web MODULE serves the screen to a browser (127.0.0.1 unless given --listen): one dependency-free page draws the title, fields, lists as listboxes and tables, with tones as colors and the focus highlighted. It asks for the screen as JSON with the rows it can show per list or table, so only those cells are evaluated, scrolled like the TUI around the focus. Keys go as KeyboardEvent.code, which is Pure's key naming already; typed text commits with Enter; a click or the wheel moves the focus through pure_app_point; an event stream tells every open page of each change. Scrolling, key presses and text commits are now shared helpers. The checks drive it against the model (1,200 random steps: title, field, rows, focus, the window of items with badges and tones), check a table's columns and cells, post at random to every example, and in headless Chromium over the DevTools protocol press keys, click a row and type Korean text into the page itself.
Diffstat (limited to 'examples/todo.aup')
0 files changed, 0 insertions, 0 deletions