Skip to content

Doxygenify#1223

Open
GeneralProtectionFault wants to merge 2 commits intoRedot-Engine:masterfrom
GeneralProtectionFault:doxygenify
Open

Doxygenify#1223
GeneralProtectionFault wants to merge 2 commits intoRedot-Engine:masterfrom
GeneralProtectionFault:doxygenify

Conversation

@GeneralProtectionFault
Copy link

Code

  • Existing comments for functions have been updated to doxygen format for all .cpp & .h files except these folders:
    doc, misc, platform, tests, thirdparty
  • Where comments were in the .cpp file and were not private/exclusive to the .cpp file, they were moved to the function definition in the .h file.
  • Grouping (@name, etc...) was added to sections of code (mostly in .h files) that appeared clearly marked off.

Doxygen

  • The /doc folder actually had an existing Doxyfile. It appears as though it was intended but not updated.

  • The Doxyfile has been updated to the format generated by the latest version of doxygen. This includes minor things like brining over referencing the path to the logo.

  • Previously, only 3 folders were included. Approach has been changed to exclude, currently these folders are excluded:
    EXCLUDE = ../thirdparty ../tests ../misc ../doc ../platform ../modules/mono/glue/GodotSharp

  • EXTRACT_ALL has been left as false, but every of the aforementioned .h & .cpp files have been "tagged" under the license with the following (obviously just an example filename):
    `/**

  • @file geometry_2d.h
  • [Add any documentation that applies to the entire file here!]
    */`
    The @file flags it for pickup in the documentation.
  • An output directory has been added in /doc for the output of the documentation.
  • This has been added to the .gitignore.
  • It's worth noting, that when running doxygen, the file is configured to create the actual class diagrams. Due to the sheer size of the project, some classes would not display this at the default DOT_GRAPH_MAX_NODES value of 50. This has been upped to 150 (Nodes outlined in red indicate where this is still exceeded, and must be "drilled into").
  • In order for the diagrams to work, which could be argued as the most helpful piece, graphviz must be installed on the system from which the docs are generated. The HAVE_DOT parameter is set to YES, which will look for graphviz.

@coderabbitai
Copy link

coderabbitai bot commented Mar 12, 2026

Important

Review skipped

Too many files!

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

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 34f5a6a3-9a91-4d1c-a5eb-609095ccda43

📥 Commits

Reviewing files that changed from the base of the PR and between 7ff8093 and c7d05a9.

