Possibly an ECS powered SceneTree for Godot

So it’d still require implementing a full blown “regular” ecs in Godot, completely replacing the existing scene tree system?

For ECS, Flecs is worth a look. Powers quite a few games and is natively available in C and C++, with bindings for C#, Lua, Rust and others.

Alternatively, there’s also GECS, directly integrated with Godot and GDScript.

2 Likes

Yep but the objective was to get back that full node system while using an ecs

GECS may be worth a look. For flecs I already discussed with his creator way before coming here.

You could also form a linked list style hash table containing references to all nodes in the scene, built at the start. The hash number is constructed by just Exlusive Or-ing each bit flag with the hash, then elements with the same hash are just adjacent in the list.

e.g a= 000, a |= 001, a|=010…a is now 011,

[a]→[a1]→[a2]…→[an] →[b]→… etc b is 111 for example

This offers linear time retrieval and fast logarithmic time insertion and deletion if an element is added or removed.

Then you could have a skip list node, with its number, e.g. 011, that references the start and end of the list span containing 011 nodes, for even fast retrieval, you just run a loop from the skip list node start to end to perform operations on all nodes with certain traits.