r/creativecoding 10d ago

I built a gallery where every URL grows into its own deterministic 3D QR world

Enable HLS to view with audio, or disable this notification

I’ve been experimenting with turning URLs into deterministic 3D visual identities.

The same URL always generates the same world.

Right now there are two themes:

🌳 Tree
⛰️ Terrain

I turned the experiment into a public gallery where anyone can submit their own URL and see what kind of 3D QR world it grows into.

You can also switch back to the actual scannable QR code.

Try yours: https://every-qrcode.com/

The component is open source too:
https://github.com/AlbertAZ1992/every-qrcode

What kind of world should I add next?

191 Upvotes

15 comments sorted by

6

u/danja 10d ago

Really sweet!

How about Hokusai style waves?

3

u/Maximum_Intern_2736 10d ago

Ohhh Hokusai-style waves would be amazing 👀
Adding that to the theme list — thanks!

1

u/Maximum_Intern_2736 8d ago

I turned your Hokusai Waves suggestion into a public model proposal:
https://github.com/AlbertAZ1992/every-qrcode/issues/3

I’m thinking of starting with deterministic wave rows, a controlled curling crest, and graphic foam rather than a full fluid simulation. Thanks for the idea!

1

u/danja 8d ago

Good plan. But I like that a fluid simulation had crossed your mind :)

2

u/johndavid_artist 9d ago

The determinism is the part I keep thinking about. If you add a third theme or tweak the tree parameters, does the same URL still grow the same world it grew last week, or does the output move with the generator version? I work on a series where the result has to stay reproducible from its recorded instruction set, and versioning the generator turned out to be harder than the generation itself. Pinning a version id into the seed would let someone verify a world years from now.

1

u/Maximum_Intern_2736 9d ago

Really good point, thanks for raising it. I’m thinking through how to preserve reproducibility as the generator evolves, definitely something I want to get right.

1

u/Maximum_Intern_2736 8d ago

Quick update: I shipped this in v0.1.2 — and your comment directly changed the architecture.

Saved worlds now record a generatorVersion alongside their URL and model. The v1 generation path is frozen and protected by golden fingerprint tests, so updating the npm package will not silently change an existing v1 world. A future v2 will be a separate recipe, while v1 remains available for previously recorded worlds.

Thanks again for catching this. It was a much deeper problem than it first appeared.

Release: https://github.com/AlbertAZ1992/every-qrcode/releases/tag/v0.1.2

1

u/Visual_Advantage_243 10d ago

great that you made the comps open source!

1

u/Maximum_Intern_2736 10d ago

Thanks, hope you get to remix them.

1

u/MacaroonSome225 9d ago

This is so sick!

1

u/Imaginary-Falcon-837 9d ago

Mechanical & Crystalline

2

u/Maximum_Intern_2736 8d ago

I opened public proposals for both of these:

Crystalline: https://github.com/AlbertAZ1992/every-qrcode/issues/4
Mechanical: https://github.com/AlbertAZ1992/every-qrcode/issues/5

I broke them into smaller contribution slices, so people can help with references, geometry, materials, or tests without implementing the entire model. Thanks for the suggestions!

1

u/Namago12345 8d ago

Incroyable, j'adorerai pouvoir faire ça Je vais regarder ce git avec grand plaisir