Ripl – A unified 2D/3D engine for Canvas, SVG, WebGPU, and the Terminal
After several years, with a small hiatus in the middle, I've finally got Ripl to the point of being published. Ripl is a library for rendering 2D and 3D shapes to any context (canvas, SVG, WebGPU, and Terminal supported by default) using a single API. The library mimics the DOM as much as possible, replicating the event system, object graphing, CSS-like querying, gradients, and keyframe animations etc. I also built a complete data visualization library using the core package which is available as @ripl/charts. And yes, you can even render the charts to a terminal with about a 2-3 line code change :) (see the terminal demo) Docs are available here: https://www.ripl.rocks Demos are available here: https://www.ripl.rocks/demos Charts are avialable here: https://www.ripl.rocks/docs/charts I've also built an interactive playground you can use to play around with it in realtime without having to install it from NPM etc. The playground is available here: https://www.ripl.rocks/playground The core library is quite stable and I'll likely publish v1 in the coming weeks. The charts, 3D, and Terminal packages are still very experiemental. I'd interested to hear what you all think of it.
- API Platform
- Application Web
- Génération de Code
✨ Résumé IA
Ripl is a unified library for rendering 2D and 3D graphics across various contexts including Canvas, SVG, WebGPU, and the Terminal. It offers a single API that mimics the DOM, supporting features like event systems, object graphing, CSS-like querying, gradients, and keyframe animations.
Idéal pour
Web developers creating interactive graphics, Developers needing cross-platform rendering solutions, Data visualization engineers
Pourquoi c'est important
Ripl provides a consistent and familiar API for rendering graphics across diverse environments, simplifying development and enabling cross-platform compatibility.
Fonctionnalités clés
- Unified API for 2D and 3D rendering across multiple contexts (Canvas, SVG, WebGPU, Terminal).
- DOM-like API with event system, object graphing, and CSS-like querying.
- Supports gradients and keyframe animations.
- Includes a data visualization library (@ripl/charts) with terminal rendering capabilities.
Cas d'usage
- A front-end developer could use Ripl to create interactive 2D data visualizations that can be rendered both in a web browser using Canvas or SVG, and also in a command-line interface for server-side reporting.
- A game developer might leverage Ripl's unified API to prototype 3D game elements that can be quickly tested in a WebGPU context before being deployed to a more performant engine.
- A UI/UX designer could utilize Ripl's DOM-like structure and CSS-like querying to build complex, animated user interfaces that are consistent across different rendering targets, including experimental terminal-based interfaces.