diff -r 066481b8b3a5 -r 21ff357e773c src/scene.c --- a/src/scene.c Mon Apr 06 20:27:11 2026 +0200 +++ b/src/scene.c Mon Apr 06 21:04:10 2026 +0200 @@ -43,7 +43,9 @@ void asc_scene_init(AscScene *scene, const char *name, AscCamera *camera) { assert(scene->root == NULL); scene->camera = camera; + scene->nodes_dict = asc_scene_node_dict_create(); scene->root = asc_scene_node_empty(); + scene->root->dict = scene->nodes_dict; for (unsigned i = 0 ; i < ASC_RENDER_GROUP_COUNT ; i++) { scene->internal.render_groups[i] = cxArrayListCreate(NULL, CX_STORE_POINTERS, 32); } @@ -61,6 +63,7 @@ cxListFree(scene->internal.render_groups[i]); scene->internal.render_groups[i] = NULL; } + asc_scene_node_dict_free(scene->nodes_dict); asc_scene_node_free(scene->root); scene->root = NULL; asc_dprintf("Destroyed scene %"CX_PRIstr, CX_SFMT(scene->name));