diff -r 3021616e5772 -r f181205da2c9 src/scene_node.c --- a/src/scene_node.c Thu Jul 17 19:50:34 2025 +0200 +++ b/src/scene_node.c Thu Jul 17 20:13:25 2025 +0200 @@ -48,9 +48,7 @@ AscSceneNode *asc_scene_node_empty(void) { AscSceneNode *node = cxZallocDefault(sizeof(AscSceneNode)); - node->render_group = ASC_RENDER_GROUP_NONE; - asc_transform_identity(node->transform); - asc_transform_identity(node->world_transform); + asc_scene_node_init(node, .render_group = ASC_RENDER_GROUP_NONE); return node; } @@ -88,9 +86,11 @@ asc_scene_node_name(node, args.name); } node->render_group = args.render_group; - assert(args.update_func != NULL); - assert(args.draw_func != NULL); - assert(args.destroy_func != NULL); + if (args.render_group != ASC_RENDER_GROUP_NONE) { + assert(args.update_func != NULL); + assert(args.draw_func != NULL); + assert(args.destroy_func != NULL); + } node->update_func = args.update_func; node->destroy_func = args.destroy_func; node->draw_func = args.draw_func;