Alternatives
Products that do what canvas_ity - A tiny, single-header canvas-like 2D rasterizer for C++ does
Hi HN! After a few years of off-and-on work on it, I'm pleased to release my canvas_ity library as open source. TLDR: This is a single-header C++ library with no dependencies beyond the standard C++ library. In about 2300 lines of 78-column code (not counting blanks or comments), or 1300 semicolons, it implements an API based on the basic W3C specification to draw 2D vector graphics into an image buffer: - Strokes and fills (with antialiasing and gamma-correct blending) - Linear and radial gradients - Patterns (with repeat modes and bi-cubic resampling) - Line caps and line joins (handling…
- 1GA
For the past three years I've been building what I hope will be the next Blender, tackling the lack of any good 2D design or image editing tools outside the Adobe monopoly. This was our first year participating in Google Summer of Code and this Q3 update includes the big payoff from that, covering the most progress we've made so far as a project. If you're a Rust dev, consider getting involved as we apply for the next GSoC in the new year— you could be our intern next summer :) Q3 progress report: https://graphite.rs/blog/graphite-progress-report-q3-2024/
2024 · graphite.rs
- 2CW
Creator here. I built ChartGPU because I kept hitting the same wall: charting libraries that claim to be "fast" but choke past 100K data points. The core insight: Canvas2D is fundamentally CPU-bound. Even WebGL chart libraries still do most computation on the CPU. So I moved everything to the GPU via WebGPU: - LTTB downsampling runs as a compute shader - Hit-testing for tooltips/hover is GPU-accelerated - Rendering uses instanced draws (one draw call per series) The result: 1M points at 60fps with smooth zoom/pan. Live demo:…
Jan 2026 · github.com
- 3

- 4HA
I have been working on Hyvector for the last five years and finally decided to present the result of my work. Hyvector is an SVG editor that runs in all modern browsers. It is stable, very fast, and capable of handling complex SVG images. Big new features like art strokes, vector tracing, colorizing are in the making, but for now the focus is on pushing a polished first release out of the door. I would love to hear any feedback on what you like, missing features, or any bugs you encounter via our issue tracker: https://github.com/hyvectorapp/hyvector-issues Note that…
2025 · hyvector.com
- 5

- 6SC
2020 · github.com
- 7MI
A lightweight single-header pattern-matching library for C++17 with macro-free APIs. Try it at https://godbolt.org/z/8YMr8Kz8j
2022 · github.com
- 8RA
Hey HN! We're Ben and Izak, founders of Repaint (YC S23). Repaint is like Figma, but for creating real websites. It has panning, zooming, and dragging elements around. The settings closely follow html/css. We think an open canvas is a big improvement over other website builders. Everything is easier: styling, consistency, responsiveness… But making it work was hard! We thought HN would appreciate the tech behind it: - A custom WebGL rendering engine (w/text, shadows, blurs, gradients, & opacity groups) - A partial implementation of the css spec - A custom text editor & text shaper…
2024 · repaint.com
- 9AJ
Here's a project I've been working on for a little while now. Ripl is a JS library that provides a unified API for rendering shapes on both canvas and SVG interchangeably. Over the years I've used D3 extensively to create data visualisations so I figured I'd have a go at making my own version with a slightly more modern API and stricter TypeScript support. I am aware there are already libraries that can draw to multiple contexts interchangeably, but I've added a few little niceties to Ripl that (as far as I know) some other libraries don't have such as CSS-like query selectors, DOM-like…
2024 · github.com
- 10XA
Jul 2026 · github.com
- 11IW
Jun 2026 · github.com
- 12

- 13RT
I ported Microsoft's TRELLIS.2 (4B parameter image-to-3D model) to run on Apple Silicon via PyTorch MPS. The original requires CUDA with flash_attn, nvdiffrast, and custom sparse convolution kernels: none of which work on Mac. I replaced the CUDA-specific ops with pure-PyTorch alternatives: a gather-scatter sparse 3D convolution, SDPA attention for sparse transformers, and a Python-based mesh extraction replacing CUDA hashmap operations. Total changes are a few hundred lines across 9 files. Generates ~400K vertex meshes from single photos in about 3.5 minutes on M4 Pro (24GB). Not as fast as…
Apr 2026 · github.com
- 14IM
2025 · seve.blog
- 15TF
2023 · github.com
- 16

- 17MP
I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…
2023 · zamfofex.neocities.org
- 18IM
you can make your own chart or diagram easily than using d3
2024 · flitter.pages.dev
- 19VA
Been making this rasterizer engine in C++ for the past few months, now also adding ray-tracing functionality to the system. Simply load a model or generate a mesh, add some lights, and render.
2025 · github.com
- 20

- 21SA
Apr 2026 · github.com
- 22GI
2013 · gojs.net
- 23IM
2020 · github.com
- 24AC
Jan 2026 · github.com
Ranked by how close each launch is in meaning, then by votes. Refine with a description →