aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
Commit message (Collapse)AuthorAgeFilesLines
* Swap a running app's module: --watch and the swap commandeunhhu2026-09-261-0/+2
| | | | | | | | | | | | | vega tui|web MODULE --watch replaces the running app's module when its file is written again (aup watch writes it); states keep their values by name through pure_app_replace and every web page hears of it. The file is compared by the digest of its bytes, at most five times a second, so a module of the same size written within the same second is not missed; a module that does not load leaves the app as it was and is not tried again. Modules alternate between two slots so a failed load never touches the running one. Scripts get swap MODULE; whether a module runs frames is now a property of the screen.
* Keep a surface's app in a storeeunhhu2026-09-251-1/+2
| | | | | | | | | | | Every surface takes --store PATH and runs the app on Pure's tree store, so a list typed in the terminal is there the next time, on any surface. Vega and the app carry no saving code; Vega saves the last frame changes when it ends. Checks let the CLI and the sentence surface take turns on one store and match the model each time, and reopen an interactive session's store.
* Add the first component and three surfaceseunhhu2026-09-251-3/+14
| | | | | | | | | | | | | | | | | | | | Vega reads a verified Pure module by convention: a table view with a label column is a list (with optional badge, detail and tone), any other table is a table, <table>_focus is its focused row, a title view is the title and other views are fields. lib/vega.aup gives aup apps the tones, which say what a row means; each surface decides how it looks or sounds. vega tui draws the screen in a terminal, keeps the focused row in view and evaluates only the cells on screen; vega cli prints plain lines for pipes; vega say speaks the screen and each focus change as sentences. Display width handles Hangul, CJK, emoji, combining marks and controls. tests/check.py compares the CLI and NUI output with a reference model of examples/todo.aup line for line, checks 9,600 TUI frames for scrolling, focus, badge alignment and the number of cells evaluated, drives the interactive TUI on a pseudo-terminal, and runs every aup example on every surface.
* Position Vega as an aup libraryeunhhu2026-09-251-6/+6
| | | | | | | Vega supplies the interface vocabulary (lists, tables, cursors, tones) as a library that aup programs use; aup itself keeps only general projections and modules.
* Charter Vega as the interface implementereunhhu2026-09-251-0/+38
Vega turns interface specifications and data presentation (cursoring, coloring, lists, tables) into TUI, CLI, GUI and NUI surfaces on Pure. It waits for the language and toolchain that target Pure; this commit records its place, scope, principles and open questions only.