📒 Files selected for processing (300)
  • .gitignore
  • core/config/engine.cpp
  • core/config/engine.h
  • core/config/project_settings.cpp
  • core/config/project_settings.h
  • core/core_bind.cpp
  • core/core_bind.h
  • core/core_constants.cpp
  • core/core_constants.h
  • core/core_globals.h
  • core/core_string_names.h
  • core/crypto/aes_context.cpp
  • core/crypto/aes_context.h
  • core/crypto/crypto.cpp
  • core/crypto/crypto.h
  • core/crypto/crypto_core.cpp
  • core/crypto/crypto_core.h
  • core/crypto/hashing_context.cpp
  • core/crypto/hashing_context.h
  • core/debugger/debugger_marshalls.cpp
  • core/debugger/debugger_marshalls.h
  • core/debugger/engine_debugger.cpp
  • core/debugger/engine_debugger.h
  • core/debugger/engine_profiler.cpp
  • core/debugger/engine_profiler.h
  • core/debugger/local_debugger.cpp
  • core/debugger/local_debugger.h
  • core/debugger/remote_debugger.cpp
  • core/debugger/remote_debugger.h
  • core/debugger/remote_debugger_peer.cpp
  • core/debugger/remote_debugger_peer.h
  • core/debugger/script_debugger.cpp
  • core/debugger/script_debugger.h
  • core/doc_data.cpp
  • core/doc_data.h
  • core/error/error_list.cpp
  • core/error/error_list.h
  • core/error/error_macros.cpp
  • core/error/error_macros.h
  • core/extension/extension_api_dump.cpp
  • core/extension/extension_api_dump.h
  • core/extension/gdextension.cpp
  • core/extension/gdextension.h
  • core/extension/gdextension_interface.cpp
  • core/extension/gdextension_interface.h
  • core/extension/gdextension_library_loader.cpp
  • core/extension/gdextension_library_loader.h
  • core/extension/gdextension_loader.h
  • core/extension/gdextension_manager.cpp
  • core/extension/gdextension_manager.h
  • core/extension/gdextension_special_compat_hashes.cpp
  • core/extension/gdextension_special_compat_hashes.h
  • core/input/default_controller_mappings.h
  • core/input/input.cpp
  • core/input/input.h
  • core/input/input_enums.h
  • core/input/input_event.cpp
  • core/input/input_event.h
  • core/input/input_event_codec.cpp
  • core/input/input_event_codec.h
  • core/input/input_map.cpp
  • core/input/input_map.h
  • core/input/shortcut.cpp
  • core/input/shortcut.h
  • core/io/compression.cpp
  • core/io/compression.h
  • core/io/config_file.cpp
  • core/io/config_file.h
  • core/io/dir_access.cpp
  • core/io/dir_access.h
  • core/io/dtls_server.cpp
  • core/io/dtls_server.h
  • core/io/file_access.cpp
  • core/io/file_access.h
  • core/io/file_access_compressed.cpp
  • core/io/file_access_compressed.h
  • core/io/file_access_encrypted.cpp
  • core/io/file_access_encrypted.h
  • core/io/file_access_memory.cpp
  • core/io/file_access_memory.h
  • core/io/file_access_pack.cpp
  • core/io/file_access_pack.h
  • core/io/file_access_zip.cpp
  • core/io/file_access_zip.h
  • core/io/http_client.cpp
  • core/io/http_client.h
  • core/io/http_client_tcp.cpp
  • core/io/http_client_tcp.h
  • core/io/image.cpp
  • core/io/image.h
  • core/io/image_frames.cpp
  • core/io/image_frames.h
  • core/io/image_frames_loader.cpp
  • core/io/image_frames_loader.h
  • core/io/image_loader.cpp
  • core/io/image_loader.h
  • core/io/ip.cpp
  • core/io/ip.h
  • core/io/ip_address.cpp
  • core/io/ip_address.h
  • core/io/json.cpp
  • core/io/json.h
  • core/io/logger.cpp
  • core/io/logger.h
  • core/io/marshalls.cpp
  • core/io/marshalls.h
  • core/io/missing_resource.cpp
  • core/io/missing_resource.h
  • core/io/net_socket.cpp
  • core/io/net_socket.h
  • core/io/packed_data_container.cpp
  • core/io/packed_data_container.h
  • core/io/packet_peer.cpp
  • core/io/packet_peer.h
  • core/io/packet_peer_dtls.cpp
  • core/io/packet_peer_dtls.h
  • core/io/packet_peer_udp.cpp
  • core/io/packet_peer_udp.h
  • core/io/pck_packer.cpp
  • core/io/pck_packer.h
  • core/io/plist.cpp
  • core/io/plist.h
  • core/io/remote_filesystem_client.cpp
  • core/io/remote_filesystem_client.h
  • core/io/resource.cpp
  • core/io/resource.h
  • core/io/resource_format_binary.cpp
  • core/io/resource_format_binary.h
  • core/io/resource_importer.cpp
  • core/io/resource_importer.h
  • core/io/resource_loader.cpp
  • core/io/resource_loader.h
  • core/io/resource_saver.cpp
  • core/io/resource_saver.h
  • core/io/resource_uid.cpp
  • core/io/resource_uid.h
  • core/io/stream_peer.cpp
  • core/io/stream_peer.h
  • core/io/stream_peer_gzip.cpp
  • core/io/stream_peer_gzip.h
  • core/io/stream_peer_tcp.cpp
  • core/io/stream_peer_tcp.h
  • core/io/stream_peer_tls.cpp
  • core/io/stream_peer_tls.h
  • core/io/tcp_server.cpp
  • core/io/tcp_server.h
  • core/io/translation_loader_po.cpp
  • core/io/translation_loader_po.h
  • core/io/udp_server.cpp
  • core/io/udp_server.h
  • core/io/xml_parser.cpp
  • core/io/xml_parser.h
  • core/io/zip_io.cpp
  • core/io/zip_io.h
  • core/math/a_star.cpp
  • core/math/a_star.h
  • core/math/a_star_grid_2d.cpp
  • core/math/a_star_grid_2d.h
  • core/math/aabb.cpp
  • core/math/aabb.h
  • core/math/audio_frame.h
  • core/math/basis.cpp
  • core/math/basis.h
  • core/math/bvh.h
  • core/math/bvh_abb.h
  • core/math/bvh_tree.h
  • core/math/color.cpp
  • core/math/color.h
  • core/math/convex_hull.cpp
  • core/math/convex_hull.h
  • core/math/delaunay_2d.h
  • core/math/delaunay_3d.h
  • core/math/disjoint_set.h
  • core/math/dynamic_bvh.cpp
  • core/math/dynamic_bvh.h
  • core/math/expression.cpp
  • core/math/expression.h
  • core/math/face3.cpp
  • core/math/face3.h
  • core/math/geometry_2d.cpp
  • core/math/geometry_2d.h
  • core/math/geometry_3d.cpp
  • core/math/geometry_3d.h
  • core/math/math_defs.h
  • core/math/math_fieldwise.cpp
  • core/math/math_fieldwise.h
  • core/math/math_funcs.cpp
  • core/math/math_funcs.h
  • core/math/plane.cpp
  • core/math/plane.h
  • core/math/projection.cpp
  • core/math/projection.h
  • core/math/quaternion.cpp
  • core/math/quaternion.h
  • core/math/quick_hull.cpp
  • core/math/quick_hull.h
  • core/math/random_number_generator.cpp
  • core/math/random_number_generator.h
  • core/math/random_pcg.cpp
  • core/math/random_pcg.h
  • core/math/rect2.cpp
  • core/math/rect2.h
  • core/math/rect2i.cpp
  • core/math/rect2i.h
  • core/math/static_raycaster.cpp
  • core/math/static_raycaster.h
  • core/math/transform_2d.cpp
  • core/math/transform_2d.h
  • core/math/transform_3d.cpp
  • core/math/transform_3d.h
  • core/math/transform_interpolator.cpp
  • core/math/transform_interpolator.h
  • core/math/triangle_mesh.cpp
  • core/math/triangle_mesh.h
  • core/math/triangulate.cpp
  • core/math/triangulate.h
  • core/math/vector2.cpp
  • core/math/vector2.h
  • core/math/vector2i.cpp
  • core/math/vector2i.h
  • core/math/vector3.cpp
  • core/math/vector3.h
  • core/math/vector3i.cpp
  • core/math/vector3i.h
  • core/math/vector4.cpp
  • core/math/vector4.h
  • core/math/vector4i.cpp
  • core/math/vector4i.h
  • core/object/callable_method_pointer.cpp
  • core/object/callable_method_pointer.h
  • core/object/class_db.cpp
  • core/object/class_db.h
  • core/object/message_queue.cpp
  • core/object/message_queue.h
  • core/object/method_bind.cpp
  • core/object/method_bind.h
  • core/object/object.cpp
  • core/object/object.h
  • core/object/object_id.h
  • core/object/ref_counted.cpp
  • core/object/ref_counted.h
  • core/object/script_backtrace.cpp
  • core/object/script_backtrace.h
  • core/object/script_instance.cpp
  • core/object/script_instance.h
  • core/object/script_language.cpp
  • core/object/script_language.h
  • core/object/script_language_extension.cpp
  • core/object/script_language_extension.h
  • core/object/undo_redo.cpp
  • core/object/undo_redo.h
  • core/object/worker_thread_pool.cpp
  • core/object/worker_thread_pool.h
  • core/os/condition_variable.h
  • core/os/keyboard.cpp
  • core/os/keyboard.h
  • core/os/main_loop.cpp
  • core/os/main_loop.h
  • core/os/memory.cpp
  • core/os/memory.h
  • core/os/midi_driver.cpp
  • core/os/midi_driver.h
  • core/os/mutex.cpp
  • core/os/mutex.h
  • core/os/os.cpp
  • core/os/os.h
  • core/os/rw_lock.h
  • core/os/safe_binary_mutex.h
  • core/os/semaphore.h
  • core/os/shared_object.h
  • core/os/spin_lock.h
  • core/os/thread.cpp
  • core/os/thread.h
  • core/os/thread_safe.cpp
  • core/os/thread_safe.h
  • core/os/time.cpp
  • core/os/time.h
  • core/os/time_enums.h
  • core/register_core_types.cpp
  • core/register_core_types.h
  • core/string/alt_codes.h
  • core/string/char_utils.h
  • core/string/fuzzy_search.cpp
  • core/string/fuzzy_search.h
  • core/string/locales.h
  • core/string/node_path.cpp
  • core/string/node_path.h
  • core/string/optimized_translation.cpp
  • core/string/optimized_translation.h
  • core/string/print_string.cpp
  • core/string/print_string.h
  • core/string/string_buffer.h
  • core/string/string_builder.cpp
  • core/string/string_builder.h
  • core/string/string_name.cpp
  • core/string/string_name.h
  • core/string/translation.cpp
  • core/string/translation.h
  • core/string/translation_domain.cpp
  • core/string/translation_domain.h

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
  • Post copyable unit tests in a comment
📝 Coding Plan
  • Generate coding plan for human review comments

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.

Tip

CodeRabbit can use Trivy to scan for security misconfigurations and secrets in Infrastructure as Code files.

Add a .trivyignore file to your project to customize which findings Trivy reports.

@JoltedJon
Copy link
Contributor

Good luck @Arctis-Fireblight In the year long review process for this 😭

@AR-DEV-1
Copy link
Contributor

Good luck @Arctis-Fireblight In the year long review process for this 😭

This'll be painful so I'll also help him out 😭

AR-DEV-1

This comment was marked as resolved.

Copy link
Contributor

@AR-DEV-1 AR-DEV-1 left a comment

Choose a reason for hiding this comment

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

LGTM, will check later again.

@Arctis-Fireblight Arctis-Fireblight dismissed their stale review March 14, 2026 20:40

Outdated, requested changes have been made.

@Arctis-Fireblight Arctis-Fireblight self-assigned this Mar 14, 2026
@Arctis-Fireblight
Copy link
Contributor

I have reviewed the first 100 files, so am about 3% of the way done with the code review.
So far so good, but this might take a while to fully review lol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants