feat: add Kitty Graphics Protocol and Sixel support for diagram rendering#71
Merged
vobu merged 4 commits intofeat/process-instance-diagramfrom Feb 18, 2026
Conversation
…nals Co-authored-by: vobu <6573426+vobu@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add feature to render BPMN diagrams as PNG images
feat: add Kitty Graphics Protocol support for diagram rendering
Feb 18, 2026
…ee1c85f-8828-41c6-b151-aab80e16c426
vobu
requested changes
Feb 18, 2026
| } else if (support.iterm2) { | ||
| // Use iTerm2 Inline Images Protocol | ||
| printIterm2Image(pngBuffer, filename); | ||
| } else { |
Collaborator
There was a problem hiding this comment.
include an implementation for support.sixel (from supports-terminal-graphics) as well
Contributor
Author
There was a problem hiding this comment.
Added Sixel graphics protocol support in commit b3bfe40. The diagram rendering now supports three protocols:
- Kitty Graphics Protocol for Ghostty, Kitty, WezTerm, Konsole
- iTerm2 Inline Images Protocol for iTerm2, WezTerm, mintty, VS Code
- Sixel protocol for xterm, mintty, mlterm, and legacy terminals
The implementation uses pngjs to decode PNG data and the sixel package to encode it to Sixel format with 256 colors.
Collaborator
There was a problem hiding this comment.
redo an "npm install" for Node 22 LTS and redo package-lock.json from scratch
Contributor
Author
There was a problem hiding this comment.
Regenerated package-lock.json from scratch with Node 22 LTS in commit b3bfe40. Also fixed a missing comma in package.json dependencies that was causing parse errors.
… with Node 22 Co-authored-by: vobu <6573426+vobu@users.noreply.github.com>
Copilot
AI
changed the title
feat: add Kitty Graphics Protocol support for diagram rendering
feat: add Kitty Graphics Protocol and Sixel support for diagram rendering
Feb 18, 2026
vobu
approved these changes
Feb 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Diagram rendering (
c8ctl get pi --diagram) only implemented iTerm2 Inline Images Protocol (OSC 1337), which Ghostty doesn't support. Ghostty requires Kitty Graphics Protocol. Additionally, added Sixel protocol support for legacy terminals.Changes
supports-terminal-graphicsdependency for automatic protocol detectionm=0/m=1)f=100)\x1b_Ga=T,f=100,m=X;<base64>\x1b\\pngjsfor PNG decoding andsixelpackage for encodingExample
Diagrams now render correctly in iTerm2, Ghostty, and legacy terminals with Sixel support.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.