Commit Graph

165 Commits

Author SHA1 Message Date
899e4763f2 feat: Temporarily disable service initialization in ServiceBasedApp and add GetCurrentCommandBuffer and GetGraphicsQueue methods in GraphicsService 2026-01-04 13:54:02 +00:00
1276381117 feat: Add logging for ApplicationController run start 2026-01-04 13:52:06 +00:00
ed37da9049 feat: Update GraphicsService to initialize Vulkan device with extensions and validation layers 2026-01-04 13:51:22 +00:00
0a3edc3edb feat: Refactor VulkanDeviceService initialization and add CreateSurface method 2026-01-04 13:49:48 +00:00
086719280c feat: Temporarily disable graphics initialization and rendering for testing purposes 2026-01-04 13:48:55 +00:00
92e28f4567 feat: Implement timeout mechanism in ApplicationController for headless testing 2026-01-04 13:48:42 +00:00
2869b552a2 feat: Disable error dialog in headless environments for SdlWindowService 2026-01-04 13:48:07 +00:00
dc0c9bfebe feat: Enhance ServiceBasedApp constructor with detailed logging for initialization steps 2026-01-04 13:47:57 +00:00
59e3b9509e feat: Introduce service-based architecture with Scene and Graphics services for improved rendering and scene management 2026-01-04 13:47:33 +00:00
5421f7945d feat: Add application, lifecycle, and render controllers for service orchestration 2026-01-04 13:38:11 +00:00
a720e4a446 feat: Add services for audio, physics, and GUI rendering integration 2026-01-04 13:35:31 +00:00
dcba88a76b feat: Implement RenderCommandService for Vulkan rendering orchestration 2026-01-04 13:21:40 +00:00
7b9e6aa851 feat: Add BufferService for Vulkan buffer management 2026-01-04 13:19:53 +00:00
217ce80234 feat: Add swapchain and pipeline services for Vulkan rendering 2026-01-04 13:17:54 +00:00
9651b8ec18 feat: Implement Vulkan device service for managing Vulkan resources 2026-01-04 13:03:27 +00:00
9544c181e7 feat: Add render command service interface for Vulkan rendering orchestration 2026-01-04 12:47:58 +00:00
1d59b4930f feat: Add buffer and pipeline service interfaces for Vulkan resource management 2026-01-04 12:47:51 +00:00
40222eb400 feat: Add Vulkan device service interface for managing Vulkan resources 2026-01-04 12:47:07 +00:00
e489a0f5ba feat: Add SDL3-based input and window service implementations 2026-01-04 12:46:33 +00:00
af01d6daaf feat: Add JSON-based configuration service implementation 2026-01-04 12:40:36 +00:00
a84aa34681 feat: Add service interfaces for audio, configuration, graphics, GUI, input, physics, scene, script, shader, and window management 2026-01-04 02:36:14 +00:00
c95bcca25f feat: Implement event bus and service registry for decoupled communication and lifecycle management 2026-01-04 02:31:28 +00:00
b6c697196a feat: Enforce "no macros" policy with CI checks, compiler warnings, and documentation 2026-01-04 02:12:48 +00:00
e86f277b19 feat: Include string_utils.hpp in audio_player, platform, main, and lua_helpers for enhanced logging capabilities 2026-01-04 02:00:41 +00:00
13457f3430 feat: Add string_utils.cpp to script_engine_tests for improved logging capabilities 2026-01-04 01:59:41 +00:00
12dcd60f04 feat: Add string_utils.cpp to sdl3_app executable for enhanced logging functionality 2026-01-04 01:59:34 +00:00
4edf0a2bbf feat: Enhance logging with detailed function tracing and argument conversion utilities 2026-01-04 01:58:08 +00:00
99a4f756fd feat: Clarify code portability guidelines by emphasizing similarity to Java 2026-01-04 01:55:07 +00:00
25d69bdb1e feat: Add guidelines for reducing C++ specific features to enhance code portability 2026-01-04 01:53:04 +00:00
d8d1c0a557 feat: Enhance logging system with platform-specific error handling and trace functionality
- Added platform detection and user configuration directory retrieval in platform.cpp and platform.hpp.
- Implemented detailed error reporting for Windows in platform.cpp.
- Updated logger to use std::source_location for improved trace logging in logger.hpp.
- Refactored existing trace guards in various application files to remove function name parameters, utilizing the new logger functionality.
- Introduced a new script (add_traces.sh) to automate the addition of logging includes in relevant source files.
- Enhanced audio_player.cpp and other script files to include detailed logging for function entries and variable states.
2026-01-04 01:38:31 +00:00
198179bfca Refactor logging and tracing in SDL3 application
- Replaced macro-based logging with a dedicated Logger class for improved readability and maintainability.
- Introduced TraceGuard class for automatic function entry/exit logging.
- Updated all relevant source files to utilize the new logging and tracing mechanisms.
- Consolidated SDL_MAIN_HANDLED definition into a separate header file (sdl_macros.hpp) for better organization.
- Ensured consistent logging practices across the application, including error handling and debug information.
2026-01-04 01:14:05 +00:00
b5af532c19 feat: Add TraceFunctionWithArgs for enhanced function entry logging with arguments 2026-01-04 00:41:59 +00:00
80609fcf22 feat: Replace trace logging with new logging system and remove trace.hpp 2026-01-04 00:39:49 +00:00
deea1cc19e feat: Enable Vulkan validation layers and improve GPU diagnostics logging 2026-01-04 00:34:04 +00:00
5be0fd8dae feat: Add logger source file to script engine tests for improved logging capabilities 2026-01-04 00:14:56 +00:00
6d542f1046 feat: Integrate logging system for improved error handling and debugging in application components 2026-01-04 00:13:04 +00:00
33ca375034 feat: Implement logging system and integrate into application 2026-01-04 00:10:20 +00:00
e9b944680c feat: Enhance ScriptEngine with Shader and Scene Management
- Added ShaderManager to handle shader paths loading from Lua.
- Integrated SceneManager for managing scene objects within ScriptEngine.
- Updated ScriptEngine to utilize ShaderManager and SceneManager.
- Refactored audio command handling to use AudioManager.
- Improved error handling and Lua integration for shader and scene loading.
- Cleaned up code structure and dependencies in script_engine.hpp.
2026-01-04 00:05:05 +00:00
9719c46a39 Add Lua bindings and mesh loading functionality for enhanced scripting support 2026-01-03 23:52:34 +00:00
5a4dd23df2 Implement PhysicsBridge and ScriptEngine for enhanced physics and scripting capabilities
- Added PhysicsBridge class to manage physics interactions using Bullet Physics.
- Introduced ScriptEngine class to handle Lua scripting, including loading scene objects and managing audio commands.
- Updated test_cube_script to utilize ScriptEngine instead of CubeScript, ensuring compatibility with new architecture.
- Implemented methods for loading meshes, creating physics objects, and handling audio playback within the ScriptEngine.
- Enhanced error handling and input management for Lua scripts.
2026-01-03 23:44:01 +00:00
0ee1f5bc0e Add GPU diagnostics reporting for error handling in rendering 2026-01-03 23:33:11 +00:00
e27528b110 Implement timeout handling for first frame rendering and enhance swapchain recreation diagnostics 2026-01-03 23:22:43 +00:00
0a8b300e14 Add timeout and signal handling for window dimension retrieval in RecreateSwapChain 2026-01-03 23:10:09 +00:00
265302fec3 Implement signal handling to gracefully stop the application 2026-01-03 22:59:38 +00:00
3a4fc2ea8b Enhance validation and error handling across the application
- Implement early Vulkan validation to check availability and version.
- Add comprehensive GPU detection and selection feedback.
- Validate swap chain support and window dimensions before creation.
- Introduce buffer size validation and memory checks during buffer creation.
- Improve error messages with actionable troubleshooting steps.
- Create scripts for rebuilding and testing the application with validation improvements.
2026-01-03 22:56:37 +00:00
b39eec6885 Copy config directory to the binary directory if it exists 2026-01-03 22:48:35 +00:00
070992935c Implement comprehensive error handling and feedback for SDL and Vulkan initialization 2026-01-03 22:43:02 +00:00
3021780e7c Remove CMakePresets.json file to streamline project configuration 2026-01-03 22:29:04 +00:00
301f8f8344 Update CMake and conanfile to use RapidJSON with correct casing and adjust toolchain paths 2026-01-03 22:25:52 +00:00
192eb12474 Add CMake presets and update conanfile for SDL3Cpp integration 2026-01-03 22:15:51 +00:00