Skip to content

CAMEL-21975: Add graphical route diagram rendering to TUI monitor#22856

Draft
gnodet wants to merge 1 commit intoapache:mainfrom
gnodet:CAMEL-21975-tui-image-diagram
Draft

CAMEL-21975: Add graphical route diagram rendering to TUI monitor#22856
gnodet wants to merge 1 commit intoapache:mainfrom
gnodet:CAMEL-21975-tui-image-diagram

Conversation

@gnodet
Copy link
Copy Markdown
Contributor

@gnodet gnodet commented Apr 30, 2026

CAMEL-21975

Summary

  • Use Tamboui's Image widget to render route diagrams as actual images (via Kitty/Sixel/iTerm2 protocols) when the terminal supports it
  • Falls back to the existing text tree diagram for terminals without native image support
  • Adds tamboui-image dependency to the TUI plugin module
  • Makes RouteDiagramLayoutEngine and RouteDiagramRenderer classes/methods public so they can be reused from the TUI plugin
  • Temporarily bumps TamboUI to 0.2.1-SNAPSHOT for testing

Blocked by TamboUI upstream issues

This PR requires fixes in TamboUI before it can be merged:

  • tamboui#315 — Image placement offset within Block border (image renders garbled at top)
  • tamboui#316 — Missing Kitty graphics delete command (image persists after widget is removed)
  • tamboui#317 — Blurry image rendering (not querying terminal cell pixel size for proper scaling)

Once these are fixed and released, we need to update tamboui-version in parent/pom.xml to the release containing the fixes.

Test plan

  • Start a Camel integration, run camel tui monitor, go to Routes tab, select a route, press d
  • Verify graphical diagram appears in terminals with Kitty/Sixel/iTerm2 support (Ghostty, kitty, WezTerm, iTerm2)
  • Verify text diagram appears in terminals without native image support
  • Verify Esc or d closes the diagram
  • Verify scroll works in text diagram mode (arrow keys, PgUp/PgDn, mouse wheel)

🤖 Generated with Claude Code

Use Tamboui's Image widget to render route diagrams as actual images
(via Kitty/Sixel/iTerm2 protocols) when the terminal supports it,
falling back to the existing text tree diagram otherwise.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@davsclaus
Copy link
Copy Markdown
Contributor

this is awesome and there are many more graphical / charts etc we can display.

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.

2 participants