One unified, high-performance, zero-dependency TypeScript API for drawing 2D & 3D graphics, charts, and data visualizations across Canvas, SVG, Terminal, and WebGPU.
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 fully featured charting library which can be rendered on the web in Canvas or SVG, or in the Terminal. 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...
* Rendering to Terminal requires an additional 2-3 line change
Report
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.
Report
Maker
@christinaaguilera 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.
Report
No reviews yetBe the first to leave a review for Ripl
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 fully featured charting library which can be rendered on the web in Canvas or SVG, or in the Terminal. 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 website for more information or try it out today in the interactive playground.
* 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.
@christinaaguilera 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.