Skip to content

docs: explore sixel for dashboard rendering - #1394

Open
jared-outpost[bot] wants to merge 1 commit into
mainfrom
issue-1231-explore-sixel-dashboard
Open

docs: explore sixel for dashboard rendering#1394
jared-outpost[bot] wants to merge 1 commit into
mainfrom
issue-1231-explore-sixel-dashboard

Conversation

@jared-outpost

@jared-outpost jared-outpost Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Investigation for #1231 — feasibility of using sixel / terminal-graphics for dashboard view rendering.

Adds a design note at packages/cli/docs/design/sixel-dashboard-rendering.md.

Key finding

the missing pieces the issue assumes are mostly already built:

  • src/lib/sixel.ts — capability probe (canRenderSixel(), detectSixelCaps(), terminalPixelWidth()), DA1-based, cached, unix-only, respects SENTRY_NO_SIXEL / NO_COLOR / SENTRY_PLAIN_OUTPUT.
  • src/lib/sixel-image.ts — runtime PNG/JPEG→sixel encoder (imageBytesToSixel), no new deps.
  • sentry api already renders images inline via resolveBinaryTtyOutput — the exact pattern a dashboard renderer would follow.

so the real work is not detection or encoding — it's producing a raster for a chart and fitting pixel images into a grid that is currently measured in character cells (src/lib/formatters/dashboard.ts).

What the note covers

  • terminal support matrix (iTerm2, Kitty, WezTerm, Windows Terminal, tmux/ssh)
  • two integration strategies (per-widget pixel tiles vs whole-canvas), and why per-widget tiles win
  • the rasterizer gap and options (hand-rolled pure-JS raster preferred — no new deps, works in the SEA binary)
  • dependency/runtime cost and the graceful fallback path (already the CLI default posture)
  • opt-in (--graphics=sixel, default off) first, auto-detect later
  • a recommended first cut (timeseries widget only) and open questions (tmux, Kitty/iTerm2, refresh, missing cell-size)

no code changes — investigation only.

Feasibility investigation for terminal-graphics (sixel) rendering of
`dashboard view`. Documents that the CLI already ships a sixel capability
probe (src/lib/sixel.ts) and a runtime PNG/JPEG->sixel encoder
(src/lib/sixel-image.ts, wired into `sentry api`), and lays out how a
dashboard integration would reuse that machinery: terminal support matrix,
grid/framebuffer integration strategies, dependency/runtime cost, graceful
fallback, and opt-in (--graphics) vs auto-detect.

Fixes #1231
@vercel

vercel Bot commented Aug 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cli Ready Ready Preview Aug 8, 2026 8:07am

Request Review

@jared-outpost
jared-outpost Bot marked this pull request as ready for review August 8, 2026 08:08
@jared-outpost

jared-outpost Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

ci green, self-review clean → ready

@github-actions github-actions Bot added the risk: low PR risk score: low label Aug 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: low PR risk score: low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants