Add scene serializer components#19
Closed
altxxr0 wants to merge 31 commits into
Closed
Conversation
…ce depth reading method - Removed the DrawLines method and associated debug shader resources from OpenGLRenderer.h and OpenGLRenderer.cpp. - Introduced SampleSceneDepth method to sample depth from the G-Buffer using normalized viewport coordinates. - Updated the Init method to resolve glReadPixels for depth sampling. - Cleaned up the EndFrame method by removing debug draw pass logic. - Deleted obsolete scripts for brace checking. - Added new PPM icons for camera, directional light, and point light in the Assets/icons directory.
There was a problem hiding this comment.
Pull request overview
This pull request adds extensive scene serialization components and infrastructure to support deterministic scene save/load workflows, expanded UI capabilities, and improved asset management. The changes focus on building production-ready editor and runtime tooling for the Genesis Game Engine.
Changes:
- Removed obsolete log files, build scripts, and test outputs to clean repository state
- Added comprehensive scene serialization test suite with smoke, roundtrip, and UI component coverage
- Implemented asset database with dependency tracking, import settings, and reimport ordering
- Expanded scene components (navigation, prefabs, stable IDs, audio/particle state tracking)
- Enhanced UI system with anchors, alignment, text wrapping, borders, and improved rendering
- Added profiling, job system, frame allocator, render graph, and pathfinding infrastructure
- Extended texture and material systems with import settings, normal map support, and filtering options
- Improved renderer management with unified shutdown and expanded Vulkan scene API ingestion
Reviewed changes
Copilot reviewed 113 out of 132 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test_output_editor_fix.txt | Removed obsolete build error log |
| run_log_*.txt, game_log.txt, game_err.txt | Removed stale runtime log files |
| Scripts/check_braces*.py | Removed temporary debugging scripts |
| build.ps1 | Added install/package workflow with configurable output directory |
| Tests/test_vulkan_stub_clearcolor.cpp | Added deterministic Vulkan clear color validation tests |
| Tests/test_vulkan_scene_api_smoke.cpp | Added Vulkan scene API smoke test |
| Tests/test_scene_smoke.cpp | Added scene roundtrip, serialization, and UI tests |
| Tests/test_scene_save_load.cpp | Removed (replaced by test_scene_smoke.cpp) |
| Tests/test_renderer_switch.cpp | Updated to use unified renderer shutdown |
| Tests/test_render_postprocess_shadow_compile.cpp | Added shader compilation tests |
| Tests/test_render_graph.cpp | Added render graph dependency validation |
| Tests/test_render_benchmark.cpp | Added optional renderer performance benchmark |
| Tests/test_profiler.cpp | Added profiler feature tests |
| Tests/test_pathfinding.cpp | Added A* pathfinding tests |
| Tests/test_navigation_*.cpp | Added navigation grid and agent tests |
| Tests/test_material_graph.cpp | Added material graph serialization test |
| Tests/test_job_system.cpp | Added job system execution tests |
| Tests/test_frame_allocator.cpp | Added frame allocator tests |
| Tests/test_audio*.cpp | Enhanced audio tests with extended parameters and cleanup |
| Tests/test_asset_database_*.cpp | Added comprehensive asset database test suite |
| Tests/test_animation.cpp | Updated to use AnimationSystem API |
| Tests/test_2d_sprite_gl_readback.cpp | Updated to use unified renderer shutdown |
| Tests/CMakeLists.txt | Added new test files and WasmE2ESmoke dependency |
| GameProjects/SampleGame/main.cpp | Updated to use unified renderer shutdown |
| Engine/Core/src/WasmRuntime.cpp | Added active call wait before shutdown |
| Engine/Core/src/UISystem.cpp | Expanded with anchors, alignment, wrapping, borders, and improved rendering |
| Engine/Core/src/TextureRegistry.cpp | Added GetAllTextures method |
| Engine/Core/src/Texture.cpp | Added import settings, normal map support, and texture reloading |
| Engine/Core/src/SoftwareRenderer.cpp | Updated CreateTexture signature |
| Engine/Core/src/Shader.cpp | Added dependency tracking for hot reload |
| Engine/Core/src/ScriptRegistry.cpp | New script registration system |
| Engine/Core/src/RendererManager.cpp | Added unified ShutdownRenderer method |
| Engine/Core/src/RenderGraph.cpp | New render graph dependency resolver |
| Engine/Core/src/Profiler.cpp | Enhanced with scopes, job stats, and frame history |
| Engine/Core/src/Pathfinding.cpp | New A* pathfinding implementation |
| Engine/Core/src/NullAudio.cpp | Added extended PlayOneShot signature |
| Engine/Core/src/NavigationSystem.cpp | New navigation grid and agent system |
| Engine/Core/src/Model.cpp | Added import settings support |
| Engine/Core/src/MiniaudioAudio.cpp | Added spatial audio and master volume |
| Engine/Core/src/MaterialGraph.cpp | New material graph serialization |
| Engine/Core/src/JobSystem.cpp | New multi-threaded job system |
| Engine/Core/src/GraphicsFactory.cpp | Enhanced Vulkan present-capability checks |
| Engine/Core/src/FrameAllocator.cpp | New linear frame allocator |
| Engine/Core/src/Engine.cpp | Added engine reinitialization and cleanup logic |
| Engine/Core/src/DebugRenderer.cpp | Added navigation grid debug visualization |
| Engine/Core/src/AnimationSystem.cpp | Refactored with editor preview support |
| Engine/Core/include/Engine/*.h | Added/updated headers for all new systems |
| Assets/shaders/*.frag | Enhanced post-process with vignette, LUT, and improved shadow PCF |
| Assets/models/triangle.obj.meta | Added asset metadata example |
| Assets/icons/*.ppm | Added editor icons for lights and camera |
| Docs/*.md | Added vertical slice definition and updated status reports |
…renderer.py, and imgui.ini; add imgui.ini to .gitignore Co-authored-by: altxxr0 <153700938+altxxr0@users.noreply.github.com>
…umps Remove dumps folder, identifiable migration scripts, and uncommitted editor artifacts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.