Skip to content

warpui_core: TUI element library (text, column, container, child_view, event_handler)#12634

Draft
zachbai wants to merge 1 commit into
zb/tui-backend/03a-tui-seamfrom
zb/tui-backend/03b-tui-elements
Draft

warpui_core: TUI element library (text, column, container, child_view, event_handler)#12634
zachbai wants to merge 1 commit into
zb/tui-backend/03a-tui-seamfrom
zb/tui-backend/03b-tui-elements

Conversation

@zachbai

@zachbai zachbai commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Description

Adds the concrete TUI element library on top of the TuiElement trait from #12633. Entirely behind the tui feature — with tui off this PR is inert (new files only, not compiled).

Elements added, each with unit tests: text, column, container, child_view, event_handler. These are the immediate-mode TUI analogues of the corresponding GUI elements — enough to build a real TUI view tree, which the presenter consumes in #12601.

Reviewing: 12 new files under elements/tui/, purely additive (1 deletion). No existing code path changes.

Stack

#12413#12633#12634 (this)#12601

Testing

  • cargo check -p warpui_core -p warp -p warpui clean in both default and --features tui.
  • Per-element unit tests pass (--features tui).

Agent Mode

  • Warp Agent Mode

CHANGELOG-NONE

zachbai commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

@zachbai zachbai changed the base branch from zb/tui-backend/03a-tui-seam to graphite-base/12634 June 15, 2026 07:25
@zachbai zachbai force-pushed the graphite-base/12634 branch from e30ebf4 to f85df3c Compare June 15, 2026 07:25
@zachbai zachbai force-pushed the zb/tui-backend/03b-tui-elements branch from a096d97 to d2989fd Compare June 15, 2026 07:25
@zachbai zachbai changed the base branch from graphite-base/12634 to zb/tui-backend/03a-tui-seam June 15, 2026 07:25
@zachbai zachbai changed the base branch from zb/tui-backend/03a-tui-seam to graphite-base/12634 June 15, 2026 19:58
@zachbai zachbai force-pushed the zb/tui-backend/03b-tui-elements branch from d2989fd to 33719f7 Compare June 15, 2026 19:59
@zachbai zachbai force-pushed the graphite-base/12634 branch from f85df3c to f02f2af Compare June 15, 2026 19:59
@zachbai zachbai changed the base branch from graphite-base/12634 to zb/tui-backend/03a-tui-seam June 15, 2026 19:59
@zachbai zachbai changed the base branch from zb/tui-backend/03a-tui-seam to graphite-base/12634 June 15, 2026 21:45
@zachbai zachbai force-pushed the graphite-base/12634 branch from f02f2af to 73c3649 Compare June 15, 2026 21:45
@zachbai zachbai force-pushed the zb/tui-backend/03b-tui-elements branch from 33719f7 to dbe7255 Compare June 15, 2026 21:45
@zachbai zachbai changed the base branch from graphite-base/12634 to zb/tui-backend/03a-tui-seam June 15, 2026 21:45
@zachbai zachbai force-pushed the zb/tui-backend/03a-tui-seam branch from 73c3649 to c459ffb Compare June 15, 2026 22:42
@zachbai zachbai force-pushed the zb/tui-backend/03b-tui-elements branch from dbe7255 to 7402b63 Compare June 15, 2026 22:42
@zachbai zachbai changed the base branch from zb/tui-backend/03a-tui-seam to graphite-base/12634 June 15, 2026 22:51
@zachbai zachbai force-pushed the graphite-base/12634 branch from c459ffb to 878719b Compare June 15, 2026 22:51
@zachbai zachbai force-pushed the zb/tui-backend/03b-tui-elements branch from 7402b63 to 2b8f634 Compare June 15, 2026 22:51
@zachbai zachbai changed the base branch from graphite-base/12634 to zb/tui-backend/03a-tui-seam June 15, 2026 22:51
@zachbai zachbai changed the base branch from zb/tui-backend/03a-tui-seam to graphite-base/12634 June 15, 2026 23:59
@zachbai zachbai force-pushed the graphite-base/12634 branch from 878719b to b0ddbff Compare June 15, 2026 23:59
@zachbai zachbai force-pushed the zb/tui-backend/03b-tui-elements branch from 2b8f634 to 6f914f0 Compare June 15, 2026 23:59
@zachbai zachbai changed the base branch from graphite-base/12634 to zb/tui-backend/03a-tui-seam June 15, 2026 23:59
…, event_handler)

Adds the concrete TuiElement implementors the TUI views compose: TuiText,
TuiColumn, TuiContainer, TuiChildView, and TuiEventHandler (each with its own
tests), and wires them into elements/tui/mod.rs. TuiChildView consumes the seam
(render_tui_view + TuiEventContext::set_origin_view) added in the prior slice.

Co-Authored-By: Oz <oz-agent@warp.dev>
@zachbai zachbai force-pushed the zb/tui-backend/03a-tui-seam branch from b0ddbff to 4d98812 Compare June 16, 2026 21:02
@zachbai zachbai force-pushed the zb/tui-backend/03b-tui-elements branch from 6f914f0 to 8f0d783 Compare June 16, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant