[HN Gopher] Show HN: Reconstruct any image using primitive shape...
___________________________________________________________________
Show HN: Reconstruct any image using primitive shapes, runs in-
browser via WASM
I built a browser-based port of fogleman/primitive -- a Go CLI tool
that approximates images using primitive shapes (triangles,
ellipses, beziers, etc.) via a hill-climbing algorithm. The
original tool requires building from source and running from the
terminal, which isn't exactly accessible. I compiled the core logic
to WebAssembly so anyone can drop an image and watch it get
reconstructed shape by shape, entirely client-side with no server
involved. Demo: https://primitive-playground.taiseiue.jp/ Source:
https://github.com/taiseiue/primitive-playground Curious if anyone
has ideas for shapes or features worth adding.
Author : taiseiue
Score : 16 points
Date : 2026-03-03 13:55 UTC (3 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| freedomben wrote:
| Some feedback that's hopefully helpful, would be great to add to
| the readme:
|
| What would you say the primary purpose of this tool is? (not that
| a project needs a purpose beyond "because it was fun" or "just to
| learn" or even "because I could", but wondering). I have many
| times wished for a png to svg converter for various reasons
| (size, hackability, animate-ability) but I struggle to understand
| why you'd want to go from png to png with this (like in the demo
| image). I could very well be missing something though. The readme
| doesn't mention svg at all, though the linked inspiration project
| does so I assume that's a possible use case?
| jmcodes wrote:
| Not the guy who made it but I immediately wondered if I could
| use the intermediate steps with some "outline" mode to help me
| see things in shapes and finally learn to draw a bit.
| JacobJack wrote:
| This page is a little older, but it offers the same kind of
| service and allows you to save in svg format :
| https://www.samcodes.co.uk/project/geometrize-haxe-web/
___________________________________________________________________
(page generated 2026-03-06 23:00 UTC)