--- a/src/window.c Sun Nov 16 21:12:20 2025 +0100 +++ b/src/window.c Sun Nov 16 22:00:13 2025 +0100 @@ -67,11 +67,10 @@ if (asc_gl_context_initialize(&window->glctx, window->window, &settings)) { char ui_scene_name[16]; snprintf(ui_scene_name, sizeof(ui_scene_name), "Window %u UI", index); - asc_scene_init(&window->ui, ui_scene_name, - .type = ASC_CAMERA_ORTHO, + asc_camera_init(&window->ui_camera, .type = ASC_CAMERA_ORTHO, .ortho.rect = ASC_RECT(0, 0, window->dimensions.width, window->dimensions.height), - .projection_update_func = asc_camera_ortho_update_size - ); + .projection_update_func = asc_camera_ortho_update_size); + asc_scene_init(&window->ui, ui_scene_name, &window->ui_camera); asc_dprintf("Window %u initialized at index %u", window->id, index); asc_context.active_window = index; } else { @@ -147,10 +146,10 @@ if (window->resized) { for (unsigned int i = 0; i < ASC_MAX_SCENES; i++) { if (asc_scene_active(&window->scenes[i])) { - asc_camera_update_viewport(&window->scenes[i].camera, window->dimensions); + asc_camera_update_viewport(window->scenes[i].camera, window->dimensions); } } - asc_camera_update_viewport(&window->ui.camera, window->dimensions); + asc_camera_update_viewport(window->ui.camera, window->dimensions); } // Execute all behaviors