Hermes Agent
|
29f99a576d
|
literate: restructure all 19 org files with per-function blocks and prose
Every function, defclass, defstruct, defgeneric, defmethod, defmacro,
defvar, and defparameter in every org file now has its own #+BEGIN_SRC
block with literate prose above it explaining the design reasoning.
Block counts before → after:
package.org: 1 → 7
container-package.org: 1 → 1 (prose expanded)
dirty.org: 4 → 6
render.org: 10 → 25
theme.org: 6 → 19
box-renderable.org: 9 → 29
scrollbox.org: 8 → 26
tabbar.org: 5 → 10
backend-protocol.org: 8 → 66
modern-backend.org: 17 → 53
detection.org: 4 → 6
layout-engine.org: 9 → 36
framebuffer.org: 8 → 37
markdown-renderer.org:13 → 38
dialog.org: 17 → 23 (merged dual structure)
mouse.org: 4 → 25
select.org: 12 → 30
slot.org: 4 → 12
text-input.org: 11 → 53
Total: ~153 blocks → ~502 blocks
Bugs fixed during restructuring:
- render.org: stray π character typo (backenπd → backend)
- modern-backend.org: sgr-attr missing closing paren + #+END_SRC
- detection.org: invalid #\Esc character reference
- select.org: extra closing paren in select-visible-options
All 13 test suites pass at 100%.
|
2026-05-12 18:55:07 +00:00 |
|
Hermes Agent
|
5f07c1fd76
|
fix: tangle.py write-once-then-append logic (was always-appending, triplicating files); confirm-dialog option plist comparison; mouse-event button type (or keyword null)
|
2026-05-12 15:51:44 +00:00 |
|
Hermes Agent
|
ca90d6b945
|
chore: org tangle sync — regenerate .lisp from .org sources (zero functional changes, file sizes identical)
|
2026-05-12 15:42:40 +00:00 |
|
Hermes Agent
|
5930e17b57
|
fix: org tangle — fix END_SRC boundaries in mouse.org/slot.org (prose inside code blocks), replace emacs tangle with Python script that handles all blocks
|
2026-05-12 15:22:29 +00:00 |
|
Hermes
|
811d51a4f2
|
Rename cl-tui -> cl-tty, v0.9.0: Dialog System + Toast
Rename: cl-tty avoids naming collision with Quicklisp's cl-tui (naryl/cl-tui,
a cl-charms-based ncurses library). Our project is pure escape-sequence CL.
v0.9.0 adds:
- Dialog base class: modal overlay with backdrop, centered panel, size
variants (:small/:medium/:large), stack-based management
- Dialog subclasses: alert, confirm, select-dialog, prompt-dialog
- Toast notifications: transient, top-right corner, auto-dismiss,
colored variants (info/success/warning/error)
- 78 tests total, 100% passing
ASDF: read-time package references (+fiveam:+) replaced with
find-symbol so .asd loads without FiveAM pre-loaded
|
2026-05-11 19:55:37 +00:00 |
|
Hermes
|
9adefb5dbb
|
v0.6.0: ScrollBox + TabBar — container components
ScrollBox:
- Container with vertical/horizontal scroll, viewport culling
- Scroll offset (:scroll-y, :scroll-x) with clamp to valid bounds
- Scrollbars rendered when content exceeds viewport
- Sticky scroll (auto-scroll to bottom on content change)
- Component protocol: component-children, component-layout-node
TabBar:
- Horizontal tab row with active/inactive styling
- tab-bar-next/prev (wraps around), tab-bar-select, tab-bar-handle-key
- Tab title rendering with overflow truncation (ellipsis)
- Component protocol: component-layout-node
26 scrollbox+tabbar tests, 100% GREEN:
171 total (27 backend + 58 box + 60 input + 26 scrollbox)
Review fixes applied:
- Removed duplicate definitions (org per-function blocks are prose-only)
- Fixed ASDF test path (../../tests/...)
- Version bumped to 0.6.0
- Added clamp-scroll export
- Added tab-bar-next/prev/select/handle-key tests
- Added scroll clamp boundary tests
|
2026-05-11 17:17:22 +00:00 |
|