v0.3.0: Rendering pipeline — render dispatch, tree walk, dirty propagation

- render generic function dispatches per component type
- render-screen entry point with sync wrapper
- render-node walks tree, computes layout, calls render
- component-layout-node generic (box/text methods)
- component-children/component-parent generics
- propagate-dirty marks component + ancestors dirty
- box and text now inherit from dirty-mixin
- 6 new tests: render dispatch, layout-node accessor, children,
  dirty propagation, available-width defaults
- 42 component tests, 100% GREEN
This commit is contained in:
Hermes
2026-05-11 15:12:38 +00:00
parent 88c576a6b9
commit b0e5c18257
6 changed files with 126 additions and 5 deletions

View File

@@ -1,6 +1,6 @@
(in-package :cl-tui.box)
(defclass box ()
(defclass box (dirty-mixin)
((layout-node :initform (make-layout-node) :accessor box-layout-node
:initarg :layout-node)
(border-style :initform :single :initarg :border-style