It's so nice for me to see these 10 computational art pieces & experiments all in one place (and most of them interactive & randomizable), also in the knowledge that apart from using @vite for bundling, everything else is entirely made using https://thi.ng/umbrella packages and tooling (three of the pieces are also partially written in #Ziglang / #WASM). Unlike the video (which at 1080p is ~110MB), on the website these ten realtime evolving animations together are only a ~650KB download (i.e. ~0.55% filesize) and all of them are running fluidly even on my old iPhone 11! Thanks to using IntersectionObserver, only a single piece is active at any one time...
Another side effect from this exercise: All these projects are only a small selection from the past 3 years, but most of them haven't been updated in the last 1-2 years. There were breaking changes (esp. the Zig parts, which I still have to largely address), but most of the supposedly breaking changes in #ThingUmbrella packages were actually super easy to address. I'm only mentioning this, since it's great to sometimes be completely in a "normal" user's shoes and see how painful (or not!) some of these changes are/can be... I'm often losing a lot of time contemplating making wide-ranging (but IMHO better & needed) changes, but always also trying to consider the effects of those on other people... This anti-bitrot exercise absolutely helped me to vindicate this approach!
@toxi@vite before its too late, can you please keep the search? I use it frequently when dealing with thi.ng! It is awesome and i am stunned by the teaser already 😃 great advertising for the library!
#AdventOfCode#day18#part2 was a bit more tricky, for #part1 I was visualizing the map using a simple pgm image, now with the super large numbers on part 2 I used a single SVG polygon.
@linusgroh is the author of one of the coolest projects, I know.
It’s called Kiesel and is a JavaScript-Engine, written in #ziglang.
Reading the code of Kiesel is really cool, because it is annotated with references to the #ECMAScript standard and really good structured.
#HowToThing#010 — Creating a basic web app with declarative UI/DOM creation via Zig/WebAssembly and the super extensible https://thi.ng/wasm-api and its https://thi.ng/wasm-api-dom add-on module, both hybrid TypeScript/Zig libraries. See alt text of images for details.
@toxi Hi, could you tell on what principles would you choose to use Zig/WebAssembly for a web app? When it needs to process a lot of data and do it on a top-notch performance? Like games, CAD apps?
Okay, maybe I'm missing something here, but why is there a difference between a union and a union(enum)? Why isn't every union behaving like a union(enum) from the start? #ziglang
This week, when I wasn't working on the upcoming thi.ng/fibers library (process hierarchies for cooperative multitasking), I've also been doing minor progress on my #Ziglang & #WASM-based (X)PBD (position based dynamics) physics library and the related art piece I've been working on: #DANZA
Very much love & respect @andrewrk's stance of prioritizing quality over quantity and not giving in to pressure to rush things. Zig v0.11 might be slightly delayed, but good things come to those who wait... hopefully, August 3rd! 🤞
As I've been updating the build files for my various #ziglang projects & templates, also learned that quite a few of them have to be overhauled/refactored due to syntax changes and a more strict compiler. One example is this #WASM#voxel#renderer from 1.5 years ago which doesn't build anymore without major code updates, but the old build still works:
Reload for random views. Press x to export current frame. The renderer is incremental (never finishes) and slowly reduces pixel size from 8 down to 1. It would be much faster, but I had some ideas for creating a more stylistic output and in this current state it only renders a fixed area per frame...
The 2-bit 512^3 voxel model was generated with a custom fork of @R4_Unit's voxel automata... 🥰