I believe Godot and Unity both use variations on scene graphs (though unity just added an ecs as well?)
A scene is a tree composition of primitive nodes and other scenes, which can be "instanced" so scenes act a bit like javascript prototype objects. Primitive Nodes (usually implemented as native code classes) cover all your basics: a thing in a 2d/3d space, a thing that plays animations or sounds, a thing that collides with other things, etc.
A lot of ECS users end up working in some kind of hierarchy model or spatial index alongside the ecs to replicate the hierarchy scene graphs are built on. Transforms to a scene (most properties really) are inherited by the child nodes.
In another move[1] to stay up-to-date with latest version of Zig (v0.12.0), I've also updated all code (and .zig.zon depencency info) in the still-just-a-baby zig.thi.ng repo:
Just updated all https://thi.ng/wasm-api packages, bindgen, build scripts, readmes and examples to be compatible with the brand new Zig v0.12.0 released a couple of days ago... This includes adapting to breaking changes (esp. Zig's build system) and updating the hybrid Zig/WASM/TypeScript project template:
#introduction I am Kevin(he/they)! I am a software developer. Not into social media much. Didn't want to sign up for twitter and people seem nice here. :blobfoxheartcute:
Slowly recovering from burnout after almost 3 years at a startup. Getting back into long neglected hobbies has been great for that.
i am thinking of writing a new blog post on dev.to about my experiences with #ziglang. the ones i got while writing software for Linux (package manager, distribution installation framework, etc). and if you are interested, yes, this software will be mostly usable on any distro other than cuteOS. i am planning to make my own general framework for application development with Zig, which will be available through ABI for C/C++, and maybe others, if the community will help to bind them.
@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.
This week we’re joined by @drewdevault, talking about the Hare programming language 🐇
We discuss Hare (of course), why he’s so passionate about all things open source, the state of the language, fostering a culture that values stability, and oddly enough — what it takes to make a peanut butter and jelly sandwich 🥪
Over the past 24h I've been restructuring the infant zig.thi.ng repo, added some new data structures, updated all sources to be Zig v0.11 compatible and added Zig package manager support. Took me a lot longer than expected, but already sure the changes & learning will help to accelerate my process (and re-use) on that front...
Since I don't want the extra overhead and don't want to setup & maintain separate Git repos for each of these tools, for now the new structure will be more like Zig's own standard library, sharing a common top-level module namespace ("thi.ng").
Even though there only a few things to use yet (check the readme to see what's there), I've also written some notes how to update your own build files to use these libs with the package manager:
This week's Register Spill by @mrnugget is about Zig, something that I've tinkered with quite a bit earlier this year. Personally I'm very interested in Zig as a replacement for C in embedded programming (packed structs! optionals!) but it is generally a really interesting systems language that feels modern, safer, and close to the metal. This post gives some great first impressions of the language.