Skip to content

Restructure project layout#35

Merged
OldDev78 merged 7 commits into
Redot-Engine:masterfrom
OldDev78:restructure
Jun 16, 2026
Merged

Restructure project layout#35
OldDev78 merged 7 commits into
Redot-Engine:masterfrom
OldDev78:restructure

Conversation

@OldDev78

@OldDev78 OldDev78 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Restructure only the root directory structure for now.

Also includes:
Doctest header that pre-defines the entry point code, and with extra macros.
Fix Shaders.cmake (was using a hard-coded target name).
Clean up includes and imports across core.
Clean up Vector types code, including fixing the non-const consteval select cases.
Make Transform functions member functions, add overloads that use Vector3.

@coderabbitai

coderabbitai Bot commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 151 files, which is 1 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6e5a68d3-b773-4f47-a4f3-5b156c1727a2

📥 Commits

Reviewing files that changed from the base of the PR and between 28e62ca and 5386b55.

⛔ Files ignored due to path filters (6)
  • Docs/assets/draconic_logo_no_text.png is excluded by !**/*.png
  • Docs/assets/draconic_logo_no_text.svg is excluded by !**/*.svg
  • Docs/assets/draconic_logo_text.png is excluded by !**/*.png
  • Engine/cpp/thirdparty/cmake/bgfx/generated/bounds.cpp.in is excluded by !**/generated/**
  • Engine/cpp/thirdparty/cmake/bgfx/generated/shader.cpp.in is excluded by !**/generated/**
  • Engine/cpp/thirdparty/cmake/bgfx/generated/vertexlayout.cpp.in is excluded by !**/generated/**
📒 Files selected for processing (151)
  • .gitmodules
  • CMakeLists.txt
  • Docs/cxxmodules.md
  • Docs/index.md
  • Editor/Editor.cs
  • Engine/cpp/CMakeLists.txt
  • Engine/cpp/DraconicAPI.h
  • Engine/cpp/runtime/CMakeLists.txt
  • Engine/cpp/runtime/core/CMakeLists.txt
  • Engine/cpp/runtime/core/core.cppm
  • Engine/cpp/runtime/core/definitions/definitions.cppm
  • Engine/cpp/runtime/core/definitions/stdtypes.cppm
  • Engine/cpp/runtime/core/definitions/version.cppm
  • Engine/cpp/runtime/core/io/filesystem.cpp
  • Engine/cpp/runtime/core/io/filesystem.cppm
  • Engine/cpp/runtime/core/io/image_loader.cpp
  • Engine/cpp/runtime/core/io/image_loader.cppm
  • Engine/cpp/runtime/core/io/io.cppm
  • Engine/cpp/runtime/core/math/constants.cppm
  • Engine/cpp/runtime/core/math/functions.cppm
  • Engine/cpp/runtime/core/math/math.cppm
  • Engine/cpp/runtime/core/math/math.test.cpp
  • Engine/cpp/runtime/core/math/transform.cpp
  • Engine/cpp/runtime/core/math/transform.cppm
  • Engine/cpp/runtime/core/math/types.cppm
  • Engine/cpp/runtime/core/math/types_common.cppm
  • Engine/cpp/runtime/core/math/vector2.cppm
  • Engine/cpp/runtime/core/math/vector3.cppm
  • Engine/cpp/runtime/core/math/vector4.cppm
  • Engine/cpp/runtime/core/memory/allocator.cpp
  • Engine/cpp/runtime/core/memory/allocator.cppm
  • Engine/cpp/runtime/core/memory/bumpAllocator.cpp
  • Engine/cpp/runtime/core/memory/bumpAllocator.cppm
  • Engine/cpp/runtime/core/memory/bumpAllocator.test.cpp
  • Engine/cpp/runtime/core/memory/fixedAllocator.cpp
  • Engine/cpp/runtime/core/memory/fixedAllocator.cppm
  • Engine/cpp/runtime/core/memory/fixedAllocator.test.cpp
  • Engine/cpp/runtime/core/memory/handle.cppm
  • Engine/cpp/runtime/core/memory/handle_registry.cppm
  • Engine/cpp/runtime/core/memory/pageAllocator.cpp
  • Engine/cpp/runtime/core/memory/pageAllocator.cppm
  • Engine/cpp/runtime/core/memory/root.cppm
  • Engine/cpp/runtime/core/memory/slice.cppm
  • Engine/cpp/runtime/core/memory/slot_array.cppm
  • Engine/cpp/runtime/core/memory/trackingAllocator.cpp
  • Engine/cpp/runtime/core/memory/trackingAllocator.cppm
  • Engine/cpp/runtime/core/memory/trackingAllocator.test.cpp
  • Engine/cpp/runtime/draconic.cppm
  • Engine/cpp/runtime/input/input.cpp
  • Engine/cpp/runtime/input/input.cppm
  • Engine/cpp/runtime/platform/CMakeLists.txt
  • Engine/cpp/runtime/platform/cpu/cpu_info.h
  • Engine/cpp/runtime/platform/cpu/cpu_info_neon.cpp
  • Engine/cpp/runtime/platform/cpu/cpu_info_x64.cpp
  • Engine/cpp/runtime/platform/impl/CMakeLists.txt
  • Engine/cpp/runtime/platform/impl/linux/linux.cpp
  • Engine/cpp/runtime/platform/impl/mac/mac.mm
  • Engine/cpp/runtime/platform/impl/platform_impl.h
  • Engine/cpp/runtime/platform/impl/win32/win32.cpp
  • Engine/cpp/runtime/platform/platform.cppm
  • Engine/cpp/runtime/platform/simd.h
  • Engine/cpp/runtime/rendering/CMakeLists.txt
  • Engine/cpp/runtime/rendering/material/material.cppm
  • Engine/cpp/runtime/rendering/mesh/mesh.cpp
  • Engine/cpp/runtime/rendering/mesh/mesh.cppm
  • Engine/cpp/runtime/rendering/quad_renderer/quad_renderer.cpp
  • Engine/cpp/runtime/rendering/quad_renderer/quad_renderer.cppm
  • Engine/cpp/runtime/rendering/renderer/renderer.cpp
  • Engine/cpp/runtime/rendering/renderer/renderer.cppm
  • Engine/cpp/runtime/rendering/rendergraph/rendergraph.cpp
  • Engine/cpp/runtime/rendering/rendergraph/rendergraph.cppm
  • Engine/cpp/runtime/rendering/rendering.cppm
  • Engine/cpp/runtime/rendering/rhi/buffers.cpp
  • Engine/cpp/runtime/rendering/rhi/commands.cpp
  • Engine/cpp/runtime/rendering/rhi/core.cpp
  • Engine/cpp/runtime/rendering/rhi/macros.h
  • Engine/cpp/runtime/rendering/rhi/pipelines.cpp
  • Engine/cpp/runtime/rendering/rhi/rhi.cppm
  • Engine/cpp/runtime/rendering/rhi/texture.cpp
  • Engine/cpp/runtime/rendering/rhi/uniform_registry.cppm
  • Engine/cpp/runtime/rendering/rhi/vertex.cppm
  • Engine/cpp/runtime/rendering/shaders/fs.sc
  • Engine/cpp/runtime/rendering/shaders/fs_quad.sc
  • Engine/cpp/runtime/rendering/shaders/varying.def.sc
  • Engine/cpp/runtime/rendering/shaders/varying_quad.def.sc
  • Engine/cpp/runtime/rendering/shaders/vs.sc
  • Engine/cpp/runtime/rendering/shaders/vs_quad.sc
  • Engine/cpp/runtime/scene/CMakeLists.txt
  • Engine/cpp/runtime/scene/camera/camera_controller.cpp
  • Engine/cpp/runtime/scene/camera/camera_controller.cppm
  • Engine/cpp/runtime/scene/renderable/renderable.cppm
  • Engine/cpp/runtime/scene/scene.cppm
  • Engine/cpp/runtime/scene/transform_component/transform_component.cpp
  • Engine/cpp/runtime/scene/transform_component/transform_component.cppm
  • Engine/cpp/thirdparty/CMakeLists.txt
  • Engine/cpp/thirdparty/bgfx
  • Engine/cpp/thirdparty/bimg
  • Engine/cpp/thirdparty/bx
  • Engine/cpp/thirdparty/cmake/Config.cmake.in
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/dear-imgui.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/fcpp.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/glsl-optimizer.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/glslang.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/meshoptimizer.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/spirv-cross.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/spirv-opt.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/tint.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/3rdparty/webgpu.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/CMakeLists.txt
  • Engine/cpp/thirdparty/cmake/bgfx/bgfx.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/examples.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/geometryc.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/geometryv.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/shaderc.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/shared.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/texturev.cmake
  • Engine/cpp/thirdparty/cmake/bgfx/util/ConfigureDebugging.cmake
  • Engine/cpp/thirdparty/cmake/bgfxToolUtils.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/astc_encoder.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/edtaa3.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/etc1.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/etc2.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/iqa.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/libsquish.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/loadpng.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/miniz.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/nvtt.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/pvrtc.cmake
  • Engine/cpp/thirdparty/cmake/bimg/3rdparty/tinyexr.cmake
  • Engine/cpp/thirdparty/cmake/bimg/CMakeLists.txt
  • Engine/cpp/thirdparty/cmake/bimg/bimg.cmake
  • Engine/cpp/thirdparty/cmake/bimg/bimg_decode.cmake
  • Engine/cpp/thirdparty/cmake/bimg/bimg_encode.cmake
  • Engine/cpp/thirdparty/cmake/bimg/texturec.cmake
  • Engine/cpp/thirdparty/cmake/bx/CMakeLists.txt
  • Engine/cpp/thirdparty/cmake/bx/bin2c.cmake
  • Engine/cpp/thirdparty/cmake/bx/bx.cmake
  • Engine/cpp/thirdparty/cmake/version.cmake
  • Engine/cpp/thirdparty/doctest/doctest.h
  • Engine/cpp/thirdparty/doctest/doctest_with_main.h
  • Engine/cpp/thirdparty/sdl
  • Engine/cpp/thirdparty/stb/CMakeLists.txt
  • Engine/cpp/thirdparty/stb/stb_image.h
  • README.md
  • Samples/cpp/CMakeLists.txt
  • Samples/cpp/rendering.cpp
  • cmake/Modules.cmake
  • cmake/Shaders.cmake
  • engine/CMakeLists.txt
  • engine/native/core/math/transform.cpp
  • engine/native/core/math/transform.cppm

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mcdubhghlas mcdubhghlas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks fantastic.

@Arctis-Fireblight Arctis-Fireblight left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think from a structure standpoint it looks like a vast improvement.
There is still much to do in regards to renaming, but I think this is a good start for us to start building off of.
Approved!

@OldDev78 OldDev78 merged commit 4b1ebc5 into Redot-Engine:master Jun 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants