-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Coroutine Bridge + Primitive Renderer
Implements the foundational coroutine bridge and rendering layer for plugin UIs. Replaces the old PTY approach (issues #98-#101, now closed) with in-process Lua coroutine yield/resume.
Plan: ai/plans/plugin/PLUGIN_TUI_SCREENS.md — Phases 1 + 2
Phase 1: Core Bridge (internal/plugin/ui_bridge.go, ui_primitives.go)
CoroutineBridge— Create, Start, Resume, Close lifecycle- Layout table parser — Lua table →
PluginLayout/PluginPrimitivewith validation - Event builder — Go values → Lua event table
- Action parser — Lua action table →
PluginActionstruct - Enable coroutine library when plugin has screens or interfaces
- Unit tests with mock Lua functions
Phase 2: Renderer (internal/plugin/ui_renderer.go)
- Each primitive type's
Render(width, height, focused, accent)method PluginLayout→Grid+[]CellContentconversion- Single primitive rendering for inline mode
- Snapshot tests for each primitive
Primitives
list, detail, text, table, input, select, tree — all defined as Lua table shapes, parsed and rendered by Go.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Projects
Status
Todo