dapple 0.6: Composition and Layout for Terminal Graphics
dapple started as a rendering library: bitmap in, text out. One Canvas API, seven renderers (braille, quadrants, sextants, ASCII, sixel, kitty, fingerprint). But as the CLI tools grew, they kept reinventing the same code.
Every tool calculated terminal width, corrected aspect ratios, handled kitty vs sixel vs braille sizing differently. imgcat had 50 lines of sizing logic. pdfcat had 70. mdcat had 40. They all did the same thing, slightly differently, with slightly different bugs.
0.6 extracts this into a layout engine and adds composition primitives that make multi-panel terminal displays trivial.
...Read more →