logoalt Hacker News

Show HN: Reconstruct any image using primitive shapes, runs in-browser via WASM

25 pointsby taiseiuelast Tuesday at 1:55 PM6 commentsview on HN

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.


Comments

shaknayesterday at 10:59 PM

Autotrace [0] is in a similar space. It's list of output formats mean its fairly entrenched into this incredibly niche space (along with Inkscape).

For a lot of people, tools like this are only part of the journey of what they're doing. So how you hand off the file to keep editing will matter.

[0] https://linux.die.net/man/1/autotrace

freedombenyesterday at 9:50 PM

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?

show 2 replies
ThrowawayTestrtoday at 1:29 AM

Neat!

Loveseattoday at 12:33 AM

Pristine theatrics, man.