A 700+ commit complete rewrite of mach/gpu (the WebGPU interface for Zig) has been completed, enabling seamless use of Dawn (Google Chrome's WebGPU implementation) for native Zig applications.
As we've been building Mach engine, we've been using a neat little pattern in Zig that enables writing flag sets more nicely in Zig than in other languages. Here's a brief explainer.
In this series we build Mach Engine's Entity Component System from first principles in the Zig programming language. In part one we looked at how ECS relates to data oriented design, in part two we look at database design and how it relates to ECS as we begin writing our implementation.
If you just got started with Zig, you might quickly want to use a hashmap. Zig provides good defaults, with a lot of customization options.
In this multi-part series we'll build the Entity Component System used in Mach engine in the Zig programming language from first principles (asking what an ECS is and walking through what problems it solves) all the way to writing an implementation in a low-level programming language. The only thing you need to follow along is some programming experience and a desire to learn.