Check out my first novel, midnight's simulacra!

Spriteful TErminal GrAphics Protocol

From dankwiki
Revision as of 20:08, 7 June 2021 by Dank (talk | contribs) (Created page with "STEGAP is my proposal for a terminal graphics protocol facilitating bitmapped sprites combined with terminal glyphs and styling. Just being able to blit a bitmap into a termin...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

STEGAP is my proposal for a terminal graphics protocol facilitating bitmapped sprites combined with terminal glyphs and styling. Just being able to blit a bitmap into a terminal is of little use for libraries like Notcurses. Unfortunately, that's about all that Sixel gives you. Useful background reading might include my Theory and Practice of Sprixels.

Goals as a toolkit developer

Ideally, I want to be able to:

  • associate a bitmap with an identifier. this bitmap might not be wholly opaque--transparent pixels are of critical important, translucency less so. i ought be able to reload the bitmap (keeping the size constant), and have it redrawn without flicker.
  • draw text atop the bitmap without a background color, so that the graphic is not obscured except where the glyph is defined
  • move the bitmap in a flicker-free way elsewhere in the visible area
  • update glyphs (partially-)obscured by a bitmap without disturbing the bitmap
  • destroy the bitmap with a single escape, ideally yielding whatever had been obscured by said bitmap

I do not require the ability to:

  • stack text atop text within a cell, with or without intermediate graphics

A solution must not:

  • require me to render text myself