Ripl - One unified API for rendering on the web and in the terminal

by
One unified, high-performance, zero-dependency TypeScript API for drawing 2D & 3D graphics, charts, and data visualizations across Canvas, SVG, Terminal, and WebGPU.

Add a comment

Replies

Best

After several years in development I am excited to announce the 1.0 release of Ripl!

Ripl is a unified, high-performance, zero-dependency TypeScript API for drawing 2D & 3D graphics, charts, and data visualizations across Canvas, SVG, Terminal, and WebGPU.

Ripl is designed for anyone working with graphics rendering across multiple contexts. It is particularly well suited to situations for multi-targeted rendering across back-end and front-end or custom interactive visualizations.

Version 1.0 ships with a which can be rendered on the web in or , or in the . It only takes a 1 line* code change to render to a different context.

The library is highly modular and tree-shakeable, meaning you only ship the parts that you actually use, but it comes with a whole bunch of sensible defaults such as grouping/inheritance, styling, events & interaction, animation, scales, panning/zooming, gradients, clip masks, color and geometry helpers, and much more...

Check out the for more information or try it out today in the .

* Rendering to Terminal requires an additional 2-3 line change

zero deps is honestly kind of a flex for something that covers canvas, svg, terminal, and webgpu. really curious how the terminal rendering actually holds up.

 Thanks! I built the Canvas and SVG contexts by hand but in all honesty I had a bit of help from Claude to build out the Terminal context. It supports most features the other contexts have with the exception of some obvious ones like transforms, text rotation, gradients and opacity, pointer events etc.

If you get a chance to try it out I'd love to hear what you think.

Thanks again for the great feedback.