v0.12.0: Terminal capability detection, GPL 3.0 license, roadmap rewrite

LICENSE:
- Added GNU General Public License v3.0
- Updated README.org to reflect GPL 3.0

ROADMAP:
- Complete rewrite to reflect actual project state
- Removed croatoan/ncurses/Yoga FFI references
- Marked all 11 existing versions DONE
- Added v0.12.0-0.14.0 for new features (detection, pipeline, mouse)

DETECTION (v0.12.0):
- detect-backend: auto-detect modern vs simple backend
- detect-backend-by-env: check COLORTERM env var
- detect-backend-by-tty: check interactive-stream-p
- detect-backend-by-da1: query terminal via ESC[c (best-effort)
- *detected-backend* cache for zero-cost subsequent calls
- Added detection.lisp to ASDF and package exports
- Added 2 new tests (360 total, all passing)
- demo.lisp updated to use detect-backend

ORG BACKPORT (pre-existing fixes synced):
- dialog.org: render-dialog/render-toast fixes, class initforms
- scrollbox-tabbar.org: background-element -> bright-black, remove duplicate render
- select.org: remove duplicate render export
- text-input.org: remove duplicate %split-string, undo overflow fix
- layout-engine.org: quoted-literal -> list constructors, normalize-box rewrite
- mouse.org: add missing exports, fix test
This commit is contained in:
Hermes
2026-05-11 22:25:42 +00:00
parent 3ce7f9949c
commit b7df68c436
16 changed files with 1281 additions and 595 deletions

View File

@@ -33,7 +33,8 @@ module adds:
#:on-mouse-down #:on-mouse-up #:on-mouse-move #:on-mouse-scroll
#:handle-mouse-event
#:hit-test
#:selection #:get-selection #:copy-to-clipboard))
#:selection #:get-selection #:copy-to-clipboard
#:make-selection #:selection-p))
#+END_SRC
#+BEGIN_SRC lisp :tangle ../src/components/mouse.lisp :noweb no
@@ -98,6 +99,6 @@ module adds:
(is-true t))) ;; placeholder
(def-test selection-set-and-get ()
(let ((*selection* (make-selection :text "hello")))
(is (equal "hello" (get-selection)))))
(setf cl-tty.mouse::*selection* (make-selection :text "hello"))
(is (equal "hello" (get-selection))))
#+END_SRC