--- a/src/ascension/scene.h Tue Jul 22 20:57:13 2025 +0200 +++ b/src/ascension/scene.h Tue Jul 22 21:38:02 2025 +0200 @@ -32,10 +32,12 @@ #include "camera.h" #include <cx/list.h> +#include <cx/string.h> typedef struct asc_scene_s { AscCamera camera; AscSceneNode *root; + cxmutstr name; struct { CxList *render_groups[ASC_RENDER_GROUP_COUNT]; } internal; @@ -45,17 +47,19 @@ * Initializes a scene graph. * * @param scene the scene graph + * @param name optional name for the scene * @param camera_params initial camera parameters */ -void asc_scene_init_(AscScene *scene, struct asc_camera_init_args camera_params); +void asc_scene_init_(AscScene *scene, const char *name, struct asc_camera_init_args camera_params); /** * Initializes a scene graph. * * @param scene the scene graph + * @param name optional name for the scene * @param ... initial camera parameters */ -#define asc_scene_init(scene, ...) asc_scene_init_(scene, (struct asc_camera_init_args){__VA_ARGS__}) +#define asc_scene_init(scene, name, ...) asc_scene_init_(scene, name, (struct asc_camera_init_args){__VA_ARGS__}) /** * Destroys a scene graph.