From 12c377ea70c8928f96d02d0885744bd6818c10c6 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Fri, 25 Sep 2026 15:24:05 +0100 Subject: Add the first component and three surfaces 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, _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. --- Makefile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9b15acc --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +CC ?= cc +CFLAGS ?= -O2 -g +CFLAGS += -std=c17 -Wall -Wextra -Wpedantic -Werror +BUILD ?= build +# Sibling checkouts: Pure runs the modules, aup builds them. +PURE ?= ../pure/prototypes/connections +AUP ?= ../aup + +PURE_SOURCES = $(PURE)/module.c $(PURE)/module-list.c $(PURE)/module-text.c $(PURE)/store-tree.c +SOURCES = src/screen.c src/draw.c src/width.c src/main.c + +.PHONY: all check +all: $(BUILD)/vega + +$(BUILD): + mkdir -p $@ + +$(BUILD)/vega: $(SOURCES) src/vega.h $(PURE_SOURCES) | $(BUILD) + $(CC) $(CPPFLAGS) $(CFLAGS) -I$(PURE) $(SOURCES) $(PURE_SOURCES) $(LDFLAGS) -lm $(LDLIBS) -o $@ + +check: $(BUILD)/vega + $(MAKE) -C $(AUP) build/aup + python3 tests/check.py --vega $(BUILD)/vega --aup $(AUP)/build/aup -- cgit v1.2.3