Files
cl-tty/cl-tui.asd
Amr Gharbeia 56682d0cc2 v0.1.0: Layout primitives + composable API — 23 new tests
Layout primitives (org/layout-primitives.org, ~290 lines):
- CLOS layout-node class wrapping YGNodeRef with tg:finalize for GC cleanup
- 12 setter functions with keyword→integer enum translation
- layout-calculate: runs Yoga layout, returns root
- 14 tests: dimension, direction, flex-grow, align, justify,
  padding, margin, absolute position, wrap, gap, nested layout

Composable API (org/layout-composable.org, ~200 lines):
- vbox/hbox macros: declarative container creation with style props
- overlay macro: absolute-positioned child over relative base
- spacer function: flex-grow filler
- make-props-list helper: extracts plist minus :children
- 6 tests: vbox stacking, hbox layout, spacer flex, overlay position,
  align/justify via vbox, padding offset

GREEN: 29/29 pass (59 assertions)
- yoga-ffi: 9 tests (22 assertions)
- layout-primitives: 14 tests (24 assertions)
- layout-composable: 6 tests (13 assertions)
2026-05-11 08:08:15 -04:00

12 lines
351 B
Common Lisp

(defsystem :cl-tui
:name "cl-tui"
:author "memex"
:version "0.1.0"
:license "AGPLv3"
:description "Reusable Common Lisp Terminal UI Framework"
:depends-on (:cffi :croatoan :trivial-garbage)
:serial t
:components ((:file "lisp/yoga-ffi")
(:file "lisp/layout-primitives")
(:file "lisp/layout-composable")))