Copy disabled (too large)
Download .txt
Showing preview only (113,882K chars total). Download the full file to get everything.
Repository: godotengine/godot
Branch: master
Commit: 4a919adccf8e
Files: 12951
Total size: 289.0 MB
Directory structure:
gitextract_i1_cbks8/
├── .clang-format
├── .clang-tidy
├── .clangd
├── .editorconfig
├── .git-blame-ignore-revs
├── .gitattributes
├── .github/
│ ├── CODEOWNERS
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.yml
│ │ └── config.yml
│ ├── PULL_REQUEST_TEMPLATE.md
│ ├── actions/
│ │ ├── clangd-tidy/
│ │ │ └── action.yml
│ │ ├── download-artifact/
│ │ │ └── action.yml
│ │ ├── godot-build/
│ │ │ └── action.yml
│ │ ├── godot-cache-restore/
│ │ │ └── action.yml
│ │ ├── godot-cache-save/
│ │ │ └── action.yml
│ │ ├── godot-compat-test/
│ │ │ └── action.yml
│ │ ├── godot-converter-test/
│ │ │ └── action.yml
│ │ ├── godot-cpp-build/
│ │ │ └── action.yml
│ │ ├── godot-deps/
│ │ │ └── action.yml
│ │ ├── godot-project-export/
│ │ │ └── action.yml
│ │ ├── godot-project-test/
│ │ │ └── action.yml
│ │ └── upload-artifact/
│ │ └── action.yml
│ ├── changed_files.yml
│ └── workflows/
│ ├── android_builds.yml
│ ├── ios_builds.yml
│ ├── linux_builds.yml
│ ├── macos_builds.yml
│ ├── runner.yml
│ ├── static_checks.yml
│ ├── web_builds.yml
│ └── windows_builds.yml
├── .gitignore
├── .mailmap
├── .pre-commit-config.yaml
├── AUTHORS.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── COPYRIGHT.txt
├── DONORS.md
├── LICENSE.txt
├── LOGO_LICENSE.txt
├── README.md
├── SConstruct
├── core/
│ ├── SCsub
│ ├── config/
│ │ ├── SCsub
│ │ ├── engine.cpp
│ │ ├── engine.h
│ │ ├── project_settings.cpp
│ │ └── project_settings.h
│ ├── core_bind.compat.inc
│ ├── core_bind.cpp
│ ├── core_bind.h
│ ├── core_builders.py
│ ├── core_constants.cpp
│ ├── core_constants.h
│ ├── core_globals.h
│ ├── core_string_names.h
│ ├── crypto/
│ │ ├── SCsub
│ │ ├── aes_context.cpp
│ │ ├── aes_context.h
│ │ ├── crypto.cpp
│ │ ├── crypto.h
│ │ ├── crypto_core.cpp
│ │ ├── crypto_core.h
│ │ ├── crypto_resource_format.cpp
│ │ ├── crypto_resource_format.h
│ │ ├── hashing_context.cpp
│ │ └── hashing_context.h
│ ├── debugger/
│ │ ├── SCsub
│ │ ├── debugger_marshalls.cpp
│ │ ├── debugger_marshalls.h
│ │ ├── engine_debugger.cpp
│ │ ├── engine_debugger.h
│ │ ├── engine_profiler.cpp
│ │ ├── engine_profiler.h
│ │ ├── local_debugger.cpp
│ │ ├── local_debugger.h
│ │ ├── remote_debugger.cpp
│ │ ├── remote_debugger.h
│ │ ├── remote_debugger_peer.cpp
│ │ ├── remote_debugger_peer.h
│ │ ├── script_debugger.cpp
│ │ └── script_debugger.h
│ ├── doc_data.cpp
│ ├── doc_data.h
│ ├── error/
│ │ ├── SCsub
│ │ ├── error_list.cpp
│ │ ├── error_list.h
│ │ ├── error_macros.cpp
│ │ └── error_macros.h
│ ├── extension/
│ │ ├── SCsub
│ │ ├── extension_api_dump.cpp
│ │ ├── extension_api_dump.h
│ │ ├── gdextension.compat.inc
│ │ ├── gdextension.cpp
│ │ ├── gdextension.h
│ │ ├── gdextension_function_loader.cpp
│ │ ├── gdextension_function_loader.h
│ │ ├── gdextension_interface.cpp
│ │ ├── gdextension_interface.json
│ │ ├── gdextension_interface.schema.json
│ │ ├── gdextension_interface_header_generator.cpp
│ │ ├── gdextension_interface_header_generator.h
│ │ ├── gdextension_library_loader.cpp
│ │ ├── gdextension_library_loader.h
│ │ ├── gdextension_loader.h
│ │ ├── gdextension_manager.cpp
│ │ ├── gdextension_manager.h
│ │ ├── gdextension_resource_format.cpp
│ │ ├── gdextension_resource_format.h
│ │ ├── gdextension_special_compat_hashes.cpp
│ │ ├── gdextension_special_compat_hashes.h
│ │ ├── godot_instance.cpp
│ │ ├── godot_instance.h
│ │ ├── libgodot.h
│ │ ├── make_interface_dumper.py
│ │ ├── make_interface_header.py
│ │ └── make_wrappers.py
│ ├── input/
│ │ ├── SCsub
│ │ ├── default_controller_mappings.h
│ │ ├── gamecontrollerdb.txt
│ │ ├── godotcontrollerdb.txt
│ │ ├── input.compat.inc
│ │ ├── input.cpp
│ │ ├── input.h
│ │ ├── input_builders.py
│ │ ├── input_enums.h
│ │ ├── input_event.cpp
│ │ ├── input_event.h
│ │ ├── input_event_codec.cpp
│ │ ├── input_event_codec.h
│ │ ├── input_map.compat.inc
│ │ ├── input_map.cpp
│ │ ├── input_map.h
│ │ ├── shortcut.cpp
│ │ └── shortcut.h
│ ├── io/
│ │ ├── SCsub
│ │ ├── compression.cpp
│ │ ├── compression.h
│ │ ├── config_file.cpp
│ │ ├── config_file.h
│ │ ├── delta_encoding.cpp
│ │ ├── delta_encoding.h
│ │ ├── dir_access.cpp
│ │ ├── dir_access.h
│ │ ├── dtls_server.cpp
│ │ ├── dtls_server.h
│ │ ├── file_access.compat.inc
│ │ ├── file_access.cpp
│ │ ├── file_access.h
│ │ ├── file_access_compressed.cpp
│ │ ├── file_access_compressed.h
│ │ ├── file_access_encrypted.cpp
│ │ ├── file_access_encrypted.h
│ │ ├── file_access_memory.cpp
│ │ ├── file_access_memory.h
│ │ ├── file_access_pack.cpp
│ │ ├── file_access_pack.h
│ │ ├── file_access_patched.cpp
│ │ ├── file_access_patched.h
│ │ ├── file_access_zip.cpp
│ │ ├── file_access_zip.h
│ │ ├── http_client.cpp
│ │ ├── http_client.h
│ │ ├── http_client_tcp.cpp
│ │ ├── http_client_tcp.h
│ │ ├── image.cpp
│ │ ├── image.h
│ │ ├── image_loader.cpp
│ │ ├── image_loader.h
│ │ ├── image_resource_format.cpp
│ │ ├── image_resource_format.h
│ │ ├── ip.cpp
│ │ ├── ip.h
│ │ ├── ip_address.cpp
│ │ ├── ip_address.h
│ │ ├── json.cpp
│ │ ├── json.h
│ │ ├── json_resource_format.cpp
│ │ ├── json_resource_format.h
│ │ ├── logger.cpp
│ │ ├── logger.h
│ │ ├── marshalls.cpp
│ │ ├── marshalls.h
│ │ ├── missing_resource.cpp
│ │ ├── missing_resource.h
│ │ ├── net_socket.cpp
│ │ ├── net_socket.h
│ │ ├── packed_data_container.cpp
│ │ ├── packed_data_container.h
│ │ ├── packet_peer.cpp
│ │ ├── packet_peer.h
│ │ ├── packet_peer_dtls.cpp
│ │ ├── packet_peer_dtls.h
│ │ ├── packet_peer_udp.cpp
│ │ ├── packet_peer_udp.h
│ │ ├── pck_packer.cpp
│ │ ├── pck_packer.h
│ │ ├── plist.cpp
│ │ ├── plist.h
│ │ ├── remote_filesystem_client.cpp
│ │ ├── remote_filesystem_client.h
│ │ ├── resource.cpp
│ │ ├── resource.h
│ │ ├── resource_format_binary.cpp
│ │ ├── resource_format_binary.h
│ │ ├── resource_importer.cpp
│ │ ├── resource_importer.h
│ │ ├── resource_loader.cpp
│ │ ├── resource_loader.h
│ │ ├── resource_loader_constants.h
│ │ ├── resource_saver.cpp
│ │ ├── resource_saver.h
│ │ ├── resource_uid.cpp
│ │ ├── resource_uid.h
│ │ ├── socket_server.cpp
│ │ ├── socket_server.h
│ │ ├── stream_peer.cpp
│ │ ├── stream_peer.h
│ │ ├── stream_peer_gzip.cpp
│ │ ├── stream_peer_gzip.h
│ │ ├── stream_peer_socket.compat.inc
│ │ ├── stream_peer_socket.cpp
│ │ ├── stream_peer_socket.h
│ │ ├── stream_peer_tcp.cpp
│ │ ├── stream_peer_tcp.h
│ │ ├── stream_peer_tls.cpp
│ │ ├── stream_peer_tls.h
│ │ ├── stream_peer_uds.cpp
│ │ ├── stream_peer_uds.h
│ │ ├── tcp_server.cpp
│ │ ├── tcp_server.h
│ │ ├── translation_loader_po.cpp
│ │ ├── translation_loader_po.h
│ │ ├── udp_server.cpp
│ │ ├── udp_server.h
│ │ ├── uds_server.cpp
│ │ ├── uds_server.h
│ │ ├── xml_parser.cpp
│ │ ├── xml_parser.h
│ │ ├── zip_io.cpp
│ │ └── zip_io.h
│ ├── math/
│ │ ├── SCsub
│ │ ├── a_star.compat.inc
│ │ ├── a_star.cpp
│ │ ├── a_star.h
│ │ ├── a_star_grid_2d.compat.inc
│ │ ├── a_star_grid_2d.cpp
│ │ ├── a_star_grid_2d.h
│ │ ├── aabb.cpp
│ │ ├── aabb.h
│ │ ├── audio_frame.h
│ │ ├── basis.cpp
│ │ ├── basis.h
│ │ ├── bvh.h
│ │ ├── bvh_abb.h
│ │ ├── bvh_cull.inc
│ │ ├── bvh_debug.inc
│ │ ├── bvh_integrity.inc
│ │ ├── bvh_logic.inc
│ │ ├── bvh_misc.inc
│ │ ├── bvh_pair.inc
│ │ ├── bvh_public.inc
│ │ ├── bvh_refit.inc
│ │ ├── bvh_split.inc
│ │ ├── bvh_structs.inc
│ │ ├── bvh_tree.h
│ │ ├── color.cpp
│ │ ├── color.h
│ │ ├── color_names.inc
│ │ ├── convex_hull.cpp
│ │ ├── convex_hull.h
│ │ ├── delaunay_2d.h
│ │ ├── delaunay_3d.h
│ │ ├── disjoint_set.h
│ │ ├── dynamic_bvh.cpp
│ │ ├── dynamic_bvh.h
│ │ ├── expression.cpp
│ │ ├── expression.h
│ │ ├── face3.cpp
│ │ ├── face3.h
│ │ ├── geometry_2d.cpp
│ │ ├── geometry_2d.h
│ │ ├── geometry_3d.cpp
│ │ ├── geometry_3d.h
│ │ ├── math_defs.h
│ │ ├── math_fieldwise.cpp
│ │ ├── math_fieldwise.h
│ │ ├── math_funcs.cpp
│ │ ├── math_funcs.h
│ │ ├── math_funcs_binary.h
│ │ ├── plane.cpp
│ │ ├── plane.h
│ │ ├── projection.cpp
│ │ ├── projection.h
│ │ ├── quaternion.cpp
│ │ ├── quaternion.h
│ │ ├── quick_hull.cpp
│ │ ├── quick_hull.h
│ │ ├── random_number_generator.cpp
│ │ ├── random_number_generator.h
│ │ ├── random_pcg.cpp
│ │ ├── random_pcg.h
│ │ ├── rect2.cpp
│ │ ├── rect2.h
│ │ ├── rect2i.cpp
│ │ ├── rect2i.h
│ │ ├── static_raycaster.cpp
│ │ ├── static_raycaster.h
│ │ ├── transform_2d.cpp
│ │ ├── transform_2d.h
│ │ ├── transform_3d.cpp
│ │ ├── transform_3d.h
│ │ ├── transform_interpolator.cpp
│ │ ├── transform_interpolator.h
│ │ ├── triangle_mesh.cpp
│ │ ├── triangle_mesh.h
│ │ ├── triangulate.cpp
│ │ ├── triangulate.h
│ │ ├── vector2.cpp
│ │ ├── vector2.h
│ │ ├── vector2i.cpp
│ │ ├── vector2i.h
│ │ ├── vector3.cpp
│ │ ├── vector3.h
│ │ ├── vector3i.cpp
│ │ ├── vector3i.h
│ │ ├── vector4.cpp
│ │ ├── vector4.h
│ │ ├── vector4i.cpp
│ │ └── vector4i.h
│ ├── object/
│ │ ├── SCsub
│ │ ├── callable_mp.cpp
│ │ ├── callable_mp.h
│ │ ├── class_db.cpp
│ │ ├── class_db.h
│ │ ├── gdtype.cpp
│ │ ├── gdtype.h
│ │ ├── make_virtuals.py
│ │ ├── message_queue.cpp
│ │ ├── message_queue.h
│ │ ├── method_bind.cpp
│ │ ├── method_bind.h
│ │ ├── method_bind_common.h
│ │ ├── method_info.cpp
│ │ ├── method_info.h
│ │ ├── object.cpp
│ │ ├── object.h
│ │ ├── object_id.h
│ │ ├── property_info.cpp
│ │ ├── property_info.h
│ │ ├── ref_counted.cpp
│ │ ├── ref_counted.h
│ │ ├── script_backtrace.cpp
│ │ ├── script_backtrace.h
│ │ ├── script_instance.cpp
│ │ ├── script_instance.h
│ │ ├── script_language.cpp
│ │ ├── script_language.h
│ │ ├── script_language_extension.cpp
│ │ ├── script_language_extension.h
│ │ ├── undo_redo.cpp
│ │ ├── undo_redo.h
│ │ ├── worker_thread_pool.cpp
│ │ └── worker_thread_pool.h
│ ├── os/
│ │ ├── SCsub
│ │ ├── condition_variable.h
│ │ ├── keyboard.cpp
│ │ ├── keyboard.h
│ │ ├── main_loop.cpp
│ │ ├── main_loop.h
│ │ ├── memory.cpp
│ │ ├── memory.h
│ │ ├── midi_driver.cpp
│ │ ├── midi_driver.h
│ │ ├── mutex.cpp
│ │ ├── mutex.h
│ │ ├── os.cpp
│ │ ├── os.h
│ │ ├── process_id.h
│ │ ├── rw_lock.h
│ │ ├── safe_binary_mutex.h
│ │ ├── semaphore.h
│ │ ├── shared_object.h
│ │ ├── spin_lock.h
│ │ ├── thread.cpp
│ │ ├── thread.h
│ │ ├── thread_safe.cpp
│ │ ├── thread_safe.h
│ │ ├── time.cpp
│ │ ├── time.h
│ │ └── time_enums.h
│ ├── profiling/
│ │ ├── SCsub
│ │ ├── profiling.cpp
│ │ ├── profiling.h
│ │ └── profiling_builders.py
│ ├── register_core_types.cpp
│ ├── register_core_types.h
│ ├── string/
│ │ ├── SCsub
│ │ ├── alt_codes.h
│ │ ├── char_range.cpp
│ │ ├── char_utils.h
│ │ ├── fuzzy_search.cpp
│ │ ├── fuzzy_search.h
│ │ ├── locales.h
│ │ ├── node_path.cpp
│ │ ├── node_path.h
│ │ ├── optimized_translation.cpp
│ │ ├── optimized_translation.h
│ │ ├── plural_rules.cpp
│ │ ├── plural_rules.h
│ │ ├── print_string.cpp
│ │ ├── print_string.h
│ │ ├── string_buffer.h
│ │ ├── string_builder.cpp
│ │ ├── string_builder.h
│ │ ├── string_name.cpp
│ │ ├── string_name.h
│ │ ├── translation.cpp
│ │ ├── translation.h
│ │ ├── translation_domain.cpp
│ │ ├── translation_domain.h
│ │ ├── translation_server.compat.inc
│ │ ├── translation_server.cpp
│ │ ├── translation_server.h
│ │ ├── ucaps.h
│ │ ├── ustring.cpp
│ │ └── ustring.h
│ ├── templates/
│ │ ├── SCsub
│ │ ├── a_hash_map.cpp
│ │ ├── a_hash_map.h
│ │ ├── bin_sorted_array.h
│ │ ├── bit_field.h
│ │ ├── command_queue_mt.h
│ │ ├── cowdata.h
│ │ ├── fixed_vector.h
│ │ ├── hash_map.h
│ │ ├── hash_set.h
│ │ ├── hashfuncs.cpp
│ │ ├── hashfuncs.h
│ │ ├── interpolated_property.cpp
│ │ ├── interpolated_property.h
│ │ ├── iterable.h
│ │ ├── list.h
│ │ ├── local_vector.h
│ │ ├── lru.h
│ │ ├── paged_allocator.h
│ │ ├── paged_array.h
│ │ ├── pair.h
│ │ ├── pass_func.h
│ │ ├── pooled_list.h
│ │ ├── rb_map.h
│ │ ├── rb_set.h
│ │ ├── rid.h
│ │ ├── rid_owner.h
│ │ ├── ring_buffer.h
│ │ ├── safe_list.h
│ │ ├── safe_refcount.h
│ │ ├── self_list.h
│ │ ├── simple_type.h
│ │ ├── sort_array.h
│ │ ├── sort_list.h
│ │ ├── span.h
│ │ ├── tuple.h
│ │ ├── vector.h
│ │ └── vset.h
│ ├── typedefs.h
│ ├── variant/
│ │ ├── SCsub
│ │ ├── array.cpp
│ │ ├── array.h
│ │ ├── binder_common.h
│ │ ├── callable.cpp
│ │ ├── callable.h
│ │ ├── callable_bind.cpp
│ │ ├── callable_bind.h
│ │ ├── container_type_validate.h
│ │ ├── dictionary.cpp
│ │ ├── dictionary.h
│ │ ├── method_ptrcall.h
│ │ ├── native_ptr.h
│ │ ├── type_info.h
│ │ ├── typed_array.h
│ │ ├── typed_dictionary.h
│ │ ├── variant.cpp
│ │ ├── variant.h
│ │ ├── variant_call.cpp
│ │ ├── variant_callable.cpp
│ │ ├── variant_callable.h
│ │ ├── variant_caster.h
│ │ ├── variant_construct.cpp
│ │ ├── variant_construct.h
│ │ ├── variant_deep_duplicate.h
│ │ ├── variant_destruct.cpp
│ │ ├── variant_destruct.h
│ │ ├── variant_internal.h
│ │ ├── variant_op.cpp
│ │ ├── variant_op.h
│ │ ├── variant_parser.cpp
│ │ ├── variant_parser.h
│ │ ├── variant_pools.cpp
│ │ ├── variant_pools.h
│ │ ├── variant_setget.cpp
│ │ ├── variant_setget.h
│ │ ├── variant_utility.cpp
│ │ └── variant_utility.h
│ └── version.h
├── doc/
│ ├── Doxyfile
│ ├── Makefile
│ ├── class.xsd
│ ├── classes/
│ │ ├── @GlobalScope.xml
│ │ ├── AABB.xml
│ │ ├── AESContext.xml
│ │ ├── AStar2D.xml
│ │ ├── AStar3D.xml
│ │ ├── AStarGrid2D.xml
│ │ ├── AcceptDialog.xml
│ │ ├── AccessibilityServer.xml
│ │ ├── AimModifier3D.xml
│ │ ├── AnimatableBody2D.xml
│ │ ├── AnimatableBody3D.xml
│ │ ├── AnimatedSprite2D.xml
│ │ ├── AnimatedSprite3D.xml
│ │ ├── AnimatedTexture.xml
│ │ ├── Animation.xml
│ │ ├── AnimationLibrary.xml
│ │ ├── AnimationMixer.xml
│ │ ├── AnimationNode.xml
│ │ ├── AnimationNodeAdd2.xml
│ │ ├── AnimationNodeAdd3.xml
│ │ ├── AnimationNodeAnimation.xml
│ │ ├── AnimationNodeBlend2.xml
│ │ ├── AnimationNodeBlend3.xml
│ │ ├── AnimationNodeBlendSpace1D.xml
│ │ ├── AnimationNodeBlendSpace2D.xml
│ │ ├── AnimationNodeBlendTree.xml
│ │ ├── AnimationNodeExtension.xml
│ │ ├── AnimationNodeOneShot.xml
│ │ ├── AnimationNodeOutput.xml
│ │ ├── AnimationNodeStateMachine.xml
│ │ ├── AnimationNodeStateMachinePlayback.xml
│ │ ├── AnimationNodeStateMachineTransition.xml
│ │ ├── AnimationNodeSub2.xml
│ │ ├── AnimationNodeSync.xml
│ │ ├── AnimationNodeTimeScale.xml
│ │ ├── AnimationNodeTimeSeek.xml
│ │ ├── AnimationNodeTransition.xml
│ │ ├── AnimationPlayer.xml
│ │ ├── AnimationRootNode.xml
│ │ ├── AnimationTree.xml
│ │ ├── Area2D.xml
│ │ ├── Area3D.xml
│ │ ├── Array.xml
│ │ ├── ArrayMesh.xml
│ │ ├── ArrayOccluder3D.xml
│ │ ├── AspectRatioContainer.xml
│ │ ├── AtlasTexture.xml
│ │ ├── AudioBusLayout.xml
│ │ ├── AudioEffect.xml
│ │ ├── AudioEffectAmplify.xml
│ │ ├── AudioEffectBandLimitFilter.xml
│ │ ├── AudioEffectBandPassFilter.xml
│ │ ├── AudioEffectCapture.xml
│ │ ├── AudioEffectChorus.xml
│ │ ├── AudioEffectCompressor.xml
│ │ ├── AudioEffectDelay.xml
│ │ ├── AudioEffectDistortion.xml
│ │ ├── AudioEffectEQ.xml
│ │ ├── AudioEffectEQ10.xml
│ │ ├── AudioEffectEQ21.xml
│ │ ├── AudioEffectEQ6.xml
│ │ ├── AudioEffectFilter.xml
│ │ ├── AudioEffectHardLimiter.xml
│ │ ├── AudioEffectHighPassFilter.xml
│ │ ├── AudioEffectHighShelfFilter.xml
│ │ ├── AudioEffectInstance.xml
│ │ ├── AudioEffectLimiter.xml
│ │ ├── AudioEffectLowPassFilter.xml
│ │ ├── AudioEffectLowShelfFilter.xml
│ │ ├── AudioEffectNotchFilter.xml
│ │ ├── AudioEffectPanner.xml
│ │ ├── AudioEffectPhaser.xml
│ │ ├── AudioEffectPitchShift.xml
│ │ ├── AudioEffectRecord.xml
│ │ ├── AudioEffectReverb.xml
│ │ ├── AudioEffectSpectrumAnalyzer.xml
│ │ ├── AudioEffectSpectrumAnalyzerInstance.xml
│ │ ├── AudioEffectStereoEnhance.xml
│ │ ├── AudioListener2D.xml
│ │ ├── AudioListener3D.xml
│ │ ├── AudioSample.xml
│ │ ├── AudioSamplePlayback.xml
│ │ ├── AudioServer.xml
│ │ ├── AudioStream.xml
│ │ ├── AudioStreamGenerator.xml
│ │ ├── AudioStreamGeneratorPlayback.xml
│ │ ├── AudioStreamMicrophone.xml
│ │ ├── AudioStreamPlayback.xml
│ │ ├── AudioStreamPlaybackPolyphonic.xml
│ │ ├── AudioStreamPlaybackResampled.xml
│ │ ├── AudioStreamPlayer.xml
│ │ ├── AudioStreamPlayer2D.xml
│ │ ├── AudioStreamPlayer3D.xml
│ │ ├── AudioStreamPolyphonic.xml
│ │ ├── AudioStreamRandomizer.xml
│ │ ├── AudioStreamWAV.xml
│ │ ├── AwaitTweener.xml
│ │ ├── BackBufferCopy.xml
│ │ ├── BaseButton.xml
│ │ ├── BaseMaterial3D.xml
│ │ ├── Basis.xml
│ │ ├── BitMap.xml
│ │ ├── BlitMaterial.xml
│ │ ├── Bone2D.xml
│ │ ├── BoneAttachment3D.xml
│ │ ├── BoneConstraint3D.xml
│ │ ├── BoneMap.xml
│ │ ├── BoneTwistDisperser3D.xml
│ │ ├── BoxContainer.xml
│ │ ├── BoxMesh.xml
│ │ ├── BoxOccluder3D.xml
│ │ ├── BoxShape3D.xml
│ │ ├── Button.xml
│ │ ├── ButtonGroup.xml
│ │ ├── CCDIK3D.xml
│ │ ├── CPUParticles2D.xml
│ │ ├── CPUParticles3D.xml
│ │ ├── Callable.xml
│ │ ├── CallbackTweener.xml
│ │ ├── Camera2D.xml
│ │ ├── Camera3D.xml
│ │ ├── CameraAttributes.xml
│ │ ├── CameraAttributesPhysical.xml
│ │ ├── CameraAttributesPractical.xml
│ │ ├── CameraFeed.xml
│ │ ├── CameraServer.xml
│ │ ├── CameraTexture.xml
│ │ ├── CanvasGroup.xml
│ │ ├── CanvasItem.xml
│ │ ├── CanvasItemMaterial.xml
│ │ ├── CanvasLayer.xml
│ │ ├── CanvasModulate.xml
│ │ ├── CanvasTexture.xml
│ │ ├── CapsuleMesh.xml
│ │ ├── CapsuleShape2D.xml
│ │ ├── CapsuleShape3D.xml
│ │ ├── CenterContainer.xml
│ │ ├── ChainIK3D.xml
│ │ ├── CharFXTransform.xml
│ │ ├── CharacterBody2D.xml
│ │ ├── CharacterBody3D.xml
│ │ ├── CheckBox.xml
│ │ ├── CheckButton.xml
│ │ ├── CircleShape2D.xml
│ │ ├── ClassDB.xml
│ │ ├── CodeEdit.xml
│ │ ├── CodeHighlighter.xml
│ │ ├── CollisionObject2D.xml
│ │ ├── CollisionObject3D.xml
│ │ ├── CollisionPolygon2D.xml
│ │ ├── CollisionPolygon3D.xml
│ │ ├── CollisionShape2D.xml
│ │ ├── CollisionShape3D.xml
│ │ ├── Color.xml
│ │ ├── ColorPalette.xml
│ │ ├── ColorPicker.xml
│ │ ├── ColorPickerButton.xml
│ │ ├── ColorRect.xml
│ │ ├── Compositor.xml
│ │ ├── CompositorEffect.xml
│ │ ├── CompressedCubemap.xml
│ │ ├── CompressedCubemapArray.xml
│ │ ├── CompressedTexture2D.xml
│ │ ├── CompressedTexture2DArray.xml
│ │ ├── CompressedTexture3D.xml
│ │ ├── CompressedTextureLayered.xml
│ │ ├── ConcavePolygonShape2D.xml
│ │ ├── ConcavePolygonShape3D.xml
│ │ ├── ConeTwistJoint3D.xml
│ │ ├── ConfigFile.xml
│ │ ├── ConfirmationDialog.xml
│ │ ├── Container.xml
│ │ ├── Control.xml
│ │ ├── ConvertTransformModifier3D.xml
│ │ ├── ConvexPolygonShape2D.xml
│ │ ├── ConvexPolygonShape3D.xml
│ │ ├── CopyTransformModifier3D.xml
│ │ ├── Crypto.xml
│ │ ├── CryptoKey.xml
│ │ ├── Cubemap.xml
│ │ ├── CubemapArray.xml
│ │ ├── Curve.xml
│ │ ├── Curve2D.xml
│ │ ├── Curve3D.xml
│ │ ├── CurveTexture.xml
│ │ ├── CurveXYZTexture.xml
│ │ ├── CylinderMesh.xml
│ │ ├── CylinderShape3D.xml
│ │ ├── DPITexture.xml
│ │ ├── DTLSServer.xml
│ │ ├── DampedSpringJoint2D.xml
│ │ ├── Decal.xml
│ │ ├── Dictionary.xml
│ │ ├── DirAccess.xml
│ │ ├── DirectionalLight2D.xml
│ │ ├── DirectionalLight3D.xml
│ │ ├── DisplayServer.xml
│ │ ├── DrawableTexture2D.xml
│ │ ├── EditorCommandPalette.xml
│ │ ├── EditorContextMenuPlugin.xml
│ │ ├── EditorDebuggerPlugin.xml
│ │ ├── EditorDebuggerSession.xml
│ │ ├── EditorDock.xml
│ │ ├── EditorExportPlatform.xml
│ │ ├── EditorExportPlatformAppleEmbedded.xml
│ │ ├── EditorExportPlatformExtension.xml
│ │ ├── EditorExportPlatformPC.xml
│ │ ├── EditorExportPlugin.xml
│ │ ├── EditorExportPreset.xml
│ │ ├── EditorFeatureProfile.xml
│ │ ├── EditorFileDialog.xml
│ │ ├── EditorFileSystem.xml
│ │ ├── EditorFileSystemDirectory.xml
│ │ ├── EditorFileSystemImportFormatSupportQuery.xml
│ │ ├── EditorImportPlugin.xml
│ │ ├── EditorInspector.xml
│ │ ├── EditorInspectorPlugin.xml
│ │ ├── EditorInterface.xml
│ │ ├── EditorNode3DGizmo.xml
│ │ ├── EditorNode3DGizmoPlugin.xml
│ │ ├── EditorPaths.xml
│ │ ├── EditorPlugin.xml
│ │ ├── EditorProperty.xml
│ │ ├── EditorResourceConversionPlugin.xml
│ │ ├── EditorResourcePicker.xml
│ │ ├── EditorResourcePreview.xml
│ │ ├── EditorResourcePreviewGenerator.xml
│ │ ├── EditorResourceTooltipPlugin.xml
│ │ ├── EditorSceneFormatImporter.xml
│ │ ├── EditorScenePostImport.xml
│ │ ├── EditorScenePostImportPlugin.xml
│ │ ├── EditorScript.xml
│ │ ├── EditorScriptPicker.xml
│ │ ├── EditorSelection.xml
│ │ ├── EditorSettings.xml
│ │ ├── EditorSpinSlider.xml
│ │ ├── EditorSyntaxHighlighter.xml
│ │ ├── EditorToaster.xml
│ │ ├── EditorTranslationParserPlugin.xml
│ │ ├── EditorUndoRedoManager.xml
│ │ ├── EditorVCSInterface.xml
│ │ ├── EncodedObjectAsID.xml
│ │ ├── Engine.xml
│ │ ├── EngineDebugger.xml
│ │ ├── EngineProfiler.xml
│ │ ├── Environment.xml
│ │ ├── Expression.xml
│ │ ├── ExternalTexture.xml
│ │ ├── FABRIK3D.xml
│ │ ├── FileAccess.xml
│ │ ├── FileDialog.xml
│ │ ├── FileSystemDock.xml
│ │ ├── FlowContainer.xml
│ │ ├── FogMaterial.xml
│ │ ├── FogVolume.xml
│ │ ├── FoldableContainer.xml
│ │ ├── FoldableGroup.xml
│ │ ├── Font.xml
│ │ ├── FontFile.xml
│ │ ├── FontVariation.xml
│ │ ├── FramebufferCacheRD.xml
│ │ ├── GDExtension.xml
│ │ ├── GDExtensionManager.xml
│ │ ├── GPUParticles2D.xml
│ │ ├── GPUParticles3D.xml
│ │ ├── GPUParticlesAttractor3D.xml
│ │ ├── GPUParticlesAttractorBox3D.xml
│ │ ├── GPUParticlesAttractorSphere3D.xml
│ │ ├── GPUParticlesAttractorVectorField3D.xml
│ │ ├── GPUParticlesCollision3D.xml
│ │ ├── GPUParticlesCollisionBox3D.xml
│ │ ├── GPUParticlesCollisionHeightField3D.xml
│ │ ├── GPUParticlesCollisionSDF3D.xml
│ │ ├── GPUParticlesCollisionSphere3D.xml
│ │ ├── Generic6DOFJoint3D.xml
│ │ ├── Geometry2D.xml
│ │ ├── Geometry3D.xml
│ │ ├── GeometryInstance3D.xml
│ │ ├── GodotInstance.xml
│ │ ├── Gradient.xml
│ │ ├── GradientTexture1D.xml
│ │ ├── GradientTexture2D.xml
│ │ ├── GraphEdit.xml
│ │ ├── GraphElement.xml
│ │ ├── GraphFrame.xml
│ │ ├── GraphNode.xml
│ │ ├── GridContainer.xml
│ │ ├── GrooveJoint2D.xml
│ │ ├── HBoxContainer.xml
│ │ ├── HFlowContainer.xml
│ │ ├── HMACContext.xml
│ │ ├── HScrollBar.xml
│ │ ├── HSeparator.xml
│ │ ├── HSlider.xml
│ │ ├── HSplitContainer.xml
│ │ ├── HTTPClient.xml
│ │ ├── HTTPRequest.xml
│ │ ├── HashingContext.xml
│ │ ├── HeightMapShape3D.xml
│ │ ├── HingeJoint3D.xml
│ │ ├── IKModifier3D.xml
│ │ ├── IP.xml
│ │ ├── Image.xml
│ │ ├── ImageFormatLoader.xml
│ │ ├── ImageFormatLoaderExtension.xml
│ │ ├── ImageTexture.xml
│ │ ├── ImageTexture3D.xml
│ │ ├── ImageTextureLayered.xml
│ │ ├── ImmediateMesh.xml
│ │ ├── ImporterMesh.xml
│ │ ├── ImporterMeshInstance3D.xml
│ │ ├── Input.xml
│ │ ├── InputEvent.xml
│ │ ├── InputEventAction.xml
│ │ ├── InputEventFromWindow.xml
│ │ ├── InputEventGesture.xml
│ │ ├── InputEventJoypadButton.xml
│ │ ├── InputEventJoypadMotion.xml
│ │ ├── InputEventKey.xml
│ │ ├── InputEventMIDI.xml
│ │ ├── InputEventMagnifyGesture.xml
│ │ ├── InputEventMouse.xml
│ │ ├── InputEventMouseButton.xml
│ │ ├── InputEventMouseMotion.xml
│ │ ├── InputEventPanGesture.xml
│ │ ├── InputEventScreenDrag.xml
│ │ ├── InputEventScreenTouch.xml
│ │ ├── InputEventShortcut.xml
│ │ ├── InputEventWithModifiers.xml
│ │ ├── InputMap.xml
│ │ ├── InstancePlaceholder.xml
│ │ ├── IntervalTweener.xml
│ │ ├── ItemList.xml
│ │ ├── IterateIK3D.xml
│ │ ├── JNISingleton.xml
│ │ ├── JSON.xml
│ │ ├── JSONRPC.xml
│ │ ├── JacobianIK3D.xml
│ │ ├── JavaClass.xml
│ │ ├── JavaClassWrapper.xml
│ │ ├── JavaObject.xml
│ │ ├── JavaScriptBridge.xml
│ │ ├── JavaScriptObject.xml
│ │ ├── Joint2D.xml
│ │ ├── Joint3D.xml
│ │ ├── JointLimitation3D.xml
│ │ ├── JointLimitationCone3D.xml
│ │ ├── KinematicCollision2D.xml
│ │ ├── KinematicCollision3D.xml
│ │ ├── Label.xml
│ │ ├── Label3D.xml
│ │ ├── LabelSettings.xml
│ │ ├── Light2D.xml
│ │ ├── Light3D.xml
│ │ ├── LightOccluder2D.xml
│ │ ├── LightmapGI.xml
│ │ ├── LightmapGIData.xml
│ │ ├── LightmapProbe.xml
│ │ ├── Lightmapper.xml
│ │ ├── LightmapperRD.xml
│ │ ├── LimitAngularVelocityModifier3D.xml
│ │ ├── Line2D.xml
│ │ ├── LineEdit.xml
│ │ ├── LinkButton.xml
│ │ ├── Logger.xml
│ │ ├── LookAtModifier3D.xml
│ │ ├── MainLoop.xml
│ │ ├── MarginContainer.xml
│ │ ├── Marker2D.xml
│ │ ├── Marker3D.xml
│ │ ├── Marshalls.xml
│ │ ├── Material.xml
│ │ ├── MenuBar.xml
│ │ ├── MenuButton.xml
│ │ ├── Mesh.xml
│ │ ├── MeshConvexDecompositionSettings.xml
│ │ ├── MeshDataTool.xml
│ │ ├── MeshInstance2D.xml
│ │ ├── MeshInstance3D.xml
│ │ ├── MeshLibrary.xml
│ │ ├── MeshTexture.xml
│ │ ├── MethodTweener.xml
│ │ ├── MissingNode.xml
│ │ ├── MissingResource.xml
│ │ ├── ModifierBoneTarget3D.xml
│ │ ├── MovieWriter.xml
│ │ ├── MultiMesh.xml
│ │ ├── MultiMeshInstance2D.xml
│ │ ├── MultiMeshInstance3D.xml
│ │ ├── MultiplayerAPI.xml
│ │ ├── MultiplayerAPIExtension.xml
│ │ ├── MultiplayerPeer.xml
│ │ ├── MultiplayerPeerExtension.xml
│ │ ├── Mutex.xml
│ │ ├── NativeMenu.xml
│ │ ├── NavigationAgent2D.xml
│ │ ├── NavigationAgent3D.xml
│ │ ├── NavigationLink2D.xml
│ │ ├── NavigationLink3D.xml
│ │ ├── NavigationMesh.xml
│ │ ├── NavigationMeshGenerator.xml
│ │ ├── NavigationMeshSourceGeometryData2D.xml
│ │ ├── NavigationMeshSourceGeometryData3D.xml
│ │ ├── NavigationObstacle2D.xml
│ │ ├── NavigationObstacle3D.xml
│ │ ├── NavigationPathQueryParameters2D.xml
│ │ ├── NavigationPathQueryParameters3D.xml
│ │ ├── NavigationPathQueryResult2D.xml
│ │ ├── NavigationPathQueryResult3D.xml
│ │ ├── NavigationPolygon.xml
│ │ ├── NavigationRegion2D.xml
│ │ ├── NavigationRegion3D.xml
│ │ ├── NavigationServer2D.xml
│ │ ├── NavigationServer2DManager.xml
│ │ ├── NavigationServer3D.xml
│ │ ├── NavigationServer3DManager.xml
│ │ ├── NinePatchRect.xml
│ │ ├── Node.xml
│ │ ├── Node2D.xml
│ │ ├── Node3D.xml
│ │ ├── Node3DGizmo.xml
│ │ ├── NodePath.xml
│ │ ├── ORMMaterial3D.xml
│ │ ├── OS.xml
│ │ ├── Object.xml
│ │ ├── Occluder3D.xml
│ │ ├── OccluderInstance3D.xml
│ │ ├── OccluderPolygon2D.xml
│ │ ├── OmniLight3D.xml
│ │ ├── OptimizedTranslation.xml
│ │ ├── OptionButton.xml
│ │ ├── PCKPacker.xml
│ │ ├── PackedByteArray.xml
│ │ ├── PackedColorArray.xml
│ │ ├── PackedDataContainer.xml
│ │ ├── PackedDataContainerRef.xml
│ │ ├── PackedFloat32Array.xml
│ │ ├── PackedFloat64Array.xml
│ │ ├── PackedInt32Array.xml
│ │ ├── PackedInt64Array.xml
│ │ ├── PackedScene.xml
│ │ ├── PackedStringArray.xml
│ │ ├── PackedVector2Array.xml
│ │ ├── PackedVector3Array.xml
│ │ ├── PackedVector4Array.xml
│ │ ├── PacketPeer.xml
│ │ ├── PacketPeerDTLS.xml
│ │ ├── PacketPeerExtension.xml
│ │ ├── PacketPeerStream.xml
│ │ ├── PacketPeerUDP.xml
│ │ ├── Panel.xml
│ │ ├── PanelContainer.xml
│ │ ├── PanoramaSkyMaterial.xml
│ │ ├── Parallax2D.xml
│ │ ├── ParallaxBackground.xml
│ │ ├── ParallaxLayer.xml
│ │ ├── ParticleProcessMaterial.xml
│ │ ├── Path2D.xml
│ │ ├── Path3D.xml
│ │ ├── PathFollow2D.xml
│ │ ├── PathFollow3D.xml
│ │ ├── Performance.xml
│ │ ├── PhysicalBone2D.xml
│ │ ├── PhysicalBone3D.xml
│ │ ├── PhysicalBoneSimulator3D.xml
│ │ ├── PhysicalSkyMaterial.xml
│ │ ├── PhysicsBody2D.xml
│ │ ├── PhysicsBody3D.xml
│ │ ├── PhysicsDirectBodyState2D.xml
│ │ ├── PhysicsDirectBodyState2DExtension.xml
│ │ ├── PhysicsDirectBodyState3D.xml
│ │ ├── PhysicsDirectBodyState3DExtension.xml
│ │ ├── PhysicsDirectSpaceState2D.xml
│ │ ├── PhysicsDirectSpaceState2DExtension.xml
│ │ ├── PhysicsDirectSpaceState3D.xml
│ │ ├── PhysicsDirectSpaceState3DExtension.xml
│ │ ├── PhysicsMaterial.xml
│ │ ├── PhysicsPointQueryParameters2D.xml
│ │ ├── PhysicsPointQueryParameters3D.xml
│ │ ├── PhysicsRayQueryParameters2D.xml
│ │ ├── PhysicsRayQueryParameters3D.xml
│ │ ├── PhysicsServer2D.xml
│ │ ├── PhysicsServer2DExtension.xml
│ │ ├── PhysicsServer2DManager.xml
│ │ ├── PhysicsServer3D.xml
│ │ ├── PhysicsServer3DExtension.xml
│ │ ├── PhysicsServer3DManager.xml
│ │ ├── PhysicsServer3DRenderingServerHandler.xml
│ │ ├── PhysicsShapeQueryParameters2D.xml
│ │ ├── PhysicsShapeQueryParameters3D.xml
│ │ ├── PhysicsTestMotionParameters2D.xml
│ │ ├── PhysicsTestMotionParameters3D.xml
│ │ ├── PhysicsTestMotionResult2D.xml
│ │ ├── PhysicsTestMotionResult3D.xml
│ │ ├── PinJoint2D.xml
│ │ ├── PinJoint3D.xml
│ │ ├── PlaceholderCubemap.xml
│ │ ├── PlaceholderCubemapArray.xml
│ │ ├── PlaceholderMaterial.xml
│ │ ├── PlaceholderMesh.xml
│ │ ├── PlaceholderTexture2D.xml
│ │ ├── PlaceholderTexture2DArray.xml
│ │ ├── PlaceholderTexture3D.xml
│ │ ├── PlaceholderTextureLayered.xml
│ │ ├── Plane.xml
│ │ ├── PlaneMesh.xml
│ │ ├── PointLight2D.xml
│ │ ├── PointMesh.xml
│ │ ├── Polygon2D.xml
│ │ ├── PolygonOccluder3D.xml
│ │ ├── PolygonPathFinder.xml
│ │ ├── Popup.xml
│ │ ├── PopupMenu.xml
│ │ ├── PopupPanel.xml
│ │ ├── PortableCompressedTexture2D.xml
│ │ ├── PrimitiveMesh.xml
│ │ ├── PrismMesh.xml
│ │ ├── ProceduralSkyMaterial.xml
│ │ ├── ProgressBar.xml
│ │ ├── ProjectSettings.xml
│ │ ├── Projection.xml
│ │ ├── PropertyTweener.xml
│ │ ├── QuadMesh.xml
│ │ ├── QuadOccluder3D.xml
│ │ ├── Quaternion.xml
│ │ ├── RDAttachmentFormat.xml
│ │ ├── RDFramebufferPass.xml
│ │ ├── RDPipelineColorBlendState.xml
│ │ ├── RDPipelineColorBlendStateAttachment.xml
│ │ ├── RDPipelineDepthStencilState.xml
│ │ ├── RDPipelineMultisampleState.xml
│ │ ├── RDPipelineRasterizationState.xml
│ │ ├── RDPipelineSpecializationConstant.xml
│ │ ├── RDSamplerState.xml
│ │ ├── RDShaderFile.xml
│ │ ├── RDShaderSPIRV.xml
│ │ ├── RDShaderSource.xml
│ │ ├── RDTextureFormat.xml
│ │ ├── RDTextureView.xml
│ │ ├── RDUniform.xml
│ │ ├── RDVertexAttribute.xml
│ │ ├── RID.xml
│ │ ├── RandomNumberGenerator.xml
│ │ ├── Range.xml
│ │ ├── RayCast2D.xml
│ │ ├── RayCast3D.xml
│ │ ├── Rect2.xml
│ │ ├── Rect2i.xml
│ │ ├── RectangleShape2D.xml
│ │ ├── RefCounted.xml
│ │ ├── ReferenceRect.xml
│ │ ├── ReflectionProbe.xml
│ │ ├── RemoteTransform2D.xml
│ │ ├── RemoteTransform3D.xml
│ │ ├── RenderData.xml
│ │ ├── RenderDataExtension.xml
│ │ ├── RenderDataRD.xml
│ │ ├── RenderSceneBuffers.xml
│ │ ├── RenderSceneBuffersConfiguration.xml
│ │ ├── RenderSceneBuffersExtension.xml
│ │ ├── RenderSceneBuffersRD.xml
│ │ ├── RenderSceneData.xml
│ │ ├── RenderSceneDataExtension.xml
│ │ ├── RenderSceneDataRD.xml
│ │ ├── RenderingDevice.xml
│ │ ├── RenderingServer.xml
│ │ ├── Resource.xml
│ │ ├── ResourceFormatLoader.xml
│ │ ├── ResourceFormatSaver.xml
│ │ ├── ResourceImporter.xml
│ │ ├── ResourceImporterBMFont.xml
│ │ ├── ResourceImporterBitMap.xml
│ │ ├── ResourceImporterCSVTranslation.xml
│ │ ├── ResourceImporterDynamicFont.xml
│ │ ├── ResourceImporterImage.xml
│ │ ├── ResourceImporterImageFont.xml
│ │ ├── ResourceImporterLayeredTexture.xml
│ │ ├── ResourceImporterOBJ.xml
│ │ ├── ResourceImporterSVG.xml
│ │ ├── ResourceImporterScene.xml
│ │ ├── ResourceImporterShaderFile.xml
│ │ ├── ResourceImporterTexture.xml
│ │ ├── ResourceImporterTextureAtlas.xml
│ │ ├── ResourceImporterWAV.xml
│ │ ├── ResourceLoader.xml
│ │ ├── ResourcePreloader.xml
│ │ ├── ResourceSaver.xml
│ │ ├── ResourceUID.xml
│ │ ├── RetargetModifier3D.xml
│ │ ├── RibbonTrailMesh.xml
│ │ ├── RichTextEffect.xml
│ │ ├── RichTextLabel.xml
│ │ ├── RigidBody2D.xml
│ │ ├── RigidBody3D.xml
│ │ ├── RootMotionView.xml
│ │ ├── SceneState.xml
│ │ ├── SceneTree.xml
│ │ ├── SceneTreeTimer.xml
│ │ ├── Script.xml
│ │ ├── ScriptBacktrace.xml
│ │ ├── ScriptCreateDialog.xml
│ │ ├── ScriptEditor.xml
│ │ ├── ScriptEditorBase.xml
│ │ ├── ScriptExtension.xml
│ │ ├── ScriptLanguage.xml
│ │ ├── ScriptLanguageExtension.xml
│ │ ├── ScrollBar.xml
│ │ ├── ScrollContainer.xml
│ │ ├── SegmentShape2D.xml
│ │ ├── Semaphore.xml
│ │ ├── SeparationRayShape2D.xml
│ │ ├── SeparationRayShape3D.xml
│ │ ├── Separator.xml
│ │ ├── Shader.xml
│ │ ├── ShaderGlobalsOverride.xml
│ │ ├── ShaderInclude.xml
│ │ ├── ShaderIncludeDB.xml
│ │ ├── ShaderMaterial.xml
│ │ ├── Shape2D.xml
│ │ ├── Shape3D.xml
│ │ ├── ShapeCast2D.xml
│ │ ├── ShapeCast3D.xml
│ │ ├── Shortcut.xml
│ │ ├── Signal.xml
│ │ ├── Skeleton2D.xml
│ │ ├── Skeleton3D.xml
│ │ ├── SkeletonIK3D.xml
│ │ ├── SkeletonModification2D.xml
│ │ ├── SkeletonModification2DCCDIK.xml
│ │ ├── SkeletonModification2DFABRIK.xml
│ │ ├── SkeletonModification2DJiggle.xml
│ │ ├── SkeletonModification2DLookAt.xml
│ │ ├── SkeletonModification2DPhysicalBones.xml
│ │ ├── SkeletonModification2DStackHolder.xml
│ │ ├── SkeletonModification2DTwoBoneIK.xml
│ │ ├── SkeletonModificationStack2D.xml
│ │ ├── SkeletonModifier3D.xml
│ │ ├── SkeletonProfile.xml
│ │ ├── SkeletonProfileHumanoid.xml
│ │ ├── Skin.xml
│ │ ├── SkinReference.xml
│ │ ├── Sky.xml
│ │ ├── Slider.xml
│ │ ├── SliderJoint3D.xml
│ │ ├── SocketServer.xml
│ │ ├── SoftBody3D.xml
│ │ ├── SphereMesh.xml
│ │ ├── SphereOccluder3D.xml
│ │ ├── SphereShape3D.xml
│ │ ├── SpinBox.xml
│ │ ├── SplineIK3D.xml
│ │ ├── SplitContainer.xml
│ │ ├── SpotLight3D.xml
│ │ ├── SpringArm3D.xml
│ │ ├── SpringBoneCollision3D.xml
│ │ ├── SpringBoneCollisionCapsule3D.xml
│ │ ├── SpringBoneCollisionPlane3D.xml
│ │ ├── SpringBoneCollisionSphere3D.xml
│ │ ├── SpringBoneSimulator3D.xml
│ │ ├── Sprite2D.xml
│ │ ├── Sprite3D.xml
│ │ ├── SpriteBase3D.xml
│ │ ├── SpriteFrames.xml
│ │ ├── StandardMaterial3D.xml
│ │ ├── StaticBody2D.xml
│ │ ├── StaticBody3D.xml
│ │ ├── StatusIndicator.xml
│ │ ├── StreamPeer.xml
│ │ ├── StreamPeerBuffer.xml
│ │ ├── StreamPeerExtension.xml
│ │ ├── StreamPeerGZIP.xml
│ │ ├── StreamPeerSocket.xml
│ │ ├── StreamPeerTCP.xml
│ │ ├── StreamPeerTLS.xml
│ │ ├── StreamPeerUDS.xml
│ │ ├── String.xml
│ │ ├── StringName.xml
│ │ ├── StyleBox.xml
│ │ ├── StyleBoxEmpty.xml
│ │ ├── StyleBoxFlat.xml
│ │ ├── StyleBoxLine.xml
│ │ ├── StyleBoxTexture.xml
│ │ ├── SubViewport.xml
│ │ ├── SubViewportContainer.xml
│ │ ├── SubtweenTweener.xml
│ │ ├── SurfaceTool.xml
│ │ ├── SyntaxHighlighter.xml
│ │ ├── SystemFont.xml
│ │ ├── TCPServer.xml
│ │ ├── TLSOptions.xml
│ │ ├── TabBar.xml
│ │ ├── TabContainer.xml
│ │ ├── TextEdit.xml
│ │ ├── TextLine.xml
│ │ ├── TextMesh.xml
│ │ ├── TextParagraph.xml
│ │ ├── TextServer.xml
│ │ ├── TextServerDummy.xml
│ │ ├── TextServerExtension.xml
│ │ ├── TextServerManager.xml
│ │ ├── Texture.xml
│ │ ├── Texture2D.xml
│ │ ├── Texture2DArray.xml
│ │ ├── Texture2DArrayRD.xml
│ │ ├── Texture2DRD.xml
│ │ ├── Texture3D.xml
│ │ ├── Texture3DRD.xml
│ │ ├── TextureButton.xml
│ │ ├── TextureCubemapArrayRD.xml
│ │ ├── TextureCubemapRD.xml
│ │ ├── TextureLayered.xml
│ │ ├── TextureLayeredRD.xml
│ │ ├── TextureProgressBar.xml
│ │ ├── TextureRect.xml
│ │ ├── Theme.xml
│ │ ├── ThemeDB.xml
│ │ ├── Thread.xml
│ │ ├── TileData.xml
│ │ ├── TileMap.xml
│ │ ├── TileMapLayer.xml
│ │ ├── TileMapPattern.xml
│ │ ├── TileSet.xml
│ │ ├── TileSetAtlasSource.xml
│ │ ├── TileSetScenesCollectionSource.xml
│ │ ├── TileSetSource.xml
│ │ ├── Time.xml
│ │ ├── Timer.xml
│ │ ├── TorusMesh.xml
│ │ ├── TouchScreenButton.xml
│ │ ├── Transform2D.xml
│ │ ├── Transform3D.xml
│ │ ├── Translation.xml
│ │ ├── TranslationDomain.xml
│ │ ├── TranslationServer.xml
│ │ ├── Tree.xml
│ │ ├── TreeItem.xml
│ │ ├── TriangleMesh.xml
│ │ ├── TubeTrailMesh.xml
│ │ ├── Tween.xml
│ │ ├── Tweener.xml
│ │ ├── TwoBoneIK3D.xml
│ │ ├── UDPServer.xml
│ │ ├── UDSServer.xml
│ │ ├── UndoRedo.xml
│ │ ├── UniformSetCacheRD.xml
│ │ ├── VBoxContainer.xml
│ │ ├── VFlowContainer.xml
│ │ ├── VScrollBar.xml
│ │ ├── VSeparator.xml
│ │ ├── VSlider.xml
│ │ ├── VSplitContainer.xml
│ │ ├── Variant.xml
│ │ ├── Vector2.xml
│ │ ├── Vector2i.xml
│ │ ├── Vector3.xml
│ │ ├── Vector3i.xml
│ │ ├── Vector4.xml
│ │ ├── Vector4i.xml
│ │ ├── VehicleBody3D.xml
│ │ ├── VehicleWheel3D.xml
│ │ ├── VideoStream.xml
│ │ ├── VideoStreamPlayback.xml
│ │ ├── VideoStreamPlayer.xml
│ │ ├── Viewport.xml
│ │ ├── ViewportTexture.xml
│ │ ├── VirtualJoystick.xml
│ │ ├── VisibleOnScreenEnabler2D.xml
│ │ ├── VisibleOnScreenEnabler3D.xml
│ │ ├── VisibleOnScreenNotifier2D.xml
│ │ ├── VisibleOnScreenNotifier3D.xml
│ │ ├── VisualInstance3D.xml
│ │ ├── VisualShader.xml
│ │ ├── VisualShaderNode.xml
│ │ ├── VisualShaderNodeBillboard.xml
│ │ ├── VisualShaderNodeBooleanConstant.xml
│ │ ├── VisualShaderNodeBooleanParameter.xml
│ │ ├── VisualShaderNodeClamp.xml
│ │ ├── VisualShaderNodeColorConstant.xml
│ │ ├── VisualShaderNodeColorFunc.xml
│ │ ├── VisualShaderNodeColorOp.xml
│ │ ├── VisualShaderNodeColorParameter.xml
│ │ ├── VisualShaderNodeComment.xml
│ │ ├── VisualShaderNodeCompare.xml
│ │ ├── VisualShaderNodeConstant.xml
│ │ ├── VisualShaderNodeCubemap.xml
│ │ ├── VisualShaderNodeCubemapParameter.xml
│ │ ├── VisualShaderNodeCurveTexture.xml
│ │ ├── VisualShaderNodeCurveXYZTexture.xml
│ │ ├── VisualShaderNodeCustom.xml
│ │ ├── VisualShaderNodeDerivativeFunc.xml
│ │ ├── VisualShaderNodeDeterminant.xml
│ │ ├── VisualShaderNodeDistanceFade.xml
│ │ ├── VisualShaderNodeDotProduct.xml
│ │ ├── VisualShaderNodeExpression.xml
│ │ ├── VisualShaderNodeFaceForward.xml
│ │ ├── VisualShaderNodeFloatConstant.xml
│ │ ├── VisualShaderNodeFloatFunc.xml
│ │ ├── VisualShaderNodeFloatOp.xml
│ │ ├── VisualShaderNodeFloatParameter.xml
│ │ ├── VisualShaderNodeFrame.xml
│ │ ├── VisualShaderNodeFresnel.xml
│ │ ├── VisualShaderNodeGlobalExpression.xml
│ │ ├── VisualShaderNodeGroupBase.xml
│ │ ├── VisualShaderNodeIf.xml
│ │ ├── VisualShaderNodeInput.xml
│ │ ├── VisualShaderNodeIntConstant.xml
│ │ ├── VisualShaderNodeIntFunc.xml
│ │ ├── VisualShaderNodeIntOp.xml
│ │ ├── VisualShaderNodeIntParameter.xml
│ │ ├── VisualShaderNodeIs.xml
│ │ ├── VisualShaderNodeLinearSceneDepth.xml
│ │ ├── VisualShaderNodeMix.xml
│ │ ├── VisualShaderNodeMultiplyAdd.xml
│ │ ├── VisualShaderNodeOuterProduct.xml
│ │ ├── VisualShaderNodeOutput.xml
│ │ ├── VisualShaderNodeParameter.xml
│ │ ├── VisualShaderNodeParameterRef.xml
│ │ ├── VisualShaderNodeParticleAccelerator.xml
│ │ ├── VisualShaderNodeParticleBoxEmitter.xml
│ │ ├── VisualShaderNodeParticleConeVelocity.xml
│ │ ├── VisualShaderNodeParticleEmit.xml
│ │ ├── VisualShaderNodeParticleEmitter.xml
│ │ ├── VisualShaderNodeParticleMeshEmitter.xml
│ │ ├── VisualShaderNodeParticleMultiplyByAxisAngle.xml
│ │ ├── VisualShaderNodeParticleOutput.xml
│ │ ├── VisualShaderNodeParticleRandomness.xml
│ │ ├── VisualShaderNodeParticleRingEmitter.xml
│ │ ├── VisualShaderNodeParticleSphereEmitter.xml
│ │ ├── VisualShaderNodeProximityFade.xml
│ │ ├── VisualShaderNodeRandomRange.xml
│ │ ├── VisualShaderNodeRemap.xml
│ │ ├── VisualShaderNodeReroute.xml
│ │ ├── VisualShaderNodeResizableBase.xml
│ │ ├── VisualShaderNodeRotationByAxis.xml
│ │ ├── VisualShaderNodeSDFRaymarch.xml
│ │ ├── VisualShaderNodeSDFToScreenUV.xml
│ │ ├── VisualShaderNodeSample3D.xml
│ │ ├── VisualShaderNodeScreenNormalWorldSpace.xml
│ │ ├── VisualShaderNodeScreenUVToSDF.xml
│ │ ├── VisualShaderNodeSmoothStep.xml
│ │ ├── VisualShaderNodeStep.xml
│ │ ├── VisualShaderNodeSwitch.xml
│ │ ├── VisualShaderNodeTexture.xml
│ │ ├── VisualShaderNodeTexture2DArray.xml
│ │ ├── VisualShaderNodeTexture2DArrayParameter.xml
│ │ ├── VisualShaderNodeTexture2DParameter.xml
│ │ ├── VisualShaderNodeTexture3D.xml
│ │ ├── VisualShaderNodeTexture3DParameter.xml
│ │ ├── VisualShaderNodeTextureParameter.xml
│ │ ├── VisualShaderNodeTextureParameterTriplanar.xml
│ │ ├── VisualShaderNodeTextureSDF.xml
│ │ ├── VisualShaderNodeTextureSDFNormal.xml
│ │ ├── VisualShaderNodeTransformCompose.xml
│ │ ├── VisualShaderNodeTransformConstant.xml
│ │ ├── VisualShaderNodeTransformDecompose.xml
│ │ ├── VisualShaderNodeTransformFunc.xml
│ │ ├── VisualShaderNodeTransformOp.xml
│ │ ├── VisualShaderNodeTransformParameter.xml
│ │ ├── VisualShaderNodeTransformVecMult.xml
│ │ ├── VisualShaderNodeUIntConstant.xml
│ │ ├── VisualShaderNodeUIntFunc.xml
│ │ ├── VisualShaderNodeUIntOp.xml
│ │ ├── VisualShaderNodeUIntParameter.xml
│ │ ├── VisualShaderNodeUVFunc.xml
│ │ ├── VisualShaderNodeUVPolarCoord.xml
│ │ ├── VisualShaderNodeVarying.xml
│ │ ├── VisualShaderNodeVaryingGetter.xml
│ │ ├── VisualShaderNodeVaryingSetter.xml
│ │ ├── VisualShaderNodeVec2Constant.xml
│ │ ├── VisualShaderNodeVec2Parameter.xml
│ │ ├── VisualShaderNodeVec3Constant.xml
│ │ ├── VisualShaderNodeVec3Parameter.xml
│ │ ├── VisualShaderNodeVec4Constant.xml
│ │ ├── VisualShaderNodeVec4Parameter.xml
│ │ ├── VisualShaderNodeVectorBase.xml
│ │ ├── VisualShaderNodeVectorCompose.xml
│ │ ├── VisualShaderNodeVectorDecompose.xml
│ │ ├── VisualShaderNodeVectorDistance.xml
│ │ ├── VisualShaderNodeVectorFunc.xml
│ │ ├── VisualShaderNodeVectorLen.xml
│ │ ├── VisualShaderNodeVectorOp.xml
│ │ ├── VisualShaderNodeVectorRefract.xml
│ │ ├── VisualShaderNodeWorldPositionFromDepth.xml
│ │ ├── VoxelGI.xml
│ │ ├── VoxelGIData.xml
│ │ ├── WeakRef.xml
│ │ ├── Window.xml
│ │ ├── WorkerThreadPool.xml
│ │ ├── World2D.xml
│ │ ├── World3D.xml
│ │ ├── WorldBoundaryShape2D.xml
│ │ ├── WorldBoundaryShape3D.xml
│ │ ├── WorldEnvironment.xml
│ │ ├── X509Certificate.xml
│ │ ├── XMLParser.xml
│ │ ├── XRAnchor3D.xml
│ │ ├── XRBodyModifier3D.xml
│ │ ├── XRBodyTracker.xml
│ │ ├── XRCamera3D.xml
│ │ ├── XRController3D.xml
│ │ ├── XRControllerTracker.xml
│ │ ├── XRFaceModifier3D.xml
│ │ ├── XRFaceTracker.xml
│ │ ├── XRHandModifier3D.xml
│ │ ├── XRHandTracker.xml
│ │ ├── XRInterface.xml
│ │ ├── XRInterfaceExtension.xml
│ │ ├── XRNode3D.xml
│ │ ├── XROrigin3D.xml
│ │ ├── XRPose.xml
│ │ ├── XRPositionalTracker.xml
│ │ ├── XRServer.xml
│ │ ├── XRTracker.xml
│ │ ├── XRVRS.xml
│ │ ├── bool.xml
│ │ ├── float.xml
│ │ └── int.xml
│ ├── tools/
│ │ ├── doc_status.py
│ │ └── make_rst.py
│ └── translations/
│ ├── de.po
│ ├── es.po
│ ├── fr.po
│ ├── ga.po
│ ├── it.po
│ ├── ko.po
│ ├── ru.po
│ ├── ta.po
│ ├── uk.po
│ ├── zh_Hans.po
│ └── zh_Hant.po
├── drivers/
│ ├── SCsub
│ ├── accesskit/
│ │ ├── SCsub
│ │ ├── accessibility_server_accesskit.cpp
│ │ └── accessibility_server_accesskit.h
│ ├── alsa/
│ │ ├── SCsub
│ │ ├── asound-so_wrap.c
│ │ ├── asound-so_wrap.h
│ │ ├── audio_driver_alsa.cpp
│ │ └── audio_driver_alsa.h
│ ├── alsamidi/
│ │ ├── SCsub
│ │ ├── midi_driver_alsamidi.cpp
│ │ └── midi_driver_alsamidi.h
│ ├── apple/
│ │ ├── SCsub
│ │ ├── foundation_helpers.h
│ │ ├── foundation_helpers.mm
│ │ ├── os_log_logger.cpp
│ │ ├── os_log_logger.h
│ │ ├── thread_apple.cpp
│ │ └── thread_apple.h
│ ├── apple_embedded/
│ │ ├── SCsub
│ │ ├── app.swift
│ │ ├── app_delegate_service.h
│ │ ├── app_delegate_service.mm
│ │ ├── apple_embedded.h
│ │ ├── apple_embedded.mm
│ │ ├── bridging_header_apple_embedded.h
│ │ ├── display_layer_apple_embedded.h
│ │ ├── display_server_apple_embedded.h
│ │ ├── display_server_apple_embedded.mm
│ │ ├── godot_app_delegate.h
│ │ ├── godot_app_delegate.mm
│ │ ├── godot_keyboard_input_view.h
│ │ ├── godot_keyboard_input_view.mm
│ │ ├── godot_view_apple_embedded.h
│ │ ├── godot_view_apple_embedded.mm
│ │ ├── godot_view_controller.h
│ │ ├── godot_view_controller.mm
│ │ ├── godot_view_renderer.h
│ │ ├── godot_view_renderer.mm
│ │ ├── key_mapping_apple_embedded.h
│ │ ├── key_mapping_apple_embedded.mm
│ │ ├── main_utilities.h
│ │ ├── main_utilities.mm
│ │ ├── os_apple_embedded.h
│ │ ├── os_apple_embedded.mm
│ │ ├── platform_config.h
│ │ ├── rendering_context_driver_vulkan_apple_embedded.h
│ │ ├── rendering_context_driver_vulkan_apple_embedded.mm
│ │ ├── tts_apple_embedded.h
│ │ └── tts_apple_embedded.mm
│ ├── backtrace/
│ │ └── SCsub
│ ├── coreaudio/
│ │ ├── SCsub
│ │ ├── audio_driver_coreaudio.h
│ │ └── audio_driver_coreaudio.mm
│ ├── coremidi/
│ │ ├── SCsub
│ │ ├── midi_driver_coremidi.h
│ │ └── midi_driver_coremidi.mm
│ ├── d3d12/
│ │ ├── SCsub
│ │ ├── d3d12_godot_nir_bridge.h
│ │ ├── d3d12_hooks.cpp
│ │ ├── d3d12_hooks.h
│ │ ├── dxil_hash.cpp
│ │ ├── dxil_hash.h
│ │ ├── godot_d3d12ma.h
│ │ ├── godot_d3dx12.h
│ │ ├── godot_nir.h
│ │ ├── rendering_context_driver_d3d12.cpp
│ │ ├── rendering_context_driver_d3d12.h
│ │ ├── rendering_device_driver_d3d12.cpp
│ │ ├── rendering_device_driver_d3d12.h
│ │ ├── rendering_shader_container_d3d12.cpp
│ │ └── rendering_shader_container_d3d12.h
│ ├── egl/
│ │ ├── SCsub
│ │ ├── egl_manager.cpp
│ │ └── egl_manager.h
│ ├── gl_context/
│ │ └── SCsub
│ ├── gles3/
│ │ ├── SCsub
│ │ ├── effects/
│ │ │ ├── SCsub
│ │ │ ├── copy_effects.cpp
│ │ │ ├── copy_effects.h
│ │ │ ├── cubemap_filter.cpp
│ │ │ ├── cubemap_filter.h
│ │ │ ├── feed_effects.cpp
│ │ │ ├── feed_effects.h
│ │ │ ├── glow.cpp
│ │ │ ├── glow.h
│ │ │ ├── post_effects.cpp
│ │ │ └── post_effects.h
│ │ ├── environment/
│ │ │ ├── SCsub
│ │ │ ├── fog.cpp
│ │ │ ├── fog.h
│ │ │ ├── gi.cpp
│ │ │ └── gi.h
│ │ ├── rasterizer_canvas_gles3.cpp
│ │ ├── rasterizer_canvas_gles3.h
│ │ ├── rasterizer_gles3.cpp
│ │ ├── rasterizer_gles3.h
│ │ ├── rasterizer_scene_gles3.cpp
│ │ ├── rasterizer_scene_gles3.h
│ │ ├── rasterizer_util_gles3.cpp
│ │ ├── rasterizer_util_gles3.h
│ │ ├── shader_gles3.cpp
│ │ ├── shader_gles3.h
│ │ ├── shaders/
│ │ │ ├── SCsub
│ │ │ ├── canvas.glsl
│ │ │ ├── canvas_occlusion.glsl
│ │ │ ├── canvas_sdf.glsl
│ │ │ ├── canvas_uniforms_inc.glsl
│ │ │ ├── cube_to_dp.glsl
│ │ │ ├── effect_blur.glsl
│ │ │ ├── effects/
│ │ │ │ ├── SCsub
│ │ │ │ ├── copy.glsl
│ │ │ │ ├── cubemap_filter.glsl
│ │ │ │ ├── glow.glsl
│ │ │ │ └── post.glsl
│ │ │ ├── feed.glsl
│ │ │ ├── lens_distorted.glsl
│ │ │ ├── particles.glsl
│ │ │ ├── particles_copy.glsl
│ │ │ ├── s4ao_inc.glsl
│ │ │ ├── s4ao_mega_inc.glsl
│ │ │ ├── s4ao_micro_inc.glsl
│ │ │ ├── scene.glsl
│ │ │ ├── skeleton.glsl
│ │ │ ├── sky.glsl
│ │ │ ├── stdlib_inc.glsl
│ │ │ ├── tex_blit.glsl
│ │ │ └── tonemap_inc.glsl
│ │ └── storage/
│ │ ├── SCsub
│ │ ├── config.cpp
│ │ ├── config.h
│ │ ├── light_storage.cpp
│ │ ├── light_storage.h
│ │ ├── material_storage.cpp
│ │ ├── material_storage.h
│ │ ├── mesh_storage.cpp
│ │ ├── mesh_storage.h
│ │ ├── particles_storage.cpp
│ │ ├── particles_storage.h
│ │ ├── render_scene_buffers_gles3.cpp
│ │ ├── render_scene_buffers_gles3.h
│ │ ├── texture_storage.cpp
│ │ ├── texture_storage.h
│ │ ├── utilities.cpp
│ │ └── utilities.h
│ ├── metal/
│ │ ├── README.md
│ │ ├── SCsub
│ │ ├── inflection_map.h
│ │ ├── metal3_objects.cpp
│ │ ├── metal3_objects.h
│ │ ├── metal_device_profile.cpp
│ │ ├── metal_device_profile.h
│ │ ├── metal_device_properties.cpp
│ │ ├── metal_device_properties.h
│ │ ├── metal_objects_shared.cpp
│ │ ├── metal_objects_shared.h
│ │ ├── metal_utils.h
│ │ ├── pixel_formats.cpp
│ │ ├── pixel_formats.h
│ │ ├── rendering_context_driver_metal.cpp
│ │ ├── rendering_context_driver_metal.h
│ │ ├── rendering_device_driver_metal.cpp
│ │ ├── rendering_device_driver_metal.h
│ │ ├── rendering_device_driver_metal3.cpp
│ │ ├── rendering_device_driver_metal3.h
│ │ ├── rendering_shader_container_metal.cpp
│ │ ├── rendering_shader_container_metal.h
│ │ └── sha256_digest.h
│ ├── png/
│ │ ├── SCsub
│ │ ├── image_loader_png.cpp
│ │ ├── image_loader_png.h
│ │ ├── png_driver_common.cpp
│ │ ├── png_driver_common.h
│ │ ├── resource_saver_png.cpp
│ │ └── resource_saver_png.h
│ ├── pulseaudio/
│ │ ├── SCsub
│ │ ├── audio_driver_pulseaudio.cpp
│ │ ├── audio_driver_pulseaudio.h
│ │ ├── pulse-so_wrap.c
│ │ └── pulse-so_wrap.h
│ ├── register_driver_types.cpp
│ ├── register_driver_types.h
│ ├── sdl/
│ │ ├── SCsub
│ │ ├── SDL_build_config_private.h
│ │ ├── joypad_sdl.cpp
│ │ └── joypad_sdl.h
│ ├── unix/
│ │ ├── SCsub
│ │ ├── dir_access_unix.cpp
│ │ ├── dir_access_unix.h
│ │ ├── file_access_unix.cpp
│ │ ├── file_access_unix.h
│ │ ├── file_access_unix_pipe.cpp
│ │ ├── file_access_unix_pipe.h
│ │ ├── ip_unix.cpp
│ │ ├── ip_unix.h
│ │ ├── net_socket_unix.cpp
│ │ ├── net_socket_unix.h
│ │ ├── os_unix.cpp
│ │ ├── os_unix.h
│ │ ├── syslog_logger.cpp
│ │ ├── syslog_logger.h
│ │ ├── thread_posix.cpp
│ │ └── thread_posix.h
│ ├── vulkan/
│ │ ├── SCsub
│ │ ├── godot_vulkan.h
│ │ ├── rendering_context_driver_vulkan.cpp
│ │ ├── rendering_context_driver_vulkan.h
│ │ ├── rendering_device_driver_vulkan.cpp
│ │ ├── rendering_device_driver_vulkan.h
│ │ ├── rendering_shader_container_vulkan.cpp
│ │ ├── rendering_shader_container_vulkan.h
│ │ ├── vulkan_hooks.cpp
│ │ └── vulkan_hooks.h
│ ├── wasapi/
│ │ ├── SCsub
│ │ ├── audio_driver_wasapi.cpp
│ │ └── audio_driver_wasapi.h
│ ├── windows/
│ │ ├── SCsub
│ │ ├── dir_access_windows.cpp
│ │ ├── dir_access_windows.h
│ │ ├── file_access_windows.cpp
│ │ ├── file_access_windows.h
│ │ ├── file_access_windows_pipe.cpp
│ │ ├── file_access_windows_pipe.h
│ │ ├── ip_windows.cpp
│ │ ├── ip_windows.h
│ │ ├── net_socket_winsock.cpp
│ │ ├── net_socket_winsock.h
│ │ ├── thread_windows.cpp
│ │ └── thread_windows.h
│ ├── winmidi/
│ │ ├── SCsub
│ │ ├── midi_driver_winmidi.cpp
│ │ └── midi_driver_winmidi.h
│ └── xaudio2/
│ ├── SCsub
│ ├── audio_driver_xaudio2.cpp
│ └── audio_driver_xaudio2.h
├── editor/
│ ├── SCsub
│ ├── animation/
│ │ ├── SCsub
│ │ ├── animation_bezier_editor.cpp
│ │ ├── animation_bezier_editor.h
│ │ ├── animation_blend_space_1d_editor.cpp
│ │ ├── animation_blend_space_1d_editor.h
│ │ ├── animation_blend_space_2d_editor.cpp
│ │ ├── animation_blend_space_2d_editor.h
│ │ ├── animation_blend_tree_editor_plugin.cpp
│ │ ├── animation_blend_tree_editor_plugin.h
│ │ ├── animation_library_editor.cpp
│ │ ├── animation_library_editor.h
│ │ ├── animation_player_editor_plugin.cpp
│ │ ├── animation_player_editor_plugin.h
│ │ ├── animation_state_machine_editor.cpp
│ │ ├── animation_state_machine_editor.h
│ │ ├── animation_track_editor.cpp
│ │ ├── animation_track_editor.h
│ │ ├── animation_track_editor_plugins.cpp
│ │ ├── animation_track_editor_plugins.h
│ │ ├── animation_tree_editor_plugin.cpp
│ │ └── animation_tree_editor_plugin.h
│ ├── asset_library/
│ │ ├── SCsub
│ │ ├── asset_library_editor_plugin.cpp
│ │ ├── asset_library_editor_plugin.h
│ │ ├── editor_asset_installer.cpp
│ │ └── editor_asset_installer.h
│ ├── audio/
│ │ ├── SCsub
│ │ ├── audio_stream_editor_plugin.cpp
│ │ ├── audio_stream_editor_plugin.h
│ │ ├── audio_stream_preview.cpp
│ │ ├── audio_stream_preview.h
│ │ ├── audio_stream_randomizer_editor_plugin.cpp
│ │ ├── audio_stream_randomizer_editor_plugin.h
│ │ ├── editor_audio_buses.cpp
│ │ └── editor_audio_buses.h
│ ├── debugger/
│ │ ├── SCsub
│ │ ├── debug_adapter/
│ │ │ ├── SCsub
│ │ │ ├── debug_adapter_parser.cpp
│ │ │ ├── debug_adapter_parser.h
│ │ │ ├── debug_adapter_protocol.cpp
│ │ │ ├── debug_adapter_protocol.h
│ │ │ ├── debug_adapter_server.cpp
│ │ │ ├── debug_adapter_server.h
│ │ │ └── debug_adapter_types.h
│ │ ├── debugger_editor_plugin.cpp
│ │ ├── debugger_editor_plugin.h
│ │ ├── editor_debugger_inspector.cpp
│ │ ├── editor_debugger_inspector.h
│ │ ├── editor_debugger_node.cpp
│ │ ├── editor_debugger_node.h
│ │ ├── editor_debugger_plugin.cpp
│ │ ├── editor_debugger_plugin.h
│ │ ├── editor_debugger_server.cpp
│ │ ├── editor_debugger_server.h
│ │ ├── editor_debugger_tree.cpp
│ │ ├── editor_debugger_tree.h
│ │ ├── editor_expression_evaluator.cpp
│ │ ├── editor_expression_evaluator.h
│ │ ├── editor_file_server.cpp
│ │ ├── editor_file_server.h
│ │ ├── editor_performance_profiler.cpp
│ │ ├── editor_performance_profiler.h
│ │ ├── editor_profiler.cpp
│ │ ├── editor_profiler.h
│ │ ├── editor_visual_profiler.cpp
│ │ ├── editor_visual_profiler.h
│ │ ├── script_editor_debugger.cpp
│ │ └── script_editor_debugger.h
│ ├── doc/
│ │ ├── SCsub
│ │ ├── doc_tools.cpp
│ │ ├── doc_tools.h
│ │ ├── editor_help.cpp
│ │ ├── editor_help.h
│ │ ├── editor_help_search.cpp
│ │ └── editor_help_search.h
│ ├── docks/
│ │ ├── SCsub
│ │ ├── dock_tab_container.cpp
│ │ ├── dock_tab_container.h
│ │ ├── editor_dock.cpp
│ │ ├── editor_dock.h
│ │ ├── editor_dock_manager.cpp
│ │ ├── editor_dock_manager.h
│ │ ├── filesystem_dock.cpp
│ │ ├── filesystem_dock.h
│ │ ├── groups_dock.cpp
│ │ ├── groups_dock.h
│ │ ├── groups_editor.cpp
│ │ ├── groups_editor.h
│ │ ├── history_dock.cpp
│ │ ├── history_dock.h
│ │ ├── import_dock.cpp
│ │ ├── import_dock.h
│ │ ├── inspector_dock.cpp
│ │ ├── inspector_dock.h
│ │ ├── scene_tree_dock.cpp
│ │ ├── scene_tree_dock.h
│ │ ├── signals_dock.cpp
│ │ └── signals_dock.h
│ ├── editor_builders.py
│ ├── editor_data.cpp
│ ├── editor_data.h
│ ├── editor_interface.compat.inc
│ ├── editor_interface.cpp
│ ├── editor_interface.h
│ ├── editor_log.cpp
│ ├── editor_log.h
│ ├── editor_main_screen.cpp
│ ├── editor_main_screen.h
│ ├── editor_node.cpp
│ ├── editor_node.h
│ ├── editor_string_names.h
│ ├── editor_undo_redo_manager.compat.inc
│ ├── editor_undo_redo_manager.cpp
│ ├── editor_undo_redo_manager.h
│ ├── export/
│ │ ├── SCsub
│ │ ├── codesign.cpp
│ │ ├── codesign.h
│ │ ├── dedicated_server_export_plugin.cpp
│ │ ├── dedicated_server_export_plugin.h
│ │ ├── editor_export.cpp
│ │ ├── editor_export.h
│ │ ├── editor_export_platform.compat.inc
│ │ ├── editor_export_platform.cpp
│ │ ├── editor_export_platform.h
│ │ ├── editor_export_platform_apple_embedded.cpp
│ │ ├── editor_export_platform_apple_embedded.h
│ │ ├── editor_export_platform_extension.cpp
│ │ ├── editor_export_platform_extension.h
│ │ ├── editor_export_platform_pc.cpp
│ │ ├── editor_export_platform_pc.h
│ │ ├── editor_export_plugin.cpp
│ │ ├── editor_export_plugin.h
│ │ ├── editor_export_preset.compat.inc
│ │ ├── editor_export_preset.cpp
│ │ ├── editor_export_preset.h
│ │ ├── export_template_manager.cpp
│ │ ├── export_template_manager.h
│ │ ├── gdextension_export_plugin.h
│ │ ├── lipo.cpp
│ │ ├── lipo.h
│ │ ├── macho.cpp
│ │ ├── macho.h
│ │ ├── plugin_config_apple_embedded.cpp
│ │ ├── plugin_config_apple_embedded.h
│ │ ├── project_export.cpp
│ │ ├── project_export.h
│ │ ├── project_zip_packer.cpp
│ │ ├── project_zip_packer.h
│ │ ├── register_exporters.h
│ │ ├── shader_baker_export_plugin.cpp
│ │ └── shader_baker_export_plugin.h
│ ├── file_system/
│ │ ├── SCsub
│ │ ├── dependency_editor.cpp
│ │ ├── dependency_editor.h
│ │ ├── editor_file_system.cpp
│ │ ├── editor_file_system.h
│ │ ├── editor_paths.cpp
│ │ ├── editor_paths.h
│ │ ├── file_info.cpp
│ │ └── file_info.h
│ ├── gui/
│ │ ├── SCsub
│ │ ├── code_editor.cpp
│ │ ├── code_editor.h
│ │ ├── create_dialog.cpp
│ │ ├── create_dialog.h
│ │ ├── credits_roll.cpp
│ │ ├── credits_roll.h
│ │ ├── directory_create_dialog.cpp
│ │ ├── directory_create_dialog.h
│ │ ├── editor_about.cpp
│ │ ├── editor_about.h
│ │ ├── editor_bottom_panel.cpp
│ │ ├── editor_bottom_panel.h
│ │ ├── editor_dir_dialog.cpp
│ │ ├── editor_dir_dialog.h
│ │ ├── editor_file_dialog.cpp
│ │ ├── editor_file_dialog.h
│ │ ├── editor_object_selector.cpp
│ │ ├── editor_object_selector.h
│ │ ├── editor_quick_open_dialog.cpp
│ │ ├── editor_quick_open_dialog.h
│ │ ├── editor_spin_slider.cpp
│ │ ├── editor_spin_slider.h
│ │ ├── editor_title_bar.cpp
│ │ ├── editor_title_bar.h
│ │ ├── editor_toaster.cpp
│ │ ├── editor_toaster.h
│ │ ├── editor_validation_panel.cpp
│ │ ├── editor_validation_panel.h
│ │ ├── editor_variant_type_selectors.cpp
│ │ ├── editor_variant_type_selectors.h
│ │ ├── editor_version_button.cpp
│ │ ├── editor_version_button.h
│ │ ├── editor_zoom_widget.cpp
│ │ ├── editor_zoom_widget.h
│ │ ├── filter_line_edit.cpp
│ │ ├── filter_line_edit.h
│ │ ├── progress_dialog.cpp
│ │ ├── progress_dialog.h
│ │ ├── touch_actions_panel.cpp
│ │ ├── touch_actions_panel.h
│ │ ├── window_wrapper.cpp
│ │ └── window_wrapper.h
│ ├── icons/
│ │ ├── README.md
│ │ ├── SCsub
│ │ └── editor_icons_builders.py
│ ├── import/
│ │ ├── 3d/
│ │ │ ├── collada.cpp
│ │ │ ├── collada.h
│ │ │ ├── editor_import_collada.cpp
│ │ │ ├── editor_import_collada.h
│ │ │ ├── post_import_plugin_skeleton_renamer.cpp
│ │ │ ├── post_import_plugin_skeleton_renamer.h
│ │ │ ├── post_import_plugin_skeleton_rest_fixer.cpp
│ │ │ ├── post_import_plugin_skeleton_rest_fixer.h
│ │ │ ├── post_import_plugin_skeleton_track_organizer.cpp
│ │ │ ├── post_import_plugin_skeleton_track_organizer.h
│ │ │ ├── resource_importer_obj.cpp
│ │ │ ├── resource_importer_obj.h
│ │ │ ├── resource_importer_scene.cpp
│ │ │ ├── resource_importer_scene.h
│ │ │ ├── scene_import_settings.cpp
│ │ │ └── scene_import_settings.h
│ │ ├── SCsub
│ │ ├── atlas_import_failed.xpm
│ │ ├── audio_stream_import_settings.cpp
│ │ ├── audio_stream_import_settings.h
│ │ ├── dynamic_font_import_settings.cpp
│ │ ├── dynamic_font_import_settings.h
│ │ ├── editor_atlas_packer.cpp
│ │ ├── editor_atlas_packer.h
│ │ ├── editor_import_plugin.cpp
│ │ ├── editor_import_plugin.h
│ │ ├── fbx_importer_manager.cpp
│ │ ├── fbx_importer_manager.h
│ │ ├── import_defaults_editor.cpp
│ │ ├── import_defaults_editor.h
│ │ ├── resource_importer_bitmask.cpp
│ │ ├── resource_importer_bitmask.h
│ │ ├── resource_importer_bmfont.cpp
│ │ ├── resource_importer_bmfont.h
│ │ ├── resource_importer_csv_translation.cpp
│ │ ├── resource_importer_csv_translation.h
│ │ ├── resource_importer_dynamic_font.cpp
│ │ ├── resource_importer_dynamic_font.h
│ │ ├── resource_importer_image.cpp
│ │ ├── resource_importer_image.h
│ │ ├── resource_importer_imagefont.cpp
│ │ ├── resource_importer_imagefont.h
│ │ ├── resource_importer_layered_texture.cpp
│ │ ├── resource_importer_layered_texture.h
│ │ ├── resource_importer_shader_file.cpp
│ │ ├── resource_importer_shader_file.h
│ │ ├── resource_importer_svg.cpp
│ │ ├── resource_importer_svg.h
│ │ ├── resource_importer_texture.cpp
│ │ ├── resource_importer_texture.h
│ │ ├── resource_importer_texture_atlas.cpp
│ │ ├── resource_importer_texture_atlas.h
│ │ ├── resource_importer_texture_settings.cpp
│ │ ├── resource_importer_texture_settings.h
│ │ ├── resource_importer_wav.cpp
│ │ ├── resource_importer_wav.h
│ │ └── unicode_ranges.inc
│ ├── inspector/
│ │ ├── SCsub
│ │ ├── add_metadata_dialog.cpp
│ │ ├── add_metadata_dialog.h
│ │ ├── editor_context_menu_plugin.cpp
│ │ ├── editor_context_menu_plugin.h
│ │ ├── editor_inspector.compat.inc
│ │ ├── editor_inspector.cpp
│ │ ├── editor_inspector.h
│ │ ├── editor_preview_plugins.cpp
│ │ ├── editor_preview_plugins.h
│ │ ├── editor_properties.cpp
│ │ ├── editor_properties.h
│ │ ├── editor_properties_array_dict.cpp
│ │ ├── editor_properties_array_dict.h
│ │ ├── editor_properties_vector.cpp
│ │ ├── editor_properties_vector.h
│ │ ├── editor_property_name_processor.cpp
│ │ ├── editor_property_name_processor.h
│ │ ├── editor_resource_picker.cpp
│ │ ├── editor_resource_picker.h
│ │ ├── editor_resource_preview.cpp
│ │ ├── editor_resource_preview.h
│ │ ├── editor_resource_tooltip_plugins.cpp
│ │ ├── editor_resource_tooltip_plugins.h
│ │ ├── editor_sectioned_inspector.cpp
│ │ ├── editor_sectioned_inspector.h
│ │ ├── input_event_editor_plugin.cpp
│ │ ├── input_event_editor_plugin.h
│ │ ├── multi_node_edit.cpp
│ │ ├── multi_node_edit.h
│ │ ├── property_selector.cpp
│ │ ├── property_selector.h
│ │ ├── sub_viewport_preview_editor_plugin.cpp
│ │ ├── sub_viewport_preview_editor_plugin.h
│ │ ├── tool_button_editor_plugin.cpp
│ │ └── tool_button_editor_plugin.h
│ ├── plugins/
│ │ ├── SCsub
│ │ ├── editor_plugin.compat.inc
│ │ ├── editor_plugin.cpp
│ │ ├── editor_plugin.h
│ │ ├── editor_plugin_list.cpp
│ │ ├── editor_plugin_list.h
│ │ ├── editor_plugin_settings.cpp
│ │ ├── editor_plugin_settings.h
│ │ ├── editor_resource_conversion_plugin.cpp
│ │ ├── editor_resource_conversion_plugin.h
│ │ ├── plugin_config_dialog.cpp
│ │ └── plugin_config_dialog.h
│ ├── project_manager/
│ │ ├── SCsub
│ │ ├── engine_update_label.cpp
│ │ ├── engine_update_label.h
│ │ ├── project_dialog.cpp
│ │ ├── project_dialog.h
│ │ ├── project_list.cpp
│ │ ├── project_list.h
│ │ ├── project_manager.cpp
│ │ ├── project_manager.h
│ │ ├── project_tag.cpp
│ │ ├── project_tag.h
│ │ ├── quick_settings_dialog.cpp
│ │ └── quick_settings_dialog.h
│ ├── project_upgrade/
│ │ ├── SCsub
│ │ ├── project_converter_3_to_4.cpp
│ │ ├── project_converter_3_to_4.h
│ │ ├── project_upgrade_tool.cpp
│ │ ├── project_upgrade_tool.h
│ │ ├── renames_map_3_to_4.cpp
│ │ └── renames_map_3_to_4.h
│ ├── register_editor_types.cpp
│ ├── register_editor_types.h
│ ├── run/
│ │ ├── SCsub
│ │ ├── editor_run.cpp
│ │ ├── editor_run.h
│ │ ├── editor_run_bar.cpp
│ │ ├── editor_run_bar.h
│ │ ├── editor_run_native.cpp
│ │ ├── editor_run_native.h
│ │ ├── embedded_process.cpp
│ │ ├── embedded_process.h
│ │ ├── game_view_plugin.cpp
│ │ ├── game_view_plugin.h
│ │ ├── run_instances_dialog.cpp
│ │ └── run_instances_dialog.h
│ ├── scene/
│ │ ├── 2d/
│ │ │ ├── SCsub
│ │ │ ├── abstract_polygon_2d_editor.cpp
│ │ │ ├── abstract_polygon_2d_editor.h
│ │ │ ├── camera_2d_editor_plugin.cpp
│ │ │ ├── camera_2d_editor_plugin.h
│ │ │ ├── light_occluder_2d_editor_plugin.cpp
│ │ │ ├── light_occluder_2d_editor_plugin.h
│ │ │ ├── line_2d_editor_plugin.cpp
│ │ │ ├── line_2d_editor_plugin.h
│ │ │ ├── parallax_background_editor_plugin.cpp
│ │ │ ├── parallax_background_editor_plugin.h
│ │ │ ├── particles_2d_editor_plugin.cpp
│ │ │ ├── particles_2d_editor_plugin.h
│ │ │ ├── path_2d_editor_plugin.cpp
│ │ │ ├── path_2d_editor_plugin.h
│ │ │ ├── physics/
│ │ │ │ ├── SCsub
│ │ │ │ ├── cast_2d_editor_plugin.cpp
│ │ │ │ ├── cast_2d_editor_plugin.h
│ │ │ │ ├── collision_polygon_2d_editor_plugin.cpp
│ │ │ │ ├── collision_polygon_2d_editor_plugin.h
│ │ │ │ ├── collision_shape_2d_editor_plugin.cpp
│ │ │ │ └── collision_shape_2d_editor_plugin.h
│ │ │ ├── polygon_2d_editor_plugin.cpp
│ │ │ ├── polygon_2d_editor_plugin.h
│ │ │ ├── scene_paint_2d_editor_plugin.cpp
│ │ │ ├── scene_paint_2d_editor_plugin.h
│ │ │ ├── skeleton_2d_editor_plugin.cpp
│ │ │ ├── skeleton_2d_editor_plugin.h
│ │ │ ├── sprite_2d_editor_plugin.cpp
│ │ │ ├── sprite_2d_editor_plugin.h
│ │ │ └── tiles/
│ │ │ ├── SCsub
│ │ │ ├── atlas_merging_dialog.cpp
│ │ │ ├── atlas_merging_dialog.h
│ │ │ ├── tile_atlas_view.cpp
│ │ │ ├── tile_atlas_view.h
│ │ │ ├── tile_data_editors.cpp
│ │ │ ├── tile_data_editors.h
│ │ │ ├── tile_map_layer_editor.cpp
│ │ │ ├── tile_map_layer_editor.h
│ │ │ ├── tile_proxies_manager_dialog.cpp
│ │ │ ├── tile_proxies_manager_dialog.h
│ │ │ ├── tile_set_atlas_source_editor.cpp
│ │ │ ├── tile_set_atlas_source_editor.h
│ │ │ ├── tile_set_editor.cpp
│ │ │ ├── tile_set_editor.h
│ │ │ ├── tile_set_scenes_collection_source_editor.cpp
│ │ │ ├── tile_set_scenes_collection_source_editor.h
│ │ │ ├── tiles_editor_plugin.cpp
│ │ │ └── tiles_editor_plugin.h
│ │ ├── 3d/
│ │ │ ├── SCsub
│ │ │ ├── bone_map_editor_plugin.cpp
│ │ │ ├── bone_map_editor_plugin.h
│ │ │ ├── camera_3d_editor_plugin.cpp
│ │ │ ├── camera_3d_editor_plugin.h
│ │ │ ├── gizmos/
│ │ │ │ ├── SCsub
│ │ │ │ ├── audio_listener_3d_gizmo_plugin.cpp
│ │ │ │ ├── audio_listener_3d_gizmo_plugin.h
│ │ │ │ ├── audio_stream_player_3d_gizmo_plugin.cpp
│ │ │ │ ├── audio_stream_player_3d_gizmo_plugin.h
│ │ │ │ ├── camera_3d_gizmo_plugin.cpp
│ │ │ │ ├── camera_3d_gizmo_plugin.h
│ │ │ │ ├── chain_ik_3d_gizmo_plugin.cpp
│ │ │ │ ├── chain_ik_3d_gizmo_plugin.h
│ │ │ │ ├── cpu_particles_3d_gizmo_plugin.cpp
│ │ │ │ ├── cpu_particles_3d_gizmo_plugin.h
│ │ │ │ ├── decal_gizmo_plugin.cpp
│ │ │ │ ├── decal_gizmo_plugin.h
│ │ │ │ ├── fog_volume_gizmo_plugin.cpp
│ │ │ │ ├── fog_volume_gizmo_plugin.h
│ │ │ │ ├── geometry_instance_3d_gizmo_plugin.cpp
│ │ │ │ ├── geometry_instance_3d_gizmo_plugin.h
│ │ │ │ ├── gizmo_3d_helper.cpp
│ │ │ │ ├── gizmo_3d_helper.h
│ │ │ │ ├── gpu_particles_3d_gizmo_plugin.cpp
│ │ │ │ ├── gpu_particles_3d_gizmo_plugin.h
│ │ │ │ ├── gpu_particles_collision_3d_gizmo_plugin.cpp
│ │ │ │ ├── gpu_particles_collision_3d_gizmo_plugin.h
│ │ │ │ ├── label_3d_gizmo_plugin.cpp
│ │ │ │ ├── label_3d_gizmo_plugin.h
│ │ │ │ ├── light_3d_gizmo_plugin.cpp
│ │ │ │ ├── light_3d_gizmo_plugin.h
│ │ │ │ ├── lightmap_gi_gizmo_plugin.cpp
│ │ │ │ ├── lightmap_gi_gizmo_plugin.h
│ │ │ │ ├── lightmap_probe_gizmo_plugin.cpp
│ │ │ │ ├── lightmap_probe_gizmo_plugin.h
│ │ │ │ ├── marker_3d_gizmo_plugin.cpp
│ │ │ │ ├── marker_3d_gizmo_plugin.h
│ │ │ │ ├── mesh_instance_3d_gizmo_plugin.cpp
│ │ │ │ ├── mesh_instance_3d_gizmo_plugin.h
│ │ │ │ ├── occluder_instance_3d_gizmo_plugin.cpp
│ │ │ │ ├── occluder_instance_3d_gizmo_plugin.h
│ │ │ │ ├── particles_3d_emission_shape_gizmo_plugin.cpp
│ │ │ │ ├── particles_3d_emission_shape_gizmo_plugin.h
│ │ │ │ ├── physics/
│ │ │ │ │ ├── SCsub
│ │ │ │ │ ├── collision_object_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── collision_object_3d_gizmo_plugin.h
│ │ │ │ │ ├── collision_polygon_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── collision_polygon_3d_gizmo_plugin.h
│ │ │ │ │ ├── collision_shape_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── collision_shape_3d_gizmo_plugin.h
│ │ │ │ │ ├── joint_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── joint_3d_gizmo_plugin.h
│ │ │ │ │ ├── physics_bone_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── physics_bone_3d_gizmo_plugin.h
│ │ │ │ │ ├── ray_cast_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── ray_cast_3d_gizmo_plugin.h
│ │ │ │ │ ├── shape_cast_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── shape_cast_3d_gizmo_plugin.h
│ │ │ │ │ ├── soft_body_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── soft_body_3d_gizmo_plugin.h
│ │ │ │ │ ├── spring_arm_3d_gizmo_plugin.cpp
│ │ │ │ │ ├── spring_arm_3d_gizmo_plugin.h
│ │ │ │ │ ├── vehicle_body_3d_gizmo_plugin.cpp
│ │ │ │ │ └── vehicle_body_3d_gizmo_plugin.h
│ │ │ │ ├── reflection_probe_gizmo_plugin.cpp
│ │ │ │ ├── reflection_probe_gizmo_plugin.h
│ │ │ │ ├── spring_bone_3d_gizmo_plugin.cpp
│ │ │ │ ├── spring_bone_3d_gizmo_plugin.h
│ │ │ │ ├── sprite_base_3d_gizmo_plugin.cpp
│ │ │ │ ├── sprite_base_3d_gizmo_plugin.h
│ │ │ │ ├── two_bone_ik_3d_gizmo_plugin.cpp
│ │ │ │ ├── two_bone_ik_3d_gizmo_plugin.h
│ │ │ │ ├── visible_on_screen_notifier_3d_gizmo_plugin.cpp
│ │ │ │ ├── visible_on_screen_notifier_3d_gizmo_plugin.h
│ │ │ │ ├── voxel_gi_gizmo_plugin.cpp
│ │ │ │ └── voxel_gi_gizmo_plugin.h
│ │ │ ├── gpu_particles_collision_sdf_editor_plugin.cpp
│ │ │ ├── gpu_particles_collision_sdf_editor_plugin.h
│ │ │ ├── lightmap_gi_editor_plugin.cpp
│ │ │ ├── lightmap_gi_editor_plugin.h
│ │ │ ├── material_3d_conversion_plugins.cpp
│ │ │ ├── material_3d_conversion_plugins.h
│ │ │ ├── mesh_editor_plugin.cpp
│ │ │ ├── mesh_editor_plugin.h
│ │ │ ├── mesh_instance_3d_editor_plugin.cpp
│ │ │ ├── mesh_instance_3d_editor_plugin.h
│ │ │ ├── mesh_library_editor_plugin.cpp
│ │ │ ├── mesh_library_editor_plugin.h
│ │ │ ├── multimesh_editor_plugin.cpp
│ │ │ ├── multimesh_editor_plugin.h
│ │ │ ├── node_3d_editor_gizmos.cpp
│ │ │ ├── node_3d_editor_gizmos.h
│ │ │ ├── node_3d_editor_plugin.cpp
│ │ │ ├── node_3d_editor_plugin.h
│ │ │ ├── occluder_instance_3d_editor_plugin.cpp
│ │ │ ├── occluder_instance_3d_editor_plugin.h
│ │ │ ├── particles_3d_editor_plugin.cpp
│ │ │ ├── particles_3d_editor_plugin.h
│ │ │ ├── path_3d_editor_plugin.cpp
│ │ │ ├── path_3d_editor_plugin.h
│ │ │ ├── physics/
│ │ │ │ ├── SCsub
│ │ │ │ ├── physical_bone_3d_editor_plugin.cpp
│ │ │ │ └── physical_bone_3d_editor_plugin.h
│ │ │ ├── polygon_3d_editor_plugin.cpp
│ │ │ ├── polygon_3d_editor_plugin.h
│ │ │ ├── root_motion_editor_plugin.cpp
│ │ │ ├── root_motion_editor_plugin.h
│ │ │ ├── skeleton_3d_editor_plugin.cpp
│ │ │ ├── skeleton_3d_editor_plugin.h
│ │ │ ├── skeleton_ik_3d_editor_plugin.cpp
│ │ │ ├── skeleton_ik_3d_editor_plugin.h
│ │ │ ├── voxel_gi_editor_plugin.cpp
│ │ │ └── voxel_gi_editor_plugin.h
│ │ ├── SCsub
│ │ ├── canvas_item_editor_plugin.cpp
│ │ ├── canvas_item_editor_plugin.h
│ │ ├── connections_dialog.cpp
│ │ ├── connections_dialog.h
│ │ ├── curve_editor_plugin.cpp
│ │ ├── curve_editor_plugin.h
│ │ ├── editor_scene_tabs.cpp
│ │ ├── editor_scene_tabs.h
│ │ ├── gradient_editor_plugin.cpp
│ │ ├── gradient_editor_plugin.h
│ │ ├── group_settings_editor.cpp
│ │ ├── group_settings_editor.h
│ │ ├── gui/
│ │ │ ├── SCsub
│ │ │ ├── control_editor_plugin.cpp
│ │ │ ├── control_editor_plugin.h
│ │ │ ├── font_config_plugin.cpp
│ │ │ ├── font_config_plugin.h
│ │ │ ├── margin_container_editor_plugin.cpp
│ │ │ ├── margin_container_editor_plugin.h
│ │ │ ├── style_box_editor_plugin.cpp
│ │ │ ├── style_box_editor_plugin.h
│ │ │ ├── theme_editor_plugin.cpp
│ │ │ ├── theme_editor_plugin.h
│ │ │ ├── theme_editor_preview.cpp
│ │ │ ├── theme_editor_preview.h
│ │ │ ├── virtual_joystick_editor_plugin.cpp
│ │ │ └── virtual_joystick_editor_plugin.h
│ │ ├── material_editor_plugin.cpp
│ │ ├── material_editor_plugin.h
│ │ ├── packed_scene_editor_plugin.cpp
│ │ ├── packed_scene_editor_plugin.h
│ │ ├── particle_process_material_editor_plugin.cpp
│ │ ├── particle_process_material_editor_plugin.h
│ │ ├── particles_editor_plugin.cpp
│ │ ├── particles_editor_plugin.h
│ │ ├── rename_dialog.cpp
│ │ ├── rename_dialog.h
│ │ ├── reparent_dialog.cpp
│ │ ├── reparent_dialog.h
│ │ ├── resource_preloader_editor_plugin.cpp
│ │ ├── resource_preloader_editor_plugin.h
│ │ ├── scene_create_dialog.cpp
│ │ ├── scene_create_dialog.h
│ │ ├── scene_tree_editor.cpp
│ │ ├── scene_tree_editor.h
│ │ ├── sprite_frames_editor_plugin.cpp
│ │ ├── sprite_frames_editor_plugin.h
│ │ └── texture/
│ │ ├── SCsub
│ │ ├── bit_map_editor_plugin.cpp
│ │ ├── bit_map_editor_plugin.h
│ │ ├── color_channel_selector.cpp
│ │ ├── color_channel_selector.h
│ │ ├── gradient_texture_2d_editor_plugin.cpp
│ │ ├── gradient_texture_2d_editor_plugin.h
│ │ ├── texture_3d_editor_plugin.cpp
│ │ ├── texture_3d_editor_plugin.h
│ │ ├── texture_editor_plugin.cpp
│ │ ├── texture_editor_plugin.h
│ │ ├── texture_layered_editor_plugin.cpp
│ │ ├── texture_layered_editor_plugin.h
│ │ ├── texture_region_editor_plugin.cpp
│ │ └── texture_region_editor_plugin.h
│ ├── script/
│ │ ├── SCsub
│ │ ├── editor_script.cpp
│ │ ├── editor_script.h
│ │ ├── editor_script_plugin.cpp
│ │ ├── editor_script_plugin.h
│ │ ├── find_in_files.cpp
│ │ ├── find_in_files.h
│ │ ├── script_create_dialog.cpp
│ │ ├── script_create_dialog.h
│ │ ├── script_editor_base.cpp
│ │ ├── script_editor_base.h
│ │ ├── script_editor_plugin.cpp
│ │ ├── script_editor_plugin.h
│ │ ├── script_text_editor.cpp
│ │ ├── script_text_editor.h
│ │ ├── syntax_highlighters.cpp
│ │ ├── syntax_highlighters.h
│ │ ├── text_editor.cpp
│ │ └── text_editor.h
│ ├── settings/
│ │ ├── SCsub
│ │ ├── action_map_editor.cpp
│ │ ├── action_map_editor.h
│ │ ├── editor_autoload_settings.cpp
│ │ ├── editor_autoload_settings.h
│ │ ├── editor_build_profile.cpp
│ │ ├── editor_build_profile.h
│ │ ├── editor_command_palette.cpp
│ │ ├── editor_command_palette.h
│ │ ├── editor_event_search_bar.cpp
│ │ ├── editor_event_search_bar.h
│ │ ├── editor_feature_profile.cpp
│ │ ├── editor_feature_profile.h
│ │ ├── editor_folding.cpp
│ │ ├── editor_folding.h
│ │ ├── editor_layouts_dialog.cpp
│ │ ├── editor_layouts_dialog.h
│ │ ├── editor_settings.cpp
│ │ ├── editor_settings.h
│ │ ├── editor_settings_dialog.cpp
│ │ ├── editor_settings_dialog.h
│ │ ├── event_listener_line_edit.cpp
│ │ ├── event_listener_line_edit.h
│ │ ├── input_event_configuration_dialog.cpp
│ │ ├── input_event_configuration_dialog.h
│ │ ├── project_settings_editor.cpp
│ │ └── project_settings_editor.h
│ ├── shader/
│ │ ├── SCsub
│ │ ├── editor_native_shader_source_visualizer.cpp
│ │ ├── editor_native_shader_source_visualizer.h
│ │ ├── editor_shader_language_plugin.cpp
│ │ ├── editor_shader_language_plugin.h
│ │ ├── shader_baker/
│ │ │ ├── SCsub
│ │ │ ├── shader_baker_export_plugin_platform_d3d12.cpp
│ │ │ ├── shader_baker_export_plugin_platform_d3d12.h
│ │ │ ├── shader_baker_export_plugin_platform_metal.cpp
│ │ │ ├── shader_baker_export_plugin_platform_metal.h
│ │ │ ├── shader_baker_export_plugin_platform_vulkan.cpp
│ │ │ └── shader_baker_export_plugin_platform_vulkan.h
│ │ ├── shader_create_dialog.cpp
│ │ ├── shader_create_dialog.h
│ │ ├── shader_editor.h
│ │ ├── shader_editor_plugin.cpp
│ │ ├── shader_editor_plugin.h
│ │ ├── shader_file_editor_plugin.cpp
│ │ ├── shader_file_editor_plugin.h
│ │ ├── shader_globals_editor.cpp
│ │ ├── shader_globals_editor.h
│ │ ├── text_shader_editor.cpp
│ │ ├── text_shader_editor.h
│ │ ├── text_shader_language_plugin.cpp
│ │ ├── text_shader_language_plugin.h
│ │ ├── visual_shader_editor_plugin.cpp
│ │ ├── visual_shader_editor_plugin.h
│ │ ├── visual_shader_language_plugin.cpp
│ │ └── visual_shader_language_plugin.h
│ ├── template_builders.py
│ ├── themes/
│ │ ├── SCsub
│ │ ├── editor_color_map.cpp
│ │ ├── editor_color_map.h
│ │ ├── editor_fonts.cpp
│ │ ├── editor_fonts.h
│ │ ├── editor_icons.cpp
│ │ ├── editor_icons.h
│ │ ├── editor_scale.cpp
│ │ ├── editor_scale.h
│ │ ├── editor_theme.cpp
│ │ ├── editor_theme.h
│ │ ├── editor_theme_builders.py
│ │ ├── editor_theme_manager.cpp
│ │ ├── editor_theme_manager.h
│ │ ├── theme_classic.cpp
│ │ ├── theme_classic.h
│ │ ├── theme_modern.cpp
│ │ └── theme_modern.h
│ ├── translations/
│ │ ├── SCsub
│ │ ├── editor/
│ │ │ ├── ar.po
│ │ │ ├── bg.po
│ │ │ ├── bn.po
│ │ │ ├── ca.po
│ │ │ ├── cs.po
│ │ │ ├── de.po
│ │ │ ├── el.po
│ │ │ ├── eo.po
│ │ │ ├── es.po
│ │ │ ├── es_AR.po
│ │ │ ├── et.po
│ │ │ ├── fa.po
│ │ │ ├── fi.po
│ │ │ ├── fr.po
│ │ │ ├── ga.po
│ │ │ ├── gl.po
│ │ │ ├── he.po
│ │ │ ├── hu.po
│ │ │ ├── id.po
│ │ │ ├── it.po
│ │ │ ├── ja.po
│ │ │ ├── ka.po
│ │ │ ├── ko.po
│ │ │ ├── lv.po
│ │ │ ├── ms.po
│ │ │ ├── nl.po
│ │ │ ├── pl.po
│ │ │ ├── pt.po
│ │ │ ├── pt_BR.po
│ │ │ ├── ro.po
│ │ │ ├── ru.po
│ │ │ ├── sk.po
│ │ │ ├── sv.po
│ │ │ ├── ta.po
│ │ │ ├── th.po
│ │ │ ├── tok.po
│ │ │ ├── tr.po
│ │ │ ├── uk.po
│ │ │ ├── vi.po
│ │ │ ├── zh_Hans.po
│ │ │ └── zh_Hant.po
│ │ ├── editor_locale_dialog.cpp
│ │ ├── editor_locale_dialog.h
│ │ ├── editor_translation.cpp
│ │ ├── editor_translation.h
│ │ ├── editor_translation_parser.cpp
│ │ ├── editor_translation_parser.h
│ │ ├── editor_translation_preview_button.cpp
│ │ ├── editor_translation_preview_button.h
│ │ ├── editor_translation_preview_menu.cpp
│ │ ├── editor_translation_preview_menu.h
│ │ ├── extractable/
│ │ │ ├── ar.po
│ │ │ ├── bg.po
│ │ │ ├── ca.po
│ │ │ ├── cs.po
│ │ │ ├── de.po
│ │ │ ├── el.po
│ │ │ ├── eo.po
│ │ │ ├── es.po
│ │ │ ├── es_AR.po
│ │ │ ├── et.po
│ │ │ ├── extractable.pot
│ │ │ ├── fa.po
│ │ │ ├── fi.po
│ │ │ ├── fr.po
│ │ │ ├── gl.po
│ │ │ ├── he.po
│ │ │ ├── hu.po
│ │ │ ├── id.po
│ │ │ ├── it.po
│ │ │ ├── ja.po
│ │ │ ├── ko.po
│ │ │ ├── lv.po
│ │ │ ├── ms.po
│ │ │ ├── nl.po
│ │ │ ├── pl.po
│ │ │ ├── pt.po
│ │ │ ├── pt_BR.po
│ │ │ ├── ru.po
│ │ │ ├── sk.po
│ │ │ ├── sv.po
│ │ │ ├── th.po
│ │ │ ├── tl.po
│ │ │ ├── tr.po
│ │ │ ├── uk.po
│ │ │ ├── vi.po
│ │ │ ├── zh_Hans.po
│ │ │ └── zh_Hant.po
│ │ ├── localization_editor.cpp
│ │ ├── localization_editor.h
│ │ ├── packed_scene_translation_parser_plugin.cpp
│ │ ├── packed_scene_translation_parser_plugin.h
│ │ ├── properties/
│ │ │ ├── bg.po
│ │ │ ├── cs.po
│ │ │ ├── de.po
│ │ │ ├── es.po
│ │ │ ├── et.po
│ │ │ ├── fa.po
│ │ │ ├── fr.po
│ │ │ ├── ga.po
│ │ │ ├── hi.po
│ │ │ ├── id.po
│ │ │ ├── it.po
│ │ │ ├── ja.po
│ │ │ ├── ka.po
│ │ │ ├── ko.po
│ │ │ ├── pl.po
│ │ │ ├── pt.po
│ │ │ ├── pt_BR.po
│ │ │ ├── ru.po
│ │ │ ├── sv.po
│ │ │ ├── ta.po
│ │ │ ├── tr.po
│ │ │ ├── uk.po
│ │ │ ├── vi.po
│ │ │ ├── zh_Hans.po
│ │ │ └── zh_Hant.po
│ │ ├── template_generator.cpp
│ │ └── template_generator.h
│ └── version_control/
│ ├── SCsub
│ ├── editor_vcs_interface.cpp
│ ├── editor_vcs_interface.h
│ ├── version_control_editor_plugin.cpp
│ └── version_control_editor_plugin.h
├── gles3_builders.py
├── glsl_builders.py
├── main/
│ ├── SCsub
│ ├── main.cpp
│ ├── main.h
│ ├── main_builders.py
│ ├── main_timer_sync.cpp
│ ├── main_timer_sync.h
│ ├── performance.compat.inc
│ ├── performance.cpp
│ ├── performance.h
│ ├── steam_tracker.cpp
│ └── steam_tracker.h
├── methods.py
├── misc/
│ ├── dist/
│ │ ├── apple_embedded_xcode/
│ │ │ ├── PrivacyInfo.xcprivacy
│ │ │ ├── data.pck
│ │ │ ├── godot_apple_embedded/
│ │ │ │ ├── Images.xcassets/
│ │ │ │ │ └── SplashImage.imageset/
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Launch Screen.storyboard
│ │ │ │ ├── dummy.cpp
│ │ │ │ ├── dummy.h
│ │ │ │ ├── dummy.swift
│ │ │ │ ├── dylibs/
│ │ │ │ │ └── empty
│ │ │ │ ├── en.lproj/
│ │ │ │ │ └── InfoPlist.strings
│ │ │ │ ├── export_options.plist
│ │ │ │ ├── godot_apple_embedded-Info.plist
│ │ │ │ └── godot_apple_embedded.entitlements
│ │ │ ├── godot_apple_embedded.xcodeproj/
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace/
│ │ │ │ │ └── contents.xcworkspacedata
│ │ │ │ └── xcshareddata/
│ │ │ │ └── xcschemes/
│ │ │ │ └── godot_apple_embedded.xcscheme
│ │ │ ├── libgodot.ios.debug.xcframework/
│ │ │ │ ├── Info.plist
│ │ │ │ ├── ios-arm64/
│ │ │ │ │ └── empty
│ │ │ │ └── ios-arm64_x86_64-simulator/
│ │ │ │ └── empty
│ │ │ ├── libgodot.ios.release.xcframework/
│ │ │ │ ├── Info.plist
│ │ │ │ ├── ios-arm64/
│ │ │ │ │ └── empty
│ │ │ │ └── ios-arm64_x86_64-simulator/
│ │ │ │ └── empty
│ │ │ ├── libgodot.visionos.debug.xcframework/
│ │ │ │ ├── Info.plist
│ │ │ │ ├── xros-arm64/
│ │ │ │ │ └── empty
│ │ │ │ └── xros-arm64-simulator/
│ │ │ │ └── empty
│ │ │ ├── libgodot.visionos.release.xcframework/
│ │ │ │ ├── Info.plist
│ │ │ │ ├── xros-arm64/
│ │ │ │ │ └── empty
│ │ │ │ └── xros-arm64-simulator/
│ │ │ │ └── empty
│ │ │ ├── libgodot_camera.ios.debug.xcframework/
│ │ │ │ ├── Info.plist
│ │ │ │ ├── ios-arm64/
│ │ │ │ │ └── empty
│ │ │ │ └── ios-arm64_x86_64-simulator/
│ │ │ │ └── empty
│ │ │ ├── libgodot_camera.ios.release.xcframework/
│ │ │ │ ├── Info.plist
│ │ │ │ ├── ios-arm64/
│ │ │ │ │ └── empty
│ │ │ │ └── ios-arm64_x86_64-simulator/
│ │ │ │ └── empty
│ │ │ ├── libgodot_camera.visionos.debug.xcframework/
│ │ │ │ ├── Info.plist
│ │ │ │ ├── xros-arm64/
│ │ │ │ │ └── empty
│ │ │ │ └── xros-arm64-simulator/
│ │ │ │ └── empty
│ │ │ └── libgodot_camera.visionos.release.xcframework/
│ │ │ ├── Info.plist
│ │ │ ├── xros-arm64/
│ │ │ │ └── empty
│ │ │ └── xros-arm64-simulator/
│ │ │ └── empty
│ │ ├── html/
│ │ │ ├── editor.html
│ │ │ ├── full-size.html
│ │ │ ├── manifest.json
│ │ │ ├── offline-export.html
│ │ │ ├── offline.html
│ │ │ └── service-worker.js
│ │ ├── linux/
│ │ │ ├── godot.6
│ │ │ ├── org.godotengine.Godot.appdata.xml
│ │ │ ├── org.godotengine.Godot.desktop
│ │ │ └── org.godotengine.Godot.xml
│ │ ├── macos/
│ │ │ ├── GodotLG.icon/
│ │ │ │ └── icon.json
│ │ │ ├── editor.entitlements
│ │ │ ├── editor_debug.entitlements
│ │ │ └── editor_info_plist.template
│ │ ├── macos_template.app/
│ │ │ └── Contents/
│ │ │ ├── Info.plist
│ │ │ ├── PkgInfo
│ │ │ └── Resources/
│ │ │ ├── PrivacyInfo.xcprivacy
│ │ │ └── icon.icns
│ │ ├── macos_tools.app/
│ │ │ └── Contents/
│ │ │ ├── Info.plist
│ │ │ ├── PkgInfo
│ │ │ └── Resources/
│ │ │ ├── Assets.car
│ │ │ ├── GDScript.icns
│ │ │ ├── GodotLG.icns
│ │ │ ├── Project.icns
│ │ │ ├── Resource.icns
│ │ │ ├── Scene.icns
│ │ │ ├── Shader.icns
│ │ │ ├── af.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ar.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── az.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── bg.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── bn.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── br.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ca.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── cs.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── da.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── de.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── el.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── en.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── eo.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── es.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── es_AR.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── et.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── eu.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── fa.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── fi.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── fil.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── fr.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ga.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── gl.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── he.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── hi.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── hr.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── hu.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── id.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── is.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── it.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ja.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ka.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── km.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ko.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── lt.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── lv.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── mi.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── mk.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ml.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── mr.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ms.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── nb.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── nl.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── or.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── pl.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── pt.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── pt_BR.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ro.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ru.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── si.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── sk.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── sl.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── sq.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── sr-Cyrl.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── sr-Latn.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── sv.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ta.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── te.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── th.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── tr.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── tt.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── tzm.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── uk.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── ur_PK.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── vi.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── zh_CN.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ ├── zh_HK.lproj/
│ │ │ │ └── InfoPlist.strings
│ │ │ └── zh_TW.lproj/
│ │ │ └── InfoPlist.strings
│ │ ├── shell/
│ │ │ ├── _godot.zsh-completion
│ │ │ ├── godot.bash-completion
│ │ │ └── godot.fish
│ │ └── windows/
│ │ ├── .gitignore
│ │ ├── README.md
│ │ ├── godot.iss
│ │ └── modpath.pas
│ ├── error_suppressions/
│ │ ├── asan.txt
│ │ ├── lsan.txt
│ │ ├── tsan.txt
│ │ └── ubsan.txt
│ ├── extension_api_validation/
│ │ ├── 4.0-stable_4.1-stable/
│ │ │ ├── GH-64628.txt
│ │ │ ├── GH-69988.txt
│ │ │ ├── GH-72152.txt
│ │ │ ├── GH-72749.txt
│ │ │ ├── GH-72842.txt
│ │ │ ├── GH-74242.txt
│ │ │ ├── GH-74600.txt
│ │ │ ├── GH-74671.txt
│ │ │ ├── GH-74707.txt
│ │ │ ├── GH-74736.txt
│ │ │ ├── GH-75017.txt
│ │ │ ├── GH-75250-76401.txt
│ │ │ ├── GH-75260.txt
│ │ │ ├── GH-75746.txt
│ │ │ ├── GH-75759.txt
│ │ │ ├── GH-75777.txt
│ │ │ ├── GH-76026.txt
│ │ │ ├── GH-76082.txt
│ │ │ ├── GH-76176.txt
│ │ │ ├── GH-76413.txt
│ │ │ ├── GH-76418.txt
│ │ │ ├── GH-76688.txt
│ │ │ ├── GH-76794.txt
│ │ │ ├── GH-77143.txt
│ │ │ ├── GH-77411.txt
│ │ │ ├── GH-77413.txt
│ │ │ ├── GH-77757.txt
│ │ │ ├── GH-78237.txt
│ │ │ └── GH-78517.txt
│ │ ├── 4.1-stable_4.2-stable/
│ │ │ ├── GH-36493.txt
│ │ │ ├── GH-73196.txt
│ │ │ ├── GH-78266.txt
│ │ │ ├── GH-78328.txt
│ │ │ ├── GH-79308.txt
│ │ │ ├── GH-79311.txt
│ │ │ ├── GH-79527.txt
│ │ │ ├── GH-79606.txt
│ │ │ ├── GH-79911.txt
│ │ │ ├── GH-79965.txt
│ │ │ ├── GH-80410.txt
│ │ │ ├── GH-80813.txt
│ │ │ ├── GH-80852.txt
│ │ │ ├── GH-80954.txt
│ │ │ ├── GH-81070.txt
│ │ │ ├── GH-81138.txt
│ │ │ ├── GH-81298.txt
│ │ │ ├── GH-81582.txt
│ │ │ ├── GH-82403.txt
│ │ │ ├── GH-84113.txt
│ │ │ └── GH-84419.txt
│ │ ├── 4.2-stable_4.3-stable/
│ │ │ ├── GH-80214.txt
│ │ │ ├── GH-81746.txt
│ │ │ ├── GH-81996.txt
│ │ │ ├── GH-84472.txt
│ │ │ ├── GH-84523.txt
│ │ │ ├── GH-84660.txt
│ │ │ ├── GH-84792.txt
│ │ │ ├── GH-84906.txt
│ │ │ ├── GH-84976.txt
│ │ │ ├── GH-85393.txt
│ │ │ ├── GH-86158.txt
│ │ │ ├── GH-86629.txt
│ │ │ ├── GH-86687.txt
│ │ │ ├── GH-86907.txt
│ │ │ ├── GH-86978.txt
│ │ │ ├── GH-87115.txt
│ │ │ ├── GH-87340.txt
│ │ │ ├── GH-87668.txt
│ │ │ ├── GH-88014.txt
│ │ │ ├── GH-88047.txt
│ │ │ ├── GH-88081.txt
│ │ │ ├── GH-88418.txt
│ │ │ ├── GH-88791.txt
│ │ │ ├── GH-89024.txt
│ │ │ ├── GH-89419.txt
│ │ │ ├── GH-90575.txt
│ │ │ ├── GH-90645.txt
│ │ │ ├── GH-90732.txt
│ │ │ ├── GH-90747.txt
│ │ │ ├── GH-91098.txt
│ │ │ ├── GH-91143.txt
│ │ │ ├── GH-91382.txt
│ │ │ ├── GH-92322.txt
│ │ │ ├── GH-92861.txt
│ │ │ ├── GH-93982.txt
│ │ │ └── GH-94243.txt
│ │ ├── 4.3-stable_4.4-stable/
│ │ │ ├── GH-100129.txt
│ │ │ ├── GH-100913.txt
│ │ │ ├── GH-101482.txt
│ │ │ ├── GH-101531.txt
│ │ │ ├── GH-101561.txt
│ │ │ ├── GH-102796.txt
│ │ │ ├── GH-78289.txt
│ │ │ ├── GH-88349.txt
│ │ │ ├── GH-90057.txt
│ │ │ ├── GH-90993.txt
│ │ │ ├── GH-91201.txt
│ │ │ ├── GH-92089.txt
│ │ │ ├── GH-93605.txt
│ │ │ ├── GH-94322.txt
│ │ │ ├── GH-94434.txt
│ │ │ ├── GH-94684.txt
│ │ │ ├── GH-95126.txt
│ │ │ ├── GH-95212.txt
│ │ │ ├── GH-95374.txt
│ │ │ ├── GH-95375.txt
│ │ │ ├── GH-97020.txt
│ │ │ ├── GH-97257.txt
│ │ │ ├── GH-97281.txt
│ │ │ ├── GH-97449.txt
│ │ │ ├── GH-98441.txt
│ │ │ ├── GH-98443.txt
│ │ │ ├── GH-98670.txt
│ │ │ ├── GH-98918.txt
│ │ │ ├── GH-98972.txt
│ │ │ ├── GH-99297.txt
│ │ │ ├── GH-99424.txt
│ │ │ ├── GH-99455.txt
│ │ │ └── GH-99481.txt
│ │ ├── 4.4-stable_4.5-stable/
│ │ │ ├── GH-104087.txt
│ │ │ ├── GH-104269.txt
│ │ │ ├── GH-104872.txt
│ │ │ ├── GH-104890.txt
│ │ │ ├── GH-105570.txt
│ │ │ ├── GH-106121.txt
│ │ │ ├── GH-106220.txt
│ │ │ ├── GH-106300.txt
│ │ │ ├── GH-106848.txt
│ │ │ ├── GH-107347.txt
│ │ │ ├── GH-108825.txt
│ │ │ ├── GH-71542.txt
│ │ │ ├── GH-76560.txt
│ │ │ ├── GH-76829.txt
│ │ │ ├── GH-98194.txt
│ │ │ └── GH-98750.txt
│ │ ├── 4.5-stable_4.6-stable/
│ │ │ ├── GH-107167.txt
│ │ │ ├── GH-107954.txt
│ │ │ ├── GH-109302.txt
│ │ │ ├── GH-110120.txt
│ │ │ ├── GH-110250.txt
│ │ │ ├── GH-110433.txt
│ │ │ ├── GH-110767.txt
│ │ │ ├── GH-110867.txt
│ │ │ ├── GH-111117.txt
│ │ │ ├── GH-111212.txt
│ │ │ ├── GH-111439.txt
│ │ │ ├── GH-112290.txt
│ │ │ ├── GH-112379.txt
│ │ │ ├── GH-112539.txt
│ │ │ ├── GH-113172.txt
│ │ │ ├── GH-113459.txt
│ │ │ ├── GH-114053.txt
│ │ │ └── GH-90411.txt
│ │ ├── 4.6-stable/
│ │ │ ├── GH-104736.txt
│ │ │ ├── GH-109004.txt
│ │ │ ├── GH-109892.txt
│ │ │ ├── GH-110369.txt
│ │ │ ├── GH-114355.txt
│ │ │ ├── GH-115799.txt
│ │ │ ├── GH-115946.txt
│ │ │ ├── GH-116394.txt
│ │ │ ├── GH-116839.txt
│ │ │ ├── GH-117149.txt
│ │ │ └── GH-XXXXXX.txt
│ │ └── README.md
│ ├── msvs/
│ │ ├── nmake.substitution.props
│ │ ├── props.template
│ │ ├── sln.template
│ │ ├── vcxproj.filters.template
│ │ └── vcxproj.template
│ ├── scripts/
│ │ ├── char_range_fetch.py
│ │ ├── check_ci_log.py
│ │ ├── copyright_headers.py
│ │ ├── dotnet_format.py
│ │ ├── file_format.py
│ │ ├── gitignore_check.sh
│ │ ├── header_guards.py
│ │ ├── install_accesskit.py
│ │ ├── install_angle.py
│ │ ├── install_d3d12_sdk_windows.py
│ │ ├── install_swappy_android.py
│ │ ├── install_vulkan_sdk_macos.sh
│ │ ├── install_winrt.py
│ │ ├── make_icons.sh
│ │ ├── make_tarball.sh
│ │ ├── purge_cache.py
│ │ ├── ucaps_fetch.py
│ │ ├── unicode_ranges_fetch.py
│ │ ├── validate_codeowners.py
│ │ ├── validate_extension_api.sh
│ │ ├── validate_includes.py
│ │ └── validate_xml.py
│ └── utility/
│ ├── clang_format_glsl.yml
│ ├── color.py
│ ├── godot_gdb_pretty_print.py
│ ├── problem-matchers.json
│ ├── scons_hints.py
│ └── svgo.config.mjs
├── modules/
│ ├── SCsub
│ ├── astcenc/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── image_compress_astcenc.cpp
│ │ ├── image_compress_astcenc.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── basis_universal/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── image_compress_basisu.cpp
│ │ ├── image_compress_basisu.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── bcdec/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── image_decompress_bcdec.cpp
│ │ ├── image_decompress_bcdec.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── betsy/
│ │ ├── LICENSE.Betsy.md
│ │ ├── SCsub
│ │ ├── alpha_stitch.glsl
│ │ ├── bc1.glsl
│ │ ├── bc4.glsl
│ │ ├── bc6h.glsl
│ │ ├── betsy_bc1.h
│ │ ├── config.py
│ │ ├── image_compress_betsy.cpp
│ │ ├── image_compress_betsy.h
│ │ ├── register_types.cpp
│ │ ├── register_types.h
│ │ └── rgb_to_rgba.glsl
│ ├── bmp/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── image_loader_bmp.cpp
│ │ ├── image_loader_bmp.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── camera/
│ │ ├── SCsub
│ │ ├── buffer_decoder.cpp
│ │ ├── buffer_decoder.h
│ │ ├── camera_android.cpp
│ │ ├── camera_android.h
│ │ ├── camera_apple.h
│ │ ├── camera_apple.mm
│ │ ├── camera_feed_linux.cpp
│ │ ├── camera_feed_linux.h
│ │ ├── camera_linux.cpp
│ │ ├── camera_linux.h
│ │ ├── camera_win.cpp
│ │ ├── camera_win.h
│ │ ├── config.py
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── csg/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── csg.cpp
│ │ ├── csg.h
│ │ ├── csg_shape.cpp
│ │ ├── csg_shape.h
│ │ ├── doc_classes/
│ │ │ ├── CSGBox3D.xml
│ │ │ ├── CSGCombiner3D.xml
│ │ │ ├── CSGCylinder3D.xml
│ │ │ ├── CSGMesh3D.xml
│ │ │ ├── CSGPolygon3D.xml
│ │ │ ├── CSGPrimitive3D.xml
│ │ │ ├── CSGShape3D.xml
│ │ │ ├── CSGSphere3D.xml
│ │ │ └── CSGTorus3D.xml
│ │ ├── editor/
│ │ │ ├── csg_gizmos.cpp
│ │ │ └── csg_gizmos.h
│ │ ├── register_types.cpp
│ │ ├── register_types.h
│ │ └── tests/
│ │ └── test_csg.h
│ ├── cvtt/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── image_compress_cvtt.cpp
│ │ ├── image_compress_cvtt.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── dds/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── dds_enums.h
│ │ ├── image_saver_dds.cpp
│ │ ├── image_saver_dds.h
│ │ ├── register_types.cpp
│ │ ├── register_types.h
│ │ ├── tests/
│ │ │ └── test_dds.h
│ │ ├── texture_loader_dds.cpp
│ │ └── texture_loader_dds.h
│ ├── enet/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── doc_classes/
│ │ │ ├── ENetConnection.xml
│ │ │ ├── ENetMultiplayerPeer.xml
│ │ │ └── ENetPacketPeer.xml
│ │ ├── enet_connection.cpp
│ │ ├── enet_connection.h
│ │ ├── enet_multiplayer_peer.cpp
│ │ ├── enet_multiplayer_peer.h
│ │ ├── enet_packet_peer.cpp
│ │ ├── enet_packet_peer.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── etcpak/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── image_compress_etcpak.cpp
│ │ ├── image_compress_etcpak.h
│ │ ├── image_decompress_etcpak.cpp
│ │ ├── image_decompress_etcpak.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── fbx/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── doc_classes/
│ │ │ ├── EditorSceneFormatImporterFBX2GLTF.xml
│ │ │ ├── EditorSceneFormatImporterUFBX.xml
│ │ │ ├── FBXDocument.xml
│ │ │ └── FBXState.xml
│ │ ├── editor/
│ │ │ ├── editor_scene_importer_fbx2gltf.cpp
│ │ │ ├── editor_scene_importer_fbx2gltf.h
│ │ │ ├── editor_scene_importer_ufbx.cpp
│ │ │ └── editor_scene_importer_ufbx.h
│ │ ├── extensions/
│ │ │ └── SCsub
│ │ ├── fbx_document.cpp
│ │ ├── fbx_document.h
│ │ ├── fbx_state.cpp
│ │ ├── fbx_state.h
│ │ ├── register_types.cpp
│ │ └── register_types.h
│ ├── freetype/
│ │ ├── SCsub
│ │ ├── config.py
│ │ └── register_types.h
│ ├── gdscript/
│ │ ├── README.md
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── doc_classes/
│ │ │ ├── @GDScript.xml
│ │ │ ├── GDScript.xml
│ │ │ ├── GDScriptLanguageProtocol.xml
│ │ │ ├── GDScriptSyntaxHighlighter.xml
│ │ │ ├── GDScriptTextDocument.xml
│ │ │ └── GDScriptWorkspace.xml
│ │ ├── editor/
│ │ │ ├── gdscript_docgen.cpp
│ │ │ ├── gdscript_docgen.h
│ │ │ ├── gdscript_highlighter.cpp
│ │ │ ├── gdscript_highlighter.h
│ │ │ ├── gdscript_translation_parser_plugin.cpp
│ │ │ ├── gdscript_translation_parser_plugin.h
│ │ │ └── script_templates/
│ │ │ ├── CharacterBody2D/
│ │ │ │ └── basic_movement.gd
│ │ │ ├── CharacterBody3D/
│ │ │ │ └── basic_movement.gd
│ │ │ ├── EditorPlugin/
│ │ │ │ └── plugin.gd
│ │ │ ├── EditorScenePostImport/
│ │ │ │ ├── basic_import_script.gd
│ │ │ │ └── no_comments.gd
│ │ │ ├── EditorScript/
│ │ │ │ └── basic_editor_script.gd
│ │ │ ├── Node/
│ │ │ │ └── default.gd
│ │ │ ├── Object/
│ │ │ │ └── empty.gd
│ │ │ ├── RichTextEffect/
│ │ │ │ └── default.gd
│ │ │ ├── SCsub
│ │ │ └── VisualShaderNodeCustom/
│ │ │ └── basic.gd
│ │ ├── gdscript.cpp
│ │ ├── gdscript.h
│ │ ├── gdscript_analyzer.cpp
│ │ ├── gdscript_analyzer.h
│ │ ├── gdscript_byte_codegen.cpp
│ │ ├── gdscript_byte_codegen.h
│ │ ├── gdscript_cache.cpp
│ │ ├── gdscript_cache.h
│ │ ├── gdscript_codegen.h
│ │ ├── gdscript_compiler.cpp
│ │ ├── gdscript_compiler.h
│ │ ├── gdscript_disassembler.cpp
│ │ ├── gdscript_editor.cpp
│ │ ├── gdscript_function.cpp
│ │ ├── gdscript_function.h
│ │ ├── gdscript_lambda_callable.cpp
│ │ ├── gdscript_lambda_callable.h
│ │ ├── gdscript_parser.cpp
│ │ ├── gdscript_parser.h
│ │ ├── gdscript_resource_format.cpp
│ │ ├── gdscript_resource_format.h
│ │ ├── gdscript_rpc_callable.cpp
│ │ ├── gdscript_rpc_callable.h
│ │ ├── gdscript_tokenizer.cpp
│ │ ├── gdscript_tokenizer.h
│ │ ├── gdscript_tokenizer_buffer.cpp
│ │ ├── gdscript_tokenizer_buffer.h
│ │ ├── gdscript_utility_callable.cpp
│ │ ├── gdscript_utility_callable.h
│ │ ├── gdscript_utility_functions.cpp
│ │ ├── gdscript_utility_functions.h
│ │ ├── gdscript_vm.cpp
│ │ ├── gdscript_warning.cpp
│ │ ├── gdscript_warning.h
│ │ ├── language_server/
│ │ │ ├── gdscript_extend_parser.cpp
│ │ │ ├── gdscript_extend_parser.h
│ │ │ ├── gdscript_language_protocol.cpp
│ │ │ ├── gdscript_language_protocol.h
│ │ │ ├── gdscript_language_server.cpp
│ │ │ ├── gdscript_language_server.h
│ │ │ ├── gdscript_text_document.cpp
│ │ │ ├── gdscript_text_document.h
│ │ │ ├── gdscript_workspace.cpp
│ │ │ ├── gdscript_workspace.h
│ │ │ ├── godot_lsp.h
│ │ │ ├── scene_cache.cpp
│ │ │ └── scene_cache.h
│ │ ├── register_types.cpp
│ │ ├── register_types.h
│ │ └── tests/
│ │ ├── README.md
│ │ ├── gdscript_test_runner.cpp
│ │ ├── gdscript_test_runner.h
│ │ ├── gdscript_test_runner_suite.h
│ │ ├── scripts/
│ │ │ ├── .editorconfig
│ │ │ ├── .gitignore
│ │ │ ├── analyzer/
│ │ │ │ ├── errors/
│ │ │ │ │ ├── abstract_class_instantiate.gd
│ │ │ │ │ ├── abstract_class_instantiate.out
│ │ │ │ │ ├── abstract_methods.gd
│ │ │ │ │ ├── abstract_methods.out
│ │ │ │ │ ├── annotation_non_constant_parameter.gd
│ │ │ │ │ ├── annotation_non_constant_parameter.out
│ │ │ │ │ ├── assign_enum.gd
│ │ │ │ │ ├── assign_enum.out
│ │ │ │ │ ├── assign_named_enum.gd
│ │ │ │ │ ├── assign_named_enum.out
│ │ │ │ │ ├── assign_signal.gd
│ │ │ │ │ ├── assign_signal.out
│ │ │ │ │ ├── assign_to_read_only_property.gd
│ │ │ │ │ ├── assign_to_read_only_property.out
│ │ │ │ │ ├── assign_to_read_only_property_indirectly.gd
│ │ │ │ │ ├── assign_to_read_only_property_indirectly.out
│ │ │ │ │ ├── assymetric_assignment_bad.gd
│ │ │ │ │ ├── assymetric_assignment_bad.out
│ │ │ │ │ ├── await_signal_no_infer.gd
│ │ │ │ │ ├── await_signal_no_infer.out
│ │ │ │ │ ├── bitwise_float_left_operand.gd
│ │ │ │ │ ├── bitwise_float_left_operand.out
│ │ │ │ │ ├── bitwise_float_right_operand.gd
│ │ │ │ │ ├── bitwise_float_right_operand.out
│ │ │ │ │ ├── call_not_existing_static_method.gd
│ │ │ │ │ ├── call_not_existing_static_method.out
│ │ │ │ │ ├── cast_int_to_array.gd
│ │ │ │ │ ├── cast_int_to_array.out
│ │ │ │ │ ├── cast_int_to_object.gd
│ │ │ │ │ ├── cast_int_to_object.out
│ │ │ │ │ ├── cast_object_to_int.gd
│ │ │ │ │ ├── cast_object_to_int.out
│ │ │ │ │ ├── class_name_shadows_builtin_type.gd
│ │ │ │ │ ├── class_name_shadows_builtin_type.out
│ │ │ │ │ ├── constant_array_index_assign.gd
│ │ │ │ │ ├── constant_array_index_assign.out
│ │ │ │ │ ├── constant_dictionary_index_assign.gd
│ │ │ │ │ ├── constant_dictionary_index_assign.out
│ │ │ │ │ ├── constant_name_shadows_builtin_type.gd
│ │ │ │ │ ├── constant_name_shadows_builtin_type.out
│ │ │ │ │ ├── constant_subscript_type.gd
│ │ │ │ │ ├── constant_subscript_type.out
│ │ │ │ │ ├── constant_used_as_function.gd
│ │ │ │ │ ├── constant_used_as_function.out
│ │ │ │ │ ├── construct_abstract_class.gd
│ │ │ │ │ ├── construct_abstract_class.out
│ │ │ │ │ ├── construct_abstract_script.notest.gd
│ │ │ │ │ ├── constructor_call_type.gd
│ │ │ │ │ ├── constructor_call_type.out
│ │ │ │ │ ├── cyclic_inheritance.gd
│ │ │ │ │ ├── cyclic_inheritance.out
│ │ │ │ │ ├── cyclic_ref_const.gd
│ │ │ │ │ ├── cyclic_ref_const.out
│ │ │ │ │ ├── cyclic_ref_enum.gd
│ │ │ │ │ ├── cyclic_ref_enum.out
│ │ │ │ │ ├── cyclic_ref_enum_value.gd
│ │ │ │ │ ├── cyclic_ref_enum_value.out
│ │ │ │ │ ├── cyclic_ref_external.gd
│ │ │ │ │ ├── cyclic_ref_external.out
│ │ │ │ │ ├── cyclic_ref_external_a.notest.gd
│ │ │ │ │ ├── cyclic_ref_func.gd
│ │ │ │ │ ├── cyclic_ref_func.out
│ │ │ │ │ ├── cyclic_ref_override.gd
│ │ │ │ │ ├── cyclic_ref_override.out
│ │ │ │ │ ├── cyclic_ref_var.gd
│ │ │ │ │ ├── cyclic_ref_var.out
│ │ │ │ │ ├── cyclic_ref_var_self.gd
│ │ │ │ │ ├── cyclic_ref_var_self.out
│ │ │ │ │ ├── dictionary_duplicate_key_lua.gd
│ │ │ │ │ ├── dictionary_duplicate_key_lua.out
│ │ │ │ │ ├── dictionary_duplicate_key_lua_with_string.gd
│ │ │ │ │ ├── dictionary_duplicate_key_lua_with_string.out
│ │ │ │ │ ├── dictionary_duplicate_key_python.gd
│ │ │ │ │ ├── dictionary_duplicate_key_python.out
│ │ │ │ │ ├── dictionary_string_stringname_equivalent.gd
│ │ │ │ │ ├── dictionary_string_stringname_equivalent.out
│ │ │ │ │ ├── engine_singleton_instantiate.gd
│ │ │ │ │ ├── engine_singleton_instantiate.out
│ │ │ │ │ ├── enum_bad_method.gd
│ │ │ │ │ ├── enum_bad_method.out
│ │ │ │ │ ├── enum_bad_value.gd
│ │ │ │ │ ├── enum_bad_value.out
│ │ │ │ │ ├── enum_builtin_access.gd
│ │ │ │ │ ├── enum_builtin_access.out
│ │ │ │ │ ├── enum_class_var_assign_with_wrong_enum_type.gd
│ │ │ │ │ ├── enum_class_var_assign_with_wrong_enum_type.out
│ │ │ │ │ ├── enum_class_var_init_with_wrong_enum_type.gd
│ │ │ │ │ ├── enum_class_var_init_with_wrong_enum_type.out
│ │ │ │ │ ├── enum_duplicate_bad_method.gd
│ │ │ │ │ ├── enum_duplicate_bad_method.out
│ │ │ │ │ ├── enum_float_value.gd
│ │ │ │ │ ├── enum_float_value.out
│ │ │ │ │ ├── enum_function_parameter_wrong_type.gd
│ │ │ │ │ ├── enum_function_parameter_wrong_type.out
│ │ │ │ │ ├── enum_function_return_wrong_type.gd
│ │ │ │ │ ├── enum_function_return_wrong_type.out
│ │ │ │ │ ├── enum_global_access.gd
│ │ │ │ │ ├── enum_global_access.out
│ │ │ │ │ ├── enum_local_var_assign_outer_with_wrong_enum_type.gd
│ │ │ │ │ ├── enum_local_var_assign_outer_with_wrong_enum_type.out
│ │ │ │ │ ├── enum_local_var_assign_with_wrong_enum_type.gd
│ │ │ │ │ ├── enum_local_var_assign_with_wrong_enum_type.out
│ │ │ │ │ ├── enum_local_var_init_with_wrong_enum_type.gd
│ │ │ │ │ ├── enum_local_var_init_with_wrong_enum_type.out
│ │ │ │ │ ├── enum_name_shadows_builtin_type.gd
│ │ │ │ │ ├── enum_name_shadows_builtin_type.out
│ │ │ │ │ ├── enum_native_access.gd
│ │ │ │ │ ├── enum_native_access.out
│ │ │ │ │ ├── enum_native_bad_value.gd
│ │ │ │ │ ├── enum_native_bad_value.out
│ │ │ │ │ ├── enum_preload_unnamed_assign_to_named.gd
│ │ │ │ │ ├── enum_preload_unnamed_assign_to_named.out
│ │ │ │ │ ├── enum_shadows_base_enum.gd
│ │ │ │ │ ├── enum_shadows_base_enum.out
│ │ │ │ │ ├── enum_string_value.gd
│ │ │ │ │ ├── enum_string_value.out
│ │ │ │ │ ├── enum_unnamed_assign_to_named.gd
│ │ │ │ │ ├── enum_unnamed_assign_to_named.out
│ │ │ │ │ ├── export_node_in_non_node_derived_class_1.gd
│ │ │ │ │ ├── export_node_in_non_node_derived_class_1.out
│ │ │ │ │ ├── export_node_in_non_node_derived_class_2.gd
│ │ │ │ │ ├── export_node_in_non_node_derived_class_2.out
│ │ │ │ │ ├── export_node_in_non_node_derived_class_3.gd
│ │ │ │ │ ├── export_node_in_non_node_derived_class_3.out
│ │ │ │ │ ├── extend_engine_singleton.gd
│ │ │ │ │ ├── extend_engine_singleton.out
│ │ │ │ │ ├── extend_non_class_constant_1.gd
│ │ │ │ │ ├── extend_non_class_constant_1.out
│ │ │ │ │ ├── extend_non_class_constant_2.gd
│ │ │ │ │ ├── extend_non_class_constant_2.out
│ │ │ │ │ ├── extend_non_gdscript_nested.gd
│ │ │ │ │ ├── extend_non_gdscript_nested.out
│ │ │ │ │ ├── extend_unknown.gd
│ │ │ │ │ ├── extend_unknown.out
│ │ │ │ │ ├── extend_variable.gd
│ │ │ │ │ ├── extend_variable.out
│ │ │ │ │ ├── for_loop_on_constant_float.gd
│ │ │ │ │ ├── for_loop_on_constant_float.out
│ │ │ │ │ ├── for_loop_on_constant_int.gd
│ │ │ │ │ ├── for_loop_on_constant_int.out
│ │ │ │ │ ├── for_loop_on_enum_value.gd
│ │ │ │ │ ├── for_loop_on_enum_value.out
│ │ │ │ │ ├── for_loop_on_hard_float.gd
│ │ │ │ │ ├── for_loop_on_hard_float.out
│ │ │ │ │ ├── for_loop_on_hard_int.gd
│ │ │ │ │ ├── for_loop_on_hard_int.out
│ │ │ │ │ ├── for_loop_on_hard_iterator.gd
│ │ │ │ │ ├── for_loop_on_hard_iterator.out
│ │ │ │ │ ├── for_loop_on_hard_string.gd
│ │ │ │ │ ├── for_loop_on_hard_string.out
│ │ │ │ │ ├── for_loop_on_literal_bool.gd
│ │ │ │ │ ├── for_loop_on_literal_bool.out
│ │ │ │ │ ├── for_loop_on_literal_int.gd
│ │ │ │ │ ├── for_loop_on_literal_int.out
│ │ │ │ │ ├── for_loop_wrong_specified_type.gd
│ │ │ │ │ ├── for_loop_wrong_specified_type.out
│ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_array.gd
│ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_array.out
│ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_dictionary.gd
│ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_dictionary.out
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_less.gd
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_less.out
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_more.gd
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_more.out
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_default_values.gd
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_default_values.out
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_type.gd
│ │ │ │ │ ├── function_dont_match_parent_signature_parameter_type.out
│ │ │ │ │ ├── function_dont_match_parent_signature_return_type.gd
│ │ │ │ │ ├── function_dont_match_parent_signature_return_type.out
│ │ │ │ │ ├── function_param_type_invalid_contravariance_1.gd
│ │ │ │ │ ├── function_param_type_invalid_contravariance_1.out
│ │ │ │ │ ├── function_param_type_invalid_contravariance_2.gd
│ │ │ │ │ ├── function_param_type_invalid_contravariance_2.out
│ │ │ │ │ ├── function_param_type_invalid_contravariance_3.gd
│ │ │ │ │ ├── function_param_type_invalid_contravariance_3.out
│ │ │ │ │ ├── function_return_type_invalid_covariance_1.gd
│ │ │ │ │ ├── function_return_type_invalid_covariance_1.out
│ │ │ │ │ ├── function_return_type_invalid_covariance_2.gd
│ │ │ │ │ ├── function_return_type_invalid_covariance_2.out
│ │ │ │ │ ├── function_return_type_invalid_covariance_3.gd
│ │ │ │ │ ├── function_return_type_invalid_covariance_3.out
│ │ │ │ │ ├── function_return_type_invalid_covariance_4.gd
│ │ │ │ │ ├── function_return_type_invalid_covariance_4.out
│ │ │ │ │ ├── function_used_as_property.gd
│ │ │ │ │ ├── function_used_as_property.out
│ │ │ │ │ ├── gd_utility_function_wrong_arg.gd
│ │ │ │ │ ├── gd_utility_function_wrong_arg.out
│ │ │ │ │ ├── get_node_shorthand_in_static_function.gd
│ │ │ │ │ ├── get_node_shorthand_in_static_function.out
│ │ │ │ │ ├── get_node_shorthand_within_non_node.gd
│ │ │ │ │ ├── get_node_shorthand_within_non_node.out
│ │ │ │ │ ├── incompatible_assignment.gd
│ │ │ │ │ ├── incompatible_assignment.out
│ │ │ │ │ ├── inferring_with_weak_type_local_variable.gd
│ │ │ │ │ ├── inferring_with_weak_type_local_variable.out
│ │ │ │ │ ├── inferring_with_weak_type_member_variable.gd
│ │ │ │ │ ├── inferring_with_weak_type_member_variable.out
│ │ │ │ │ ├── inferring_with_weak_type_parameter.gd
│ │ │ │ │ ├── inferring_with_weak_type_parameter.out
│ │ │ │ │ ├── invalid_array_index.gd
│ │ │ │ │ ├── invalid_array_index.out
│ │ │ │ │ ├── invalid_concatenation_bool.gd
│ │ │ │ │ ├── invalid_concatenation_bool.out
│ │ │ │ │ ├── invalid_concatenation_dictionary.gd
│ │ │ │ │ ├── invalid_concatenation_dictionary.out
│ │ │ │ │ ├── invalid_concatenation_mixed.gd
│ │ │ │ │ ├── invalid_concatenation_mixed.out
│ │ │ │ │ ├── invalid_constant.gd
│ │ │ │ │ ├── invalid_constant.out
│ │ │ │ │ ├── lambda_cyclic_ref_call_arg.gd
│ │ │ │ │ ├── lambda_cyclic_ref_call_arg.out
│ │ │ │ │ ├── lambda_cyclic_ref_param.gd
│ │ │ │ │ ├── lambda_cyclic_ref_param.out
│ │ │ │ │ ├── lambda_no_return.gd
│ │ │ │ │ ├── lambda_no_return.out
│ │ │ │ │ ├── lambda_wrong_return.gd
│ │ │ │ │ ├── lambda_wrong_return.out
│ │ │ │ │ ├── leading_number_separator.gd
│ │ │ │ │ ├── leading_number_separator.out
│ │ │ │ │ ├── local_const_as_type_use_before_declared.gd
│ │ │ │ │ ├── local_const_as_type_use_before_declared.out
│ │ │ │ │ ├── local_const_as_type_use_not_const.gd
│ │ │ │ │ ├── local_const_as_type_use_not_const.out
│ │ │ │ │ ├── local_const_as_type_use_not_type.gd
│ │ │ │ │ ├── local_const_as_type_use_not_type.out
│ │ │ │ │ ├── match_guard_invalid_expression.gd
│ │ │ │ │ ├── match_guard_invalid_expression.out
│ │ │ │ │ ├── match_with_subscript.gd
│ │ │ │ │ ├── match_with_subscript.out
│ │ │ │ │ ├── match_with_variable_expression.gd
│ │ │ │ │ ├── match_with_variable_expression.out
│ │ │ │ │ ├── missing_argument.gd
│ │ │ │ │ ├── missing_argument.out
│ │ │ │ │ ├── native_type_errors.gd
│ │ │ │ │ ├── native_type_errors.out
│ │ │ │ │ ├── not_found_type.gd
│ │ │ │ │ ├── not_found_type.out
│ │ │ │ │ ├── object_invalid_constructor.gd
│ │ │ │ │ ├── object_invalid_constructor.out
│ │ │ │ │ ├── onready_within_non_node.gd
│ │ │ │ │ ├── onready_within_non_node.out
│ │ │ │ │ ├── onready_within_non_node_inner_class.gd
│ │ │ │ │ ├── onready_within_non_node_inner_class.out
│ │ │ │ │ ├── outer_class_lookup.gd
│ │ │ │ │ ├── outer_class_lookup.out
│ │ │ │ │ ├── overload_script_variable.gd
│ │ │ │ │ ├── overload_script_variable.out
│ │ │ │ │ ├── params_default_forward_reference.gd
│ │ │ │ │ ├── params_default_forward_reference.out
│ │ │ │ │ ├── preload_enum_error.gd
│ │ │ │ │ ├── preload_enum_error.out
│ │ │ │ │ ├── prints_base_type_not_found.gd
│ │ │ │ │ ├── prints_base_type_not_found.out
│ │ │ │ │ ├── property_function_get_type_error.gd
│ │ │ │ │ ├── property_function_get_type_error.out
│ │ │ │ │ ├── property_function_set_type_error.gd
│ │ │ │ │ ├── property_function_set_type_error.out
│ │ │ │ │ ├── property_inline_get_type_error.gd
│ │ │ │ │ ├── property_inline_get_type_error.out
│ │ │ │ │ ├── property_inline_set_type_error.gd
│ │ │ │ │ ├── property_inline_set_type_error.out
│ │ │ │ │ ├── property_used_as_function.gd
│ │ │ │ │ ├── property_used_as_function.out
│ │ │ │ │ ├── redefine_class_constant.gd
│ │ │ │ │ ├── redefine_class_constant.out
│ │ │ │ │ ├── redefine_local_constant.gd
│ │ │ │ │ ├── redefine_local_constant.out
│ │ │ │ │ ├── return_null_in_void_func.gd
│ │ │ │ │ ├── return_null_in_void_func.out
│ │ │ │ │ ├── return_variant_in_void_func.gd
│ │ │ │ │ ├── return_variant_in_void_func.out
│ │ │ │ │ ├── setter_parameter_uses_property_type.gd
│ │ │ │ │ ├── setter_parameter_uses_property_type.out
│ │ │ │ │ ├── static_constructor_with_return_type.gd
│ │ │ │ │ ├── static_constructor_with_return_type.out
│ │ │ │ │ ├── static_func_access_non_static.gd
│ │ │ │ │ ├── static_func_access_non_static.out
│ │ │ │ │ ├── static_func_access_non_static_in_lambda_param.gd
│ │ │ │ │ ├── static_func_access_non_static_in_lambda_param.out
│ │ │ │ │ ├── static_func_call_non_static.gd
│ │ │ │ │ ├── static_func_call_non_static.out
│ │ │ │ │ ├── static_func_call_non_static_in_lambda.gd
│ │ │ │ │ ├── static_func_call_non_static_in_lambda.out
│ │ │ │ │ ├── static_func_call_non_static_in_lambda_param.gd
│ │ │ │ │ ├── static_func_call_non_static_in_lambda_param.out
│ │ │ │ │ ├── static_var_export_annotation.gd
│ │ │ │ │ ├── static_var_export_annotation.out
│ │ │ │ │ ├── static_var_init_access_non_static_in_lambda.gd
│ │ │ │ │ ├── static_var_init_access_non_static_in_lambda.out
│ │ │ │ │ ├── static_var_init_access_non_static_in_lambda_setter.gd
│ │ │ │ │ ├── static_var_init_access_non_static_in_lambda_setter.out
│ │ │ │ │ ├── static_var_init_call_non_static_in_lambda.gd
│ │ │ │ │ ├── static_var_init_call_non_static_in_lambda.out
│ │ │ │ │ ├── static_var_init_call_non_static_in_lambda_setter.gd
│ │ │ │ │ ├── static_var_init_call_non_static_in_lambda_setter.out
│ │ │ │ │ ├── static_var_init_non_static_access.gd
│ │ │ │ │ ├── static_var_init_non_static_access.out
│ │ │ │ │ ├── static_var_init_non_static_call.gd
│ │ │ │ │ ├── static_var_init_non_static_call.out
│ │ │ │ │ ├── super_nonexistent_base_method.gd
│ │ │ │ │ ├── super_nonexistent_base_method.out
│ │ │ │ │ ├── ternary_weak_infer.gd
│ │ │ │ │ ├── ternary_weak_infer.out
│ │ │ │ │ ├── typed_array_assign_differently_typed.gd
│ │ │ │ │ ├── typed_array_assign_differently_typed.out
│ │ │ │ │ ├── typed_array_assignment.gd
│ │ │ │ │ ├── typed_array_assignment.out
│ │ │ │ │ ├── typed_array_init_with_unconvertable_in_literal.gd
│ │ │ │ │ ├── typed_array_init_with_unconvertable_in_literal.out
│ │ │ │ │ ├── typed_array_pass_differently_to_typed.gd
│ │ │ │ │ ├── typed_array_pass_differently_to_typed.out
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed.gd
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed.out
│ │ │ │ │ ├── typed_dictionary_assignment.gd
│ │ │ │ │ ├── typed_dictionary_assignment.out
│ │ │ │ │ ├── typed_dictionary_init_with_unconvertible_in_literal.gd
│ │ │ │ │ ├── typed_dictionary_init_with_unconvertible_in_literal.out
│ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.gd
│ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.out
│ │ │ │ │ ├── untyped_override_return_incompatible_type.gd
│ │ │ │ │ ├── untyped_override_return_incompatible_type.out
│ │ │ │ │ ├── use_value_of_void_function_builtin_method.gd
│ │ │ │ │ ├── use_value_of_void_function_builtin_method.out
│ │ │ │ │ ├── use_value_of_void_function_custom_method.gd
│ │ │ │ │ ├── use_value_of_void_function_custom_method.out
│ │ │ │ │ ├── use_value_of_void_function_gd_utility.gd
│ │ │ │ │ ├── use_value_of_void_function_gd_utility.out
│ │ │ │ │ ├── use_value_of_void_function_native_method.gd
│ │ │ │ │ ├── use_value_of_void_function_native_method.out
│ │ │ │ │ ├── use_value_of_void_function_utility.gd
│ │ │ │ │ ├── use_value_of_void_function_utility.out
│ │ │ │ │ ├── utility_function_wrong_arg.gd
│ │ │ │ │ ├── utility_function_wrong_arg.out
│ │ │ │ │ ├── variable_name_shadows_builtin_type.gd
│ │ │ │ │ ├── variable_name_shadows_builtin_type.out
│ │ │ │ │ ├── variable_overloads_superclass_function.gd
│ │ │ │ │ ├── variable_overloads_superclass_function.out
│ │ │ │ │ ├── variadic_functions.gd
│ │ │ │ │ ├── variadic_functions.out
│ │ │ │ │ ├── virtual_super_not_implemented.gd
│ │ │ │ │ └── virtual_super_not_implemented.out
│ │ │ │ ├── features/
│ │ │ │ │ ├── allow_get_node_with_onready.gd
│ │ │ │ │ ├── allow_get_node_with_onready.out
│ │ │ │ │ ├── allow_void_function_to_return_void.gd
│ │ │ │ │ ├── allow_void_function_to_return_void.out
│ │ │ │ │ ├── annotation_constant_expression_parameters.gd
│ │ │ │ │ ├── annotation_constant_expression_parameters.out
│ │ │ │ │ ├── array_string_stringname_equivalent.gd
│ │ │ │ │ ├── array_string_stringname_equivalent.out
│ │ │ │ │ ├── as.gd
│ │ │ │ │ ├── as.out
│ │ │ │ │ ├── assert_literal_false.gd
│ │ │ │ │ ├── assert_literal_false.out
│ │ │ │ │ ├── assign_to_native_enum_property.gd
│ │ │ │ │ ├── assign_to_native_enum_property.out
│ │ │ │ │ ├── assignments_with_untyped.gd
│ │ │ │ │ ├── assignments_with_untyped.out
│ │ │ │ │ ├── assymetric_assignment_good.gd
│ │ │ │ │ ├── assymetric_assignment_good.out
│ │ │ │ │ ├── auto_inferred_type_dont_error.gd
│ │ │ │ │ ├── auto_inferred_type_dont_error.out
│ │ │ │ │ ├── await_type_inference.gd
│ │ │ │ │ ├── await_type_inference.out
│ │ │ │ │ ├── await_with_signals_no_warning.gd
│ │ │ │ │ ├── await_with_signals_no_warning.out
│ │ │ │ │ ├── base_outer_resolution.gd
│ │ │ │ │ ├── base_outer_resolution.out
│ │ │ │ │ ├── base_outer_resolution_a.notest.gd
│ │ │ │ │ ├── base_outer_resolution_b.notest.gd
│ │ │ │ │ ├── base_outer_resolution_base.notest.gd
│ │ │ │ │ ├── base_outer_resolution_c.notest.gd
│ │ │ │ │ ├── base_outer_resolution_extend.notest.gd
│ │ │ │ │ ├── boolean_operators_for_all_types.gd
│ │ │ │ │ ├── boolean_operators_for_all_types.out
│ │ │ │ │ ├── call_self_get_name.gd
│ │ │ │ │ ├── call_self_get_name.out
│ │ │ │ │ ├── call_static_builtin_function.gd
│ │ │ │ │ ├── call_static_builtin_function.out
│ │ │ │ │ ├── cast_enum_to_int.gd
│ │ │ │ │ ├── cast_enum_to_int.out
│ │ │ │ │ ├── cast_non_null.gd
│ │ │ │ │ ├── cast_non_null.out
│ │ │ │ │ ├── class_from_parent.gd
│ │ │ │ │ ├── class_from_parent.out
│ │ │ │ │ ├── class_inference_is_weak.gd
│ │ │ │ │ ├── class_inference_is_weak.out
│ │ │ │ │ ├── const_array_and_dictionary_constructors.gd
│ │ │ │ │ ├── const_array_and_dictionary_constructors.out
│ │ │ │ │ ├── const_conversions.gd
│ │ │ │ │ ├── const_conversions.out
│ │ │ │ │ ├── constant_expressions.gd
│ │ │ │ │ ├── constant_expressions.out
│ │ │ │ │ ├── constants_from_parent.gd
│ │ │ │ │ ├── constants_from_parent.out
│ │ │ │ │ ├── default_arg_convertable.gd
│ │ │ │ │ ├── default_arg_convertable.out
│ │ │ │ │ ├── enum_access_types.gd
│ │ │ │ │ ├── enum_access_types.out
│ │ │ │ │ ├── enum_as_const.gd
│ │ │ │ │ ├── enum_as_const.out
│ │ │ │ │ ├── enum_assign_enum_to_int_typed_var.gd
│ │ │ │ │ ├── enum_assign_enum_to_int_typed_var.out
│ │ │ │ │ ├── enum_assign_int_cast_to_same_enum.gd
│ │ │ │ │ ├── enum_assign_int_cast_to_same_enum.out
│ │ │ │ │ ├── enum_assign_other_enum_cast_to_same_enum.gd
│ │ │ │ │ ├── enum_assign_other_enum_cast_to_same_enum.out
│ │ │ │ │ ├── enum_assign_same_enum.gd
│ │ │ │ │ ├── enum_assign_same_enum.out
│ │ │ │ │ ├── enum_duplicate_into_dict.gd
│ │ │ │ │ ├── enum_duplicate_into_dict.out
│ │ │ │ │ ├── enum_from_base.gd
│ │ │ │ │ ├── enum_from_base.out
│ │ │ │ │ ├── enum_from_outer.gd
│ │ │ │ │ ├── enum_from_outer.out
│ │ │ │ │ ├── enum_function_typecheck.gd
│ │ │ │ │ ├── enum_function_typecheck.out
│ │ │ │ │ ├── enum_is_treated_as_int.gd
│ │ │ │ │ ├── enum_is_treated_as_int.out
│ │ │ │ │ ├── enum_named_no_shadow.gd
│ │ │ │ │ ├── enum_named_no_shadow.out
│ │ │ │ │ ├── enum_native_access_types.gd
│ │ │ │ │ ├── enum_native_access_types.out
│ │ │ │ │ ├── enum_type_is_treated_as_dictionary.gd
│ │ │ │ │ ├── enum_type_is_treated_as_dictionary.out
│ │ │ │ │ ├── enum_typecheck_inner_class.gd
│ │ │ │ │ ├── enum_typecheck_inner_class.out
│ │ │ │ │ ├── enum_unnamed_depend.gd
│ │ │ │ │ ├── enum_unnamed_depend.out
│ │ │ │ │ ├── enum_value_from_parent.gd
│ │ │ │ │ ├── enum_value_from_parent.out
│ │ │ │ │ ├── enums_in_range_call.gd
│ │ │ │ │ ├── enums_in_range_call.out
│ │ │ │ │ ├── export_enum_as_dictionary.gd
│ │ │ │ │ ├── export_enum_as_dictionary.out
│ │ │ │ │ ├── extend_abstract_class.gd
│ │ │ │ │ ├── extend_abstract_class.out
│ │ │ │ │ ├── external_enum_as_constant.gd
│ │ │ │ │ ├── external_enum_as_constant.out
│ │ │ │ │ ├── external_enum_as_constant_external.notest.gd
│ │ │ │ │ ├── external_inner_base.gd
│ │ │ │ │ ├── external_inner_base.out
│ │ │ │ │ ├── external_inner_class_as_constant.gd
│ │ │ │ │ ├── external_inner_class_as_constant.out
│ │ │ │ │ ├── external_inner_class_as_constant_external.notest.gd
│ │ │ │ │ ├── external_parser.gd
│ │ │ │ │ ├── external_parser.out
│ │ │ │ │ ├── external_parser_base1.notest.gd
│ │ │ │ │ ├── external_parser_base2.notest.gd
│ │ │ │ │ ├── external_parser_script1.notest.gd
│ │ │ │ │ ├── external_parser_script1_base.notest.gd
│ │ │ │ │ ├── external_parser_script1c.notest.gd
│ │ │ │ │ ├── external_parser_script1d.notest.gd
│ │ │ │ │ ├── external_parser_script1e.notest.gd
│ │ │ │ │ ├── external_parser_script1f.notest.gd
│ │ │ │ │ ├── external_parser_script2.notest.gd
│ │ │ │ │ ├── external_parser_script3.notest.gd
│ │ │ │ │ ├── for_loop_on_variant.gd
│ │ │ │ │ ├── for_loop_on_variant.out
│ │ │ │ │ ├── for_range_usage.gd
│ │ │ │ │ ├── for_range_usage.out
│ │ │ │ │ ├── function_match_parent_signature_with_default_dict_void.gd
│ │ │ │ │ ├── function_match_parent_signature_with_default_dict_void.out
│ │ │ │ │ ├── function_match_parent_signature_with_extra_parameters.gd
│ │ │ │ │ ├── function_match_parent_signature_with_extra_parameters.out
│ │ │ │ │ ├── function_param_type_contravariance.gd
│ │ │ │ │ ├── function_param_type_contravariance.out
│ │ │ │ │ ├── function_return_type_covariance.gd
│ │ │ │ │ ├── function_return_type_covariance.out
│ │ │ │ │ ├── gdscript_to_preload.notest.gd
│ │ │ │ │ ├── getter_return_type.gd
│ │ │ │ │ ├── getter_return_type.out
│ │ │ │ │ ├── global_builtin_and_native_enums.gd
│ │ │ │ │ ├── global_builtin_and_native_enums.out
│ │ │ │ │ ├── global_enums.gd
│ │ │ │ │ ├── global_enums.out
│ │ │ │ │ ├── hard_variants.gd
│ │ │ │ │ ├── hard_variants.out
│ │ │ │ │ ├── infer_type_on_string_format.gd
│ │ │ │ │ ├── infer_type_on_string_format.out
│ │ │ │ │ ├── inferred_return_type.gd
│ │ │ │ │ ├── inferred_return_type.out
│ │ │ │ │ ├── inheritance_signature_check_no_meta.gd
│ │ │ │ │ ├── inheritance_signature_check_no_meta.out
│ │ │ │ │ ├── inner_base.gd
│ │ │ │ │ ├── inner_base.out
│ │ │ │ │ ├── inner_class_access_from_inside.gd
│ │ │ │ │ ├── inner_class_access_from_inside.out
│ │ │ │ │ ├── inner_class_as_return_type.gd
│ │ │ │ │ ├── inner_class_as_return_type.out
│ │ │ │ │ ├── lambda_cyclic_ref_body.gd
│ │ │ │ │ ├── lambda_cyclic_ref_body.out
│ │ │ │ │ ├── lambda_typed.gd
│ │ │ │ │ ├── lambda_typed.out
│ │ │ │ │ ├── local_const_as_type.gd
│ │ │ │ │ ├── local_const_as_type.notest.gd
│ │ │ │ │ ├── local_const_as_type.out
│ │ │ │ │ ├── local_inference_is_weak.gd
│ │ │ │ │ ├── local_inference_is_weak.out
│ │ │ │ │ ├── lookup_class.gd
│ │ │ │ │ ├── lookup_class.out
│ │ │ │ │ ├── lookup_class_external.notest.gd
│ │ │ │ │ ├── lookup_signal.gd
│ │ │ │ │ ├── lookup_signal.out
│ │ │ │ │ ├── native_typed_assign_null.gd
│ │ │ │ │ ├── native_typed_assign_null.out
│ │ │ │ │ ├── null_initializer.gd
│ │ │ │ │ ├── null_initializer.out
│ │ │ │ │ ├── onready_on_inner_class_with_non_node_outer.gd
│ │ │ │ │ ├── onready_on_inner_class_with_non_node_outer.out
│ │ │ │ │ ├── out_of_order.gd
│ │ │ │ │ ├── out_of_order.out
│ │ │ │ │ ├── out_of_order_external.gd
│ │ │ │ │ ├── out_of_order_external.out
│ │ │ │ │ ├── out_of_order_external_a.notest.gd
│ │ │ │ │ ├── preload_constant_types_are_inferred.gd
│ │ │ │ │ ├── preload_constant_types_are_inferred.out
│ │ │ │ │ ├── preload_cyclic_reference.gd
│ │ │ │ │ ├── preload_cyclic_reference.out
│ │ │ │ │ ├── preload_cyclic_reference_a.notest.gd
│ │ │ │ │ ├── preload_cyclic_reference_b.notest.gd
│ │ │ │ │ ├── preload_script_native_type.gd
│ │ │ │ │ ├── preload_script_native_type.notest.gd
│ │ │ │ │ ├── preload_script_native_type.out
│ │ │ │ │ ├── property_functions.gd
│ │ │ │ │ ├── property_functions.out
│ │ │ │ │ ├── property_inline.gd
│ │ │ │ │ ├── property_inline.out
│ │ │ │ │ ├── return_conversions.gd
│ │ │ │ │ ├── return_conversions.out
│ │ │ │ │ ├── return_variant_typed.gd
│ │ │ │ │ ├── return_variant_typed.out
│ │ │ │ │ ├── script_typed_assign_null.gd
│ │ │ │ │ ├── script_typed_assign_null.out
│ │ │ │ │ ├── static_method_builtin_type.gd
│ │ │ │ │ ├── static_method_builtin_type.out
│ │ │ │ │ ├── static_non_static_access.gd
│ │ │ │ │ ├── static_non_static_access.out
│ │ │ │ │ ├── subscript_self.gd
│ │ │ │ │ ├── subscript_self.out
│ │ │ │ │ ├── ternary_hard_infer.gd
│ │ │ │ │ ├── ternary_hard_infer.out
│ │ │ │ │ ├── type_test_usage.gd
│ │ │ │ │ ├── type_test_usage.out
│ │ │ │ │ ├── typed_array_as_default_parameter.gd
│ │ │ │ │ ├── typed_array_as_default_parameter.out
│ │ │ │ │ ├── typed_array_dont_make_literal_typed_with_weak_type.gd
│ │ │ │ │ ├── typed_array_dont_make_literal_typed_with_weak_type.out
│ │ │ │ │ ├── typed_array_inferred_access_isnt_constant.gd
│ │ │ │ │ ├── typed_array_inferred_access_isnt_constant.out
│ │ │ │ │ ├── typed_array_usage.gd
│ │ │ │ │ ├── typed_array_usage.out
│ │ │ │ │ ├── typed_array_with_custom_class.gd
│ │ │ │ │ ├── typed_array_with_custom_class.out
│ │ │ │ │ ├── typed_dictionary_as_default_parameter.gd
│ │ │ │ │ ├── typed_dictionary_as_default_parameter.out
│ │ │ │ │ ├── typed_dictionary_inferred_access_isnt_constant.gd
│ │ │ │ │ ├── typed_dictionary_inferred_access_isnt_constant.out
│ │ │ │ │ ├── typed_dictionary_usage.gd
│ │ │ │ │ ├── typed_dictionary_usage.out
│ │ │ │ │ ├── typed_dictionary_with_custom_class.gd
│ │ │ │ │ ├── typed_dictionary_with_custom_class.out
│ │ │ │ │ ├── unassigned_builtin_typed.gd
│ │ │ │ │ ├── unassigned_builtin_typed.out
│ │ │ │ │ ├── untyped_override_return_compatible_type.gd
│ │ │ │ │ ├── untyped_override_return_compatible_type.out
│ │ │ │ │ ├── use_preload_script_as_type.gd
│ │ │ │ │ ├── use_preload_script_as_type.out
│ │ │ │ │ ├── vararg_call.gd
│ │ │ │ │ ├── vararg_call.out
│ │ │ │ │ ├── variant_arg_in_virtual_method.gd
│ │ │ │ │ ├── variant_arg_in_virtual_method.out
│ │ │ │ │ ├── virtual_method_implemented.gd
│ │ │ │ │ ├── virtual_method_implemented.out
│ │ │ │ │ ├── warning_ignore_targets.gd
│ │ │ │ │ ├── warning_ignore_targets.out
│ │ │ │ │ ├── warning_ignore_warnings.gd
│ │ │ │ │ ├── warning_ignore_warnings.out
│ │ │ │ │ ├── weak_initializer.gd
│ │ │ │ │ └── weak_initializer.out
│ │ │ │ └── warnings/
│ │ │ │ ├── cast_enum_bad_enum.gd
│ │ │ │ ├── cast_enum_bad_enum.out
│ │ │ │ ├── cast_enum_bad_int.gd
│ │ │ │ ├── cast_enum_bad_int.out
│ │ │ │ ├── confusable_capture_reassignment.gd
│ │ │ │ ├── confusable_capture_reassignment.out
│ │ │ │ ├── confusable_local_declaration.gd
│ │ │ │ ├── confusable_local_declaration.out
│ │ │ │ ├── confusable_local_usage.gd
│ │ │ │ ├── confusable_local_usage.out
│ │ │ │ ├── confusable_local_usage_initializer.gd
│ │ │ │ ├── confusable_local_usage_initializer.out
│ │ │ │ ├── confusable_local_usage_loop.gd
│ │ │ │ ├── confusable_local_usage_loop.out
│ │ │ │ ├── enum_without_default_value.gd
│ │ │ │ ├── enum_without_default_value.out
│ │ │ │ ├── get_node_without_onready.gd
│ │ │ │ ├── get_node_without_onready.out
│ │ │ │ ├── inference_with_variant.gd
│ │ │ │ ├── inference_with_variant.out
│ │ │ │ ├── lambda_shadowing_arg.gd
│ │ │ │ ├── lambda_shadowing_arg.out
│ │ │ │ ├── lambda_unused_arg.gd
│ │ │ │ ├── lambda_unused_arg.out
│ │ │ │ ├── missing_await.gd
│ │ │ │ ├── missing_await.out
│ │ │ │ ├── non_tool_extends_tool.gd
│ │ │ │ ├── non_tool_extends_tool.notest.gd
│ │ │ │ ├── non_tool_extends_tool.out
│ │ │ │ ├── non_tool_extends_tool_ignored.gd
│ │ │ │ ├── non_tool_extends_tool_ignored.out
│ │ │ │ ├── onready_with_export.gd
│ │ │ │ ├── onready_with_export.out
│ │ │ │ ├── overriding_native_method.gd
│ │ │ │ ├── overriding_native_method.out
│ │ │ │ ├── redundant_await.gd
│ │ │ │ ├── redundant_await.out
│ │ │ │ ├── shadowing_base.notest.gd
│ │ │ │ ├── shadowning.gd
│ │ │ │ ├── shadowning.out
│ │ │ │ ├── unsafe_call_argument.gd
│ │ │ │ ├── unsafe_call_argument.out
│ │ │ │ ├── unsafe_cast.gd
│ │ │ │ ├── unsafe_cast.out
│ │ │ │ ├── unused_private_class_variable.gd
│ │ │ │ ├── unused_private_class_variable.out
│ │ │ │ ├── unused_signal.gd
│ │ │ │ └── unused_signal.out
│ │ │ ├── completion/
│ │ │ │ ├── argument_options/
│ │ │ │ │ ├── argument_options.tscn
│ │ │ │ │ ├── connect.cfg
│ │ │ │ │ ├── connect.gd
│ │ │ │ │ ├── play_inferred.cfg
│ │ │ │ │ ├── play_inferred.gd
│ │ │ │ │ ├── play_typed.cfg
│ │ │ │ │ ├── play_typed.gd
│ │ │ │ │ ├── play_untyped.cfg
│ │ │ │ │ ├── play_untyped.gd
│ │ │ │ │ └── string_literals/
│ │ │ │ │ ├── add_node_path_tween.cfg
│ │ │ │ │ ├── add_node_path_tween.gd
│ │ │ │ │ ├── add_node_path_tween_prepended.cfg
│ │ │ │ │ ├── add_node_path_tween_prepended.gd
│ │ │ │ │ ├── add_string_name_input_event.cfg
│ │ │ │ │ ├── add_string_name_input_event.gd
│ │ │ │ │ ├── add_string_name_input_event_prepended.cfg
│ │ │ │ │ ├── add_string_name_input_event_prepended.gd
│ │ │ │ │ ├── argument_options_inside_string_literal.cfg
│ │ │ │ │ ├── argument_options_inside_string_literal.gd
│ │ │ │ │ ├── dont_add_node_path_tween.cfg
│ │ │ │ │ ├── dont_add_node_path_tween.gd
│ │ │ │ │ ├── dont_add_string_name_input_event.cfg
│ │ │ │ │ └── dont_add_string_name_input_event.gd
│ │ │ │ ├── assignment_options/
│ │ │ │ │ ├── enum_attribute.cfg
│ │ │ │ │ ├── enum_attribute.gd
│ │ │ │ │ ├── enum_attribute_identifier.cfg
│ │ │ │ │ ├── enum_attribute_identifier.gd
│ │ │ │ │ ├── enum_identifier.cfg
│ │ │ │ │ ├── enum_identifier.gd
│ │ │ │ │ ├── enum_no_identifier.cfg
│ │ │ │ │ └── enum_no_identifier.gd
│ │ │ │ ├── builtin_enum/
│ │ │ │ │ ├── builtin_enum_autocomplete.cfg
│ │ │ │ │ ├── builtin_enum_autocomplete.gd
│ │ │ │ │ ├── builtin_enum_in_type_hint.cfg
│ │ │ │ │ ├── builtin_enum_in_type_hint.gd
│ │ │ │ │ ├── builtin_enum_values_autocompletion.cfg
│ │ │ │ │ └── builtin_enum_values_autocompletion.gd
│ │ │ │ ├── class_a.notest.gd
│ │ │ │ ├── class_b.notest.gd
│ │ │ │ ├── common/
│ │ │ │ │ ├── assign_local_variant.cfg
│ │ │ │ │ ├── assign_local_variant.gd
│ │ │ │ │ ├── identifiers_in_call.cfg
│ │ │ │ │ ├── identifiers_in_call.gd
│ │ │ │ │ ├── identifiers_in_function_body.cfg
│ │ │ │ │ ├── identifiers_in_function_body.gd
│ │ │ │ │ ├── identifiers_in_unclosed_call.cfg
│ │ │ │ │ ├── identifiers_in_unclosed_call.gd
│ │ │ │ │ ├── infer_return_type_without_value.cfg
│ │ │ │ │ ├── infer_return_type_without_value.gd
│ │ │ │ │ ├── invalid_super_call_1.cfg
│ │ │ │ │ ├── invalid_super_call_1.gd
│ │ │ │ │ ├── invalid_super_call_2.cfg
│ │ │ │ │ ├── invalid_super_call_2.gd
│ │ │ │ │ ├── no_completion_in_string.cfg
│ │ │ │ │ ├── no_completion_in_string.gd
│ │ │ │ │ ├── override_function_abstract.cfg
│ │ │ │ │ ├── override_function_abstract.gd
│ │ │ │ │ ├── override_function_full_name.cfg
│ │ │ │ │ ├── override_function_full_name.gd
│ │ │ │ │ ├── override_function_no_underscore.cfg
│ │ │ │ │ ├── override_function_no_underscore.gd
│ │ │ │ │ ├── override_function_static.cfg
│ │ │ │ │ ├── override_function_static.gd
│ │ │ │ │ ├── override_function_underscore.cfg
│ │ │ │ │ ├── override_function_underscore.gd
│ │ │ │ │ ├── self.cfg
│ │ │ │ │ └── self.gd
│ │ │ │ ├── enum_values_in_dictionary/
│ │ │ │ │ ├── lua_key_1.cfg
│ │ │ │ │ ├── lua_key_1.notest.gd
│ │ │ │ │ ├── lua_key_2.cfg
│ │ │ │ │ ├── lua_key_2.gd
│ │ │ │ │ ├── lua_value_1.cfg
│ │ │ │ │ ├── lua_value_1.gd
│ │ │ │ │ ├── lua_value_2.cfg
│ │ │ │ │ ├── lua_value_2.gd
│ │ │ │ │ ├── lua_value_3.cfg
│ │ │ │ │ ├── lua_value_3.gd
│ │ │ │ │ ├── lua_value_4.cfg
│ │ │ │ │ ├── lua_value_4.gd
│ │ │ │ │ ├── lua_value_5.cfg
│ │ │ │ │ ├── lua_value_5.gd
│ │ │ │ │ ├── py_key_1.cfg
│ │ │ │ │ ├── py_key_1.gd
│ │ │ │ │ ├── py_key_2.cfg
│ │ │ │ │ ├── py_key_2.gd
│ │ │ │ │ ├── py_key_3.cfg
│ │ │ │ │ ├── py_key_3.gd
│ │ │ │ │ ├── py_key_4.cfg
│ │ │ │ │ ├── py_key_4.gd
│ │ │ │ │ ├── py_value_1.cfg
│ │ │ │ │ ├── py_value_1.gd
│ │ │ │ │ ├── py_value_2.cfg
│ │ │ │ │ ├── py_value_2.gd
│ │ │ │ │ ├── py_value_3.cfg
│ │ │ │ │ └── py_value_3.gd
│ │ │ │ ├── enum_values_in_match/
│ │ │ │ │ ├── in_branch_1.cfg
│ │ │ │ │ ├── in_branch_1.gd
│ │ │ │ │ ├── in_branch_2.cfg
│ │ │ │ │ ├── in_branch_2.gd
│ │ │ │ │ ├── in_branch_3.cfg
│ │ │ │ │ ├── in_branch_3.gd
│ │ │ │ │ ├── in_test_1.cfg
│ │ │ │ │ ├── in_test_1.gd
│ │ │ │ │ ├── in_test_2.cfg
│ │ │ │ │ ├── in_test_2.gd
│ │ │ │ │ ├── in_test_3.cfg
│ │ │ │ │ ├── in_test_3.gd
│ │ │ │ │ ├── in_test_4.cfg
│ │ │ │ │ └── in_test_4.gd
│ │ │ │ ├── filter/
│ │ │ │ │ ├── organized_export.cfg
│ │ │ │ │ ├── organized_export.gd
│ │ │ │ │ ├── usage_internal.cfg
│ │ │ │ │ └── usage_internal.gd
│ │ │ │ ├── get_node/
│ │ │ │ │ ├── get_node.tscn
│ │ │ │ │ ├── literal/
│ │ │ │ │ │ ├── dollar.cfg
│ │ │ │ │ │ ├── dollar.gd
│ │ │ │ │ │ ├── percent.cfg
│ │ │ │ │ │ └── percent.gd
│ │ │ │ │ ├── literal_scene/
│ │ │ │ │ │ ├── dollar_class_scene.cfg
│ │ │ │ │ │ ├── dollar_class_scene.gd
│ │ │ │ │ │ ├── dollar_native_scene.cfg
│ │ │ │ │ │ ├── dollar_native_scene.gd
│ │ │ │ │ │ ├── dollar_unique.cfg
│ │ │ │ │ │ ├── dollar_unique.gd
│ │ │ │ │ │ ├── percent_class_scene.cfg
│ │ │ │ │ │ ├── percent_class_scene.gd
│ │ │ │ │ │ ├── percent_native_scene.cfg
│ │ │ │ │ │ └── percent_native_scene.gd
│ │ │ │ │ ├── local/
│ │ │ │ │ │ ├── local.cfg
│ │ │ │ │ │ └── local.gd
│ │ │ │ │ ├── local_inferred/
│ │ │ │ │ │ ├── local_inferred.cfg
│ │ │ │ │ │ └── local_inferred.gd
│ │ │ │ │ ├── local_inferred_scene/
│ │ │ │ │ │ ├── class_local_inferred_scene.cfg
│ │ │ │ │ │ ├── class_local_inferred_scene.gd
│ │ │ │ │ │ ├── native_local_inferred_scene.cfg
│ │ │ │ │ │ └── native_local_inferred_scene.gd
│ │ │ │ │ ├── local_scene/
│ │ │ │ │ │ ├── class_local_scene.cfg
│ │ │ │ │ │ ├── class_local_scene.gd
│ │ │ │ │ │ ├── native_local_scene.cfg
│ │ │ │ │ │ └── native_local_scene.gd
│ │ │ │ │ ├── local_typehint/
│ │ │ │ │ │ ├── class_local_typehint.cfg
│ │ │ │ │ │ ├── class_local_typehint.gd
│ │ │ │ │ │ ├── native_local_typehint.cfg
│ │ │ │ │ │ └── native_local_typehint.gd
│ │ │ │ │ ├── local_typehint_scene/
│ │ │ │ │ │ ├── class_local_typehint_scene.cfg
│ │ │ │ │ │ ├── class_local_typehint_scene.gd
│ │ │ │ │ │ ├── native_local_typehint_scene.cfg
│ │ │ │ │ │ └── native_local_typehint_scene.gd
│ │ │ │ │ ├── local_typehint_scene_broad/
│ │ │ │ │ │ ├── class_local_typehint_scene_broad.cfg
│ │ │ │ │ │ ├── class_local_typehint_scene_broad.notest.gd
│ │ │ │ │ │ ├── native_local_typehint_scene_broad.cfg
│ │ │ │ │ │ └── native_local_typehint_scene_broad.notest.gd
│ │ │ │ │ ├── local_typehint_scene_incompatible/
│ │ │ │ │ │ ├── class_local_typehint_scene_incompatible.cfg
│ │ │ │ │ │ ├── class_local_typehint_scene_incompatible.gd
│ │ │ │ │ │ ├── native_local_typehint_scene_incompatible.cfg
│ │ │ │ │ │ └── native_local_typehint_scene_incompatible.gd
│ │ │ │ │ ├── member/
│ │ │ │ │ │ ├── member.cfg
│ │ │ │ │ │ └── member.gd
│ │ │ │ │ ├── member_inferred/
│ │ │ │ │ │ ├── member_inferred.cfg
│ │ │ │ │ │ └── member_inferred.gd
│ │ │ │ │ ├── member_inferred_scene/
│ │ │ │ │ │ ├── class_member_inferred_scene.cfg
│ │ │ │ │ │ ├── class_member_inferred_scene.gd
│ │ │ │ │ │ ├── native_member_inferred_scene.cfg
│ │ │ │ │ │ └── native_member_inferred_scene.gd
│ │ │ │ │ ├── member_scene/
│ │ │ │ │ │ ├── class_member_scene.cfg
│ │ │ │ │ │ ├── class_member_scene.gd
│ │ │ │ │ │ ├── native_member_scene.cfg
│ │ │ │ │ │ └── native_member_scene.gd
│ │ │ │ │ ├── member_typehint/
│ │ │ │ │ │ ├── class_member_typehint.cfg
│ │ │ │ │ │ ├── class_member_typehint.gd
│ │ │ │ │ │ ├── native_member_typehint.cfg
│ │ │ │ │ │ └── native_member_typehint.gd
│ │ │ │ │ ├── member_typehint_scene/
│ │ │ │ │ │ ├── class_member_typehint_scene.cfg
│ │ │ │ │ │ ├── class_member_typehint_scene.gd
│ │ │ │ │ │ ├── native_member_typehint_scene.cfg
│ │ │ │ │ │ └── native_member_typehint_scene.gd
│ │ │ │ │ ├── member_typehint_scene_broad/
│ │ │ │ │ │ ├── class_member_typehint_scene_broad.cfg
│ │ │ │ │ │ ├── class_member_typehint_scene_broad.gd
│ │ │ │ │ │ ├── native_member_typehint_scene_broad.cfg
│ │ │ │ │ │ └── native_member_typehint_scene_broad.gd
│ │ │ │ │ └── member_typehint_scene_incompatible/
│ │ │ │ │ ├── class_member_typehint_scene_incompatible.cfg
│ │ │ │ │ ├── class_member_typehint_scene_incompatible.gd
│ │ │ │ │ ├── native_member_typehint_scene_incompatible.cfg
│ │ │ │ │ └── native_member_typehint_scene_incompatible.gd
│ │ │ │ ├── global_enum/
│ │ │ │ │ ├── global_enum_identifier.cfg
│ │ │ │ │ ├── global_enum_identifier.gd
│ │ │ │ │ ├── global_enum_in_extends.cfg
│ │ │ │ │ ├── global_enum_in_extends.gd
│ │ │ │ │ ├── global_enum_in_type_hint.cfg
│ │ │ │ │ ├── global_enum_in_type_hint.gd
│ │ │ │ │ ├── global_enum_values.cfg
│ │ │ │ │ └── global_enum_values.gd
│ │ │ │ ├── index/
│ │ │ │ │ ├── array_type.cfg
│ │ │ │ │ ├── array_type.gd
│ │ │ │ │ ├── array_value.cfg
│ │ │ │ │ ├── array_value.gd
│ │ │ │ │ ├── const_dictionary_keys.cfg
│ │ │ │ │ ├── const_dictionary_keys.gd
│ │ │ │ │ ├── dictionary_type.cfg
│ │ │ │ │ ├── dictionary_type.gd
│ │ │ │ │ ├── dictionary_value.cfg
│ │ │ │ │ ├── dictionary_value.gd
│ │ │ │ │ ├── local_dictionary_keys.cfg
│ │ │ │ │ ├── local_dictionary_keys.gd
│ │ │ │ │ ├── property_dictionary_keys.cfg
│ │ │ │ │ ├── property_dictionary_keys.gd
│ │ │ │ │ ├── untyped_local.cfg
│ │ │ │ │ ├── untyped_local.gd
│ │ │ │ │ ├── untyped_property.cfg
│ │ │ │ │ └── untyped_property.gd
│ │ │ │ ├── no_parenthesis_when_callable_is_expected/
│ │ │ │ │ ├── builtin_complete_braces.cfg
│ │ │ │ │ ├── builtin_complete_braces.gd
│ │ │ │ │ ├── builtin_incomplete_braces.cfg
│ │ │ │ │ ├── builtin_incomplete_braces.gd
│ │ │ │ │ ├── lambda_body.cfg
│ │ │ │ │ ├── lambda_body.gd
│ │ │ │ │ ├── lambda_parameter.cfg
│ │ │ │ │ ├── lambda_parameter.gd
│ │ │ │ │ ├── local_method_callable_arg_0.cfg
│ │ │ │ │ ├── local_method_callable_arg_0.gd
│ │ │ │ │ ├── local_method_callable_arg_1.cfg
│ │ │ │ │ ├── local_method_callable_arg_1.gd
│ │ │ │ │ ├── local_method_variant_arg_0.cfg
│ │ │ │ │ ├── local_method_variant_arg_0.gd
│ │ │ │ │ ├── native.cfg
│ │ │ │ │ └── native.gd
│ │ │ │ └── types/
│ │ │ │ ├── hints/
│ │ │ │ │ ├── index_0.cfg
│ │ │ │ │ ├── index_0.gd
│ │ │ │ │ ├── index_0_inner_class.cfg
│ │ │ │ │ ├── index_0_inner_class.gd
│ │ │ │ │ ├── index_1_global_class.cfg
│ │ │ │ │ ├── index_1_global_class.gd
│ │ │ │ │ ├── index_1_local_class.cfg
│ │ │ │ │ ├── index_1_local_class.gd
│ │ │ │ │ ├── index_1_local_enum.cfg
│ │ │ │ │ ├── index_1_local_enum.gd
│ │ │ │ │ ├── index_1_preload.cfg
│ │ │ │ │ ├── index_1_preload.gd
│ │ │ │ │ ├── index_2.cfg
│ │ │ │ │ └── index_2.gd
│ │ │ │ ├── local/
│ │ │ │ │ ├── inferred.cfg
│ │ │ │ │ ├── inferred.gd
│ │ │ │ │ ├── no_type/
│ │ │ │ │ │ ├── builtin_type.cfg
│ │ │ │ │ │ ├── builtin_type.gd
│ │ │ │ │ │ ├── gdscript_utility_function.cfg
│ │ │ │ │ │ ├── gdscript_utility_function.gd
│ │ │ │ │ │ ├── script.cfg
│ │ │ │ │ │ └── script.gd
│ │ │ │ │ ├── typehint.cfg
│ │ │ │ │ ├── typehint.gd
│ │ │ │ │ ├── typehint_broad.cfg
│ │ │ │ │ ├── typehint_broad.gd
│ │ │ │ │ ├── typehint_incompatible.cfg
│ │ │ │ │ └── typehint_incompatible.gd
│ │ │ │ └── member/
│ │ │ │ ├── inferred.cfg
│ │ │ │ ├── inferred.gd
│ │ │ │ ├── no_type.cfg
│ │ │ │ ├── no_type.gd
│ │ │ │ ├── typehint.cfg
│ │ │ │ ├── typehint.gd
│ │ │ │ ├── typehint_broad.cfg
│ │ │ │ ├── typehint_broad.gd
│ │ │ │ ├── typehint_incompatible.cfg
│ │ │ │ └── typehint_incompatible.gd
│ │ │ ├── lsp/
│ │ │ │ ├── class.gd
│ │ │ │ ├── doc_comments.gd
│ │ │ │ ├── enums.gd
│ │ │ │ ├── first_line_class_name.gd
│ │ │ │ ├── first_line_comment.gd
│ │ │ │ ├── indentation.gd
│ │ │ │ ├── lambdas.gd
│ │ │ │ ├── local_variables.gd
│ │ │ │ ├── properties.gd
│ │ │ │ ├── scopes.gd
│ │ │ │ ├── shadowing_initializer.gd
│ │ │ │ └── super.gd
│ │ │ ├── parser/
│ │ │ │ ├── errors/
│ │ │ │ │ ├── annotation_deprecated.gd
│ │ │ │ │ ├── annotation_deprecated.out
│ │ │ │ │ ├── annotation_experimental.gd
│ │ │ │ │ ├── annotation_experimental.out
│ │ │ │ │ ├── annotation_extra_comma.gd
│ │ │ │ │ ├── annotation_extra_comma.out
│ │ │ │ │ ├── annotation_inapplicable.gd
│ │ │ │ │ ├── annotation_inapplicable.out
│ │ │ │ │ ├── annotation_tutorial.gd
│ │ │ │ │ ├── annotation_tutorial.out
│ │ │ │ │ ├── annotation_unrecognized.gd
│ │ │ │ │ ├── annotation_unrecognized.out
│ │ │ │ │ ├── array_consecutive_commas.gd
│ │ │ │ │ ├── array_consecutive_commas.out
│ │ │ │ │ ├── assignment_2_equal_signs.gd
│ │ │ │ │ ├── assignment_2_equal_signs.out
│ │ │ │ │ ├── assignment_3_equal_signs.gd
│ │ │ │ │ ├── assignment_3_equal_signs.out
│ │ │ │ │ ├── assignment_empty_assignee.gd
│ │ │ │ │ ├── assignment_empty_assignee.out
│ │ │ │ │ ├── assignment_in_if.gd
│ │ │ │ │ ├── assignment_in_if.out
│ │ │ │ │ ├── assignment_in_var.gd
│ │ │ │ │ ├── assignment_in_var.out
│ │ │ │ │ ├── assignment_in_var_if.gd
│ │ │ │ │ ├── assignment_in_var_if.out
│ │ │ │ │ ├── assignment_without_identifier.gd
│ │ │ │ │ ├── assignment_without_identifier.out
│ │ │ │ │ ├── bad_continue_in_lambda.gd
│ │ │ │ │ ├── bad_continue_in_lambda.out
│ │ │ │ │ ├── bad_r_string_1.gd
│ │ │ │ │ ├── bad_r_string_1.out
│ │ │ │ │ ├── bad_r_string_2.gd
│ │ │ │ │ ├── bad_r_string_2.out
│ │ │ │ │ ├── bad_r_string_3.gd
│ │ │ │ │ ├── bad_r_string_3.out
│ │ │ │ │ ├── binary_complement_without_argument.gd
│ │ │ │ │ ├── binary_complement_without_argument.out
│ │ │ │ │ ├── boolean_negation_without_argument.gd
│ │ │ │ │ ├── boolean_negation_without_argument.out
│ │ │ │ │ ├── boolean_negation_without_argument_using_bang.gd
│ │ │ │ │ ├── boolean_negation_without_argument_using_bang.out
│ │ │ │ │ ├── brace_syntax.gd
│ │ │ │ │ ├── brace_syntax.out
│ │ │ │ │ ├── class_name_after_annotation.gd
│ │ │ │ │ ├── class_name_after_annotation.out
│ │ │ │ │ ├── constant_conflicts_variable.gd
│ │ │ │ │ ├── constant_conflicts_variable.out
│ │ │ │ │ ├── default_value_in_function_call.gd
│ │ │ │ │ ├── default_value_in_function_call.out
│ │ │ │ │ ├── dollar_assignment_bug_53696.gd
│ │ │ │ │ ├── dollar_assignment_bug_53696.out
│ │ │ │ │ ├── double_dictionary_comma.gd
│ │ │ │ │ ├── double_dictionary_comma.out
│ │ │ │ │ ├── duplicate_icon.gd
│ │ │ │ │ ├── duplicate_icon.out
│ │ │ │ │ ├── duplicate_tool.gd
│ │ │ │ │ ├── duplicate_tool.out
│ │ │ │ │ ├── export_enum_wrong_array_type.gd
│ │ │ │ │ ├── export_enum_wrong_array_type.out
│ │ │ │ │ ├── export_enum_wrong_type.gd
│ │ │ │ │ ├── export_enum_wrong_type.out
│ │ │ │ │ ├── export_godot3_syntax.gd
│ │ │ │ │ ├── export_godot3_syntax.out
│ │ │ │ │ ├── export_godot3_syntax_with_args.gd
│ │ │ │ │ ├── export_godot3_syntax_with_args.out
│ │ │ │ │ ├── export_tool_button_requires_tool_mode.gd
│ │ │ │ │ ├── export_tool_button_requires_tool_mode.out
│ │ │ │ │ ├── function_conflicts_constant.gd
│ │ │ │ │ ├── function_conflicts_constant.out
│ │ │ │ │ ├── function_conflicts_variable.gd
│ │ │ │ │ ├── function_conflicts_variable.out
│ │ │ │ │ ├── identifier_similar_to_keyword.gd
│ │ │ │ │ ├── identifier_similar_to_keyword.out
│ │ │ │ │ ├── invalid_escape_sequence.gd
│ │ │ │ │ ├── invalid_escape_sequence.out
│ │ │ │ │ ├── invalid_identifier_number.gd
│ │ │ │ │ ├── invalid_identifier_number.out
│ │ │ │ │ ├── invalid_identifier_string.gd
│ │ │ │ │ ├── invalid_identifier_string.out
│ │ │ │ │ ├── invalid_ternary_operator.gd
│ │ │ │ │ ├── invalid_ternary_operator.out
│ │ │ │ │ ├── lambda_no_continue_on_new_line.gd
│ │ │ │ │ ├── lambda_no_continue_on_new_line.out
│ │ │ │ │ ├── lambda_standalone.gd
│ │ │ │ │ ├── lambda_standalone.out
│ │ │ │ │ ├── lambda_without_colon.gd
│ │ │ │ │ ├── lambda_without_colon.out
│ │ │ │ │ ├── match_guard_with_assignment.gd
│ │ │ │ │ ├── match_guard_with_assignment.out
│ │ │ │ │ ├── match_multiple_variable_binds_in_branch.gd
│ │ │ │ │ ├── match_multiple_variable_binds_in_branch.out
│ │ │ │ │ ├── missing_closing_expr_paren.gd
│ │ │ │ │ ├── missing_closing_expr_paren.out
│ │ │ │ │ ├── missing_colon.gd
│ │ │ │ │ ├── missing_colon.out
│ │ │ │ │ ├── missing_expression_after_ternary_else.gd
│ │ │ │ │ ├── missing_expression_after_ternary_else.out
│ │ │ │ │ ├── missing_paren_after_args.gd
│ │ │ │ │ ├── missing_paren_after_args.out
│ │ │ │ │ ├── mistaken_decrement_operator.gd
│ │ │ │ │ ├── mistaken_decrement_operator.out
│ │ │ │ │ ├── mistaken_increment_operator.gd
│ │ │ │ │ ├── mistaken_increment_operator.out
│ │ │ │ │ ├── mixing_tabs_spaces.textonly.gd
│ │ │ │ │ ├── mixing_tabs_spaces.textonly.out
│ │ │ │ │ ├── multiple_number_separators.gd
│ │ │ │ │ ├── multiple_number_separators.out
│ │ │ │ │ ├── multiple_number_separators_after_decimal.gd
│ │ │ │ │ ├── multiple_number_separators_after_decimal.out
│ │ │ │ │ ├── nothing_after_dollar.gd
│ │ │ │ │ ├── nothing_after_dollar.out
│ │ │ │ │ ├── redefine_keyword.gd
│ │ │ │ │ ├── redefine_keyword.out
│ │ │ │ │ ├── redefine_local_constant_with_keyword.gd
│ │ │ │ │ ├── redefine_local_constant_with_keyword.out
│ │ │ │ │ ├── static_constructor_not_static.gd
│ │ │ │ │ ├── static_constructor_not_static.out
│ │ │ │ │ ├── static_constructor_returning_something.gd
│ │ │ │ │ ├── static_constructor_returning_something.out
│ │ │ │ │ ├── subscript_without_index.gd
│ │ │ │ │ ├── subscript_without_index.out
│ │ │ │ │ ├── unexpected_token_in_class_body.gd
│ │ │ │ │ ├── unexpected_token_in_class_body.out
│ │ │ │ │ ├── variable_conflicts_constant.gd
│ │ │ │ │ ├── variable_conflicts_constant.out
│ │ │ │ │ ├── variable_conflicts_for_variable.gd
│ │ │ │ │ ├── variable_conflicts_for_variable.out
│ │ │ │ │ ├── variable_conflicts_function.gd
│ │ │ │ │ ├── variable_conflicts_function.out
│ │ │ │ │ ├── variable_conflicts_variable.gd
│ │ │ │ │ ├── variable_conflicts_variable.out
│ │ │ │ │ ├── variadic_func_params_after_rest.gd
│ │ │ │ │ ├── variadic_func_params_after_rest.out
│ │ │ │ │ ├── variadic_func_rest_after_rest.gd
│ │ │ │ │ ├── variadic_func_rest_after_rest.out
│ │ │ │ │ ├── variadic_func_rest_with_default.gd
│ │ │ │ │ ├── variadic_func_rest_with_default.out
│ │ │ │ │ ├── variadic_func_static_init.gd
│ │ │ │ │ ├── variadic_func_static_init.out
│ │ │ │ │ ├── vcs_conflict_marker.gd
│ │ │ │ │ ├── vcs_conflict_marker.out
│ │ │ │ │ ├── warning_ignore_extra_start.gd
│ │ │ │ │ ├── warning_ignore_extra_start.out
│ │ │ │ │ ├── warning_ignore_restore_without_start.gd
│ │ │ │ │ ├── warning_ignore_restore_without_start.out
│ │ │ │ │ ├── wrong_value_after_dollar.gd
│ │ │ │ │ ├── wrong_value_after_dollar.out
│ │ │ │ │ ├── wrong_value_after_dollar_slash.gd
│ │ │ │ │ ├── wrong_value_after_dollar_slash.out
│ │ │ │ │ ├── yield_instead_of_await.gd
│ │ │ │ │ └── yield_instead_of_await.out
│ │ │ │ ├── features/
│ │ │ │ │ ├── advanced_expression_matching.gd
│ │ │ │ │ ├── advanced_expression_matching.out
│ │ │ │ │ ├── allow_id_similar_to_keyword_in_ascii.gd
│ │ │ │ │ ├── allow_id_similar_to_keyword_in_ascii.out
│ │ │ │ │ ├── allow_strings_as_comments.gd
│ │ │ │ │ ├── allow_strings_as_comments.out
│ │ │ │ │ ├── allowed_keywords_as_identifiers.gd
│ │ │ │ │ ├── allowed_keywords_as_identifiers.out
│ │ │ │ │ ├── annotations.gd
│ │ │ │ │ ├── annotations.out
│ │ │ │ │ ├── array.gd
│ │ │ │ │ ├── array.out
│ │ │ │ │ ├── arrays_dictionaries_nested_const.gd
│ │ │ │ │ ├── arrays_dictionaries_nested_const.out
│ │ │ │ │ ├── basic_expression_matching.gd
│ │ │ │ │ ├── basic_expression_matching.out
│ │ │ │ │ ├── bitwise_operators.gd
│ │ │ │ │ ├── bitwise_operators.out
│ │ │ │ │ ├── class.gd
│ │ │ │ │ ├── class.out
│ │ │ │ │ ├── class_inheritance.gd
│ │ │ │ │ ├── class_inheritance.out
│ │ │ │ │ ├── class_inheritance_access.gd
│ │ │ │ │ ├── class_inheritance_access.out
│ │ │ │ │ ├── class_name.gd
│ │ │ │ │ ├── class_name.out
│ │ │ │ │ ├── concatenation.gd
│ │ │ │ │ ├── concatenation.out
│ │ │ │ │ ├── constants.gd
│ │ │ │ │ ├── constants.out
│ │ │ │ │ ├── continuation_lines_comments.bin.gd
│ │ │ │ │ ├── continuation_lines_comments.bin.out
│ │ │ │ │ ├── dictionary.gd
│ │ │ │ │ ├── dictionary.out
│ │ │ │ │ ├── dictionary_lua_style.gd
│ │ │ │ │ ├── dictionary_lua_style.out
│ │ │ │ │ ├── dictionary_mixed_syntax.gd
│ │ │ │ │ ├── dictionary_mixed_syntax.out
│ │ │ │ │ ├── dollar_and_percent_get_node.gd
│ │ │ │ │ ├── dollar_and_percent_get_node.out
│ │ │ │ │ ├── dollar_node_paths.gd
│ │ │ │ │ ├── dollar_node_paths.out
│ │ │ │ │ ├── enum.gd
│ │ │ │ │ ├── enum.out
│ │ │ │ │ ├── export_arrays.gd
│ │ │ │ │ ├── export_arrays.out
│ │ │ │ │ ├── export_enum.gd
│ │ │ │ │ ├── export_enum.out
│ │ │ │ │ ├── export_variable.gd
│ │ │ │ │ ├── export_variable.out
│ │ │ │ │ ├── export_variable_global.notest.gd
│ │ │ │ │ ├── export_variable_unnamed.notest.gd
│ │ │ │ │ ├── float_notation.gd
│ │ │ │ │ ├── float_notation.out
│ │ │ │ │ ├── for_range.gd
│ │ │ │ │ ├── for_range.out
│ │ │ │ │ ├── function_default_parameter_type_inference.gd
│ │ │ │ │ ├── function_default_parameter_type_inference.out
│ │ │ │ │ ├── function_many_parameters.gd
│ │ │ │ │ ├── function_many_parameters.out
│ │ │ │ │ ├── good_continue_in_lambda.gd
│ │ │ │ │ ├── good_continue_in_lambda.out
│ │ │ │ │ ├── if_after_lambda.gd
│ │ │ │ │ ├── if_after_lambda.out
│ │ │ │ │ ├── in.gd
│ │ │ │ │ ├── in.out
│ │ │ │ │ ├── is_not_operator.gd
│ │ │ │ │ ├── is_not_operator.out
│ │ │ │ │ ├── lambda_callable.gd
│ │ │ │ │ ├── lambda_callable.out
│ │ │ │ │ ├── lambda_capture_callable.gd
│ │ │ │ │ ├── lambda_capture_callable.out
│ │ │ │ │ ├── lambda_default_parameter_capture.gd
│ │ │ │ │ ├── lambda_default_parameter_capture.out
│ │ │ │ │ ├── lambda_ends_with_new_line.gd
│ │ │ │ │ ├── lambda_ends_with_new_line.out
│ │ │ │ │ ├── lambda_named_callable.gd
│ │ │ │ │ ├── lambda_named_callable.out
│ │ │ │ │ ├── match.gd
│ │ │ │ │ ├── match.out
│ │ │ │ │ ├── match_array.gd
│ │ │ │ │ ├── match_array.out
│ │ │ │ │ ├── match_bind_unused.gd
│ │ │ │ │ ├── match_bind_unused.out
│ │ │ │ │ ├── match_dictionary.gd
│ │ │ │ │ ├── match_dictionary.out
│ │ │ │ │ ├── match_multiple_patterns_with_array.gd
│ │ │ │ │ ├── match_multiple_patterns_with_array.out
│ │ │ │ │ ├── match_multiple_variable_binds_in_pattern.gd
│ │ │ │ │ ├── match_multiple_variable_binds_in_pattern.out
│ │ │ │ │ ├── match_with_variables.gd
│ │ │ │ │ ├── match_with_variables.out
│ │ │ │ │ ├── mixed_indentation_on_blank_lines.gd
│ │ │ │ │ ├── mixed_indentation_on_blank_lines.out
│ │ │ │ │ ├── multiline_arrays.gd
│ │ │ │ │ ├── multiline_arrays.out
│ │ │ │ │ ├── multiline_assert.gd
│ │ │ │ │ ├── multiline_assert.out
│ │ │ │ │ ├── multiline_dictionaries.gd
│ │ │ │ │ ├── multiline_dictionaries.out
│ │ │ │ │ ├── multiline_if.gd
│ │ │ │ │ ├── multiline_if.out
│ │ │ │ │ ├── multiline_strings.gd
│ │ │ │ │ ├── multiline_strings.out
│ │ │ │ │ ├── multiline_vector.gd
│ │ │ │ │ ├── multiline_vector.out
│ │ │ │ │ ├── nested_arithmetic.gd
│ │ │ │ │ ├── nested_arithmetic.out
│ │ │ │ │ ├── nested_array.gd
│ │ │ │ │ ├── nested_array.out
│ │ │ │ │ ├── nested_dictionary.gd
│ │ │ │ │ ├── nested_dictionary.out
│ │ │ │ │ ├── nested_function_calls.gd
│ │ │ │ │ ├── nested_function_calls.out
│ │ │ │ │ ├── nested_if.gd
│ │ │ │ │ ├── nested_if.out
│ │ │ │ │ ├── nested_match.gd
│ │ │ │ │ ├── nested_match.out
│ │ │ │ │ ├── nested_parentheses.gd
│ │ │ │ │ ├── nested_parentheses.out
│ │ │ │ │ ├── number_literals_with_sign.gd
│ │ │ │ │ ├── number_literals_with_sign.out
│ │ │ │ │ ├── number_separators.gd
│ │ │ │ │ ├── number_separators.out
│ │ │ │ │ ├── operator_assign.gd
│ │ │ │ │ ├── operator_assign.out
│ │ │ │ │ ├── property_setter_getter.gd
│ │ │ │ │ ├── property_setter_getter.out
│ │ │ │ │ ├── r_strings.gd
│ │ │ │ │ ├── r_strings.out
│ │ │ │ │ ├── reserved_keywords_as_attribute.gd
│ │ │ │ │ ├── reserved_keywords_as_attribute.out
│ │ │ │ │ ├── semicolon_as_end_statement.gd
│ │ │ │ │ ├── semicolon_as_end_statement.out
│ │ │ │ │ ├── semicolon_as_terminator.gd
│ │ │ │ │ ├── semicolon_as_terminator.out
│ │ │ │ │ ├── signal_declaration.gd
│ │ │ │ │ ├── signal_declaration.out
│ │ │ │ │ ├── single_line_declaration.gd
│ │ │ │ │ ├── single_line_declaration.out
│ │ │ │ │ ├── space_indentation.gd
│ │ │ │ │ ├── space_indentation.out
│ │ │ │ │ ├── static_typing.gd
│ │ │ │ │ ├── static_typing.out
│ │ │ │ │ ├── str_preserves_case.gd
│ │ │ │ │ ├── str_preserves_case.out
│ │ │ │ │ ├── string_formatting.gd
│ │ │ │ │ ├── string_formatting.out
│ │ │ │ │ ├── super.gd
│ │ │ │ │ ├── super.out
│ │ │ │ │ ├── trailing_comma_in_function_args.gd
│ │ │ │ │ ├── trailing_comma_in_function_args.out
│ │ │ │ │ ├── truthiness.gd
│ │ │ │ │ ├── truthiness.out
│ │ │ │ │ ├── typed_arrays.gd
│ │ │ │ │ ├── typed_arrays.out
│ │ │ │ │ ├── typed_dictionaries.gd
│ │ │ │ │ ├── typed_dictionaries.out
│ │ │ │ │ ├── unicode_identifiers.gd
│ │ │ │ │ ├── unicode_identifiers.out
│ │ │ │ │ ├── unnamed_enums_outer_conflicts.gd
│ │ │ │ │ ├── unnamed_enums_outer_conflicts.out
│ │ │ │ │ ├── variable_declaration.gd
│ │ │ │ │ ├── variable_declaration.out
│ │ │ │ │ ├── vector_inf.gd
│ │ │ │ │ ├── vector_inf.out
│ │ │ │ │ ├── warning_ignore_regions.gd
│ │ │ │ │ ├── warning_ignore_regions.out
│ │ │ │ │ ├── while.gd
│ │ │ │ │ └── while.out
│ │ │ │ └── warnings/
│ │ │ │ ├── assert_always_true.gd
│ │ │ │ ├── assert_always_true.out
│ │ │ │ ├── confusable_identifier.gd
│ │ │ │ ├── confusable_identifier.out
│ │ │ │ ├── deprecated_operators.gd
│ │ │ │ ├── deprecated_operators.out
│ │ │ │ ├── empty_file.norun.gd
│ │ │ │ ├── empty_file.norun.out
│ │ │ │ ├── empty_file_comment.norun.gd
│ │ │ │ ├── empty_file_comment.norun.out
│ │ │ │ ├── empty_file_newline.norun.gd
│ │ │ │ ├── empty_file_newline.norun.out
│ │ │ │ ├── empty_file_newline_comment.norun.gd
│ │ │ │ ├── empty_file_newline_comment.norun.out
│ │ │ │ ├── enum_assign_int_without_casting.gd
│ │ │ │ ├── enum_assign_int_without_casting.out
│ │ │ │ ├── incompatible_ternary.gd
│ │ │ │ ├── incompatible_ternary.out
│ │ │ │ ├── integer_division.gd
│ │ │ │ ├── integer_division.out
│ │ │ │ ├── match_default_not_at_end.gd
│ │ │ │ ├── match_default_not_at_end.out
│ │ │ │ ├── narrowing_conversion.gd
│ │ │ │ ├── narrowing_conversion.out
│ │ │ │ ├── return_value_discarded.gd
│ │ │ │ ├── return_value_discarded.out
│ │ │ │ ├── shadowed_constant.gd
│ │ │ │ ├── shadowed_constant.out
│ │ │ │ ├── shadowed_global_identifier.gd
│ │ │ │ ├── shadowed_global_identifier.out
│ │ │ │ ├── shadowed_variable_class.gd
│ │ │ │ ├── shadowed_variable_class.out
│ │ │ │ ├── shadowed_variable_function.gd
│ │ │ │ ├── shadowed_variable_function.out
│ │ │ │ ├── standalone_expression.gd
│ │ │ │ ├── standalone_expression.out
│ │ │ │ ├── standalone_ternary.gd
│ │ │ │ ├── standalone_ternary.out
│ │ │ │ ├── static_called_on_instance.gd
│ │ │ │ ├── static_called_on_instance.out
│ │ │ │ ├── unassigned_variable.gd
│ │ │ │ ├── unassigned_variable.out
│ │ │ │ ├── unassigned_variable_op_assign.gd
│ │ │ │ ├── unassigned_variable_op_assign.out
│ │ │ │ ├── unreachable_code_after_return.gd
│ │ │ │ ├── unreachable_code_after_return.out
│ │ │ │ ├── unreachable_code_after_return_bug_55154.gd
│ │ │ │ ├── unreachable_code_after_return_bug_55154.out
│ │ │ │ ├── unused_argument.gd
│ │ │ │ ├── unused_argument.out
│ │ │ │ ├── unused_constant.gd
│ │ │ │ ├── unused_constant.out
│ │ │ │ ├── unused_variable.gd
│ │ │ │ └── unused_variable.out
│ │ │ ├── project.godot
│ │ │ ├── runtime/
│ │ │ │ ├── errors/
│ │ │ │ │ ├── array_bad_index.gd
│ │ │ │ │ ├── array_bad_index.out
│ │ │ │ │ ├── assign_freed_instance.gd
│ │ │ │ │ ├── assign_freed_instance.out
│ │ │ │ │ ├── assign_to_read_only_property.gd
│ │ │ │ │ ├── assign_to_read_only_property.out
│ │ │ │ │ ├── bad_conversion_for_default_parameter.gd
│ │ │ │ │ ├── bad_conversion_for_default_parameter.out
│ │ │ │ │ ├── callable_call_after_free_object.gd
│ │ │ │ │ ├── callable_call_after_free_object.out
│ │ │ │ │ ├── callable_call_invalid_arg_type.gd
│ │ │ │ │ ├── callable_call_invalid_arg_type.out
│ │ │ │ │ ├── cast_freed_object.gd
│ │ │ │ │ ├── cast_freed_object.out
│ │ │ │ │ ├── cast_int_to_array.gd
│ │ │ │ │ ├── cast_int_to_array.out
│ │ │ │ │ ├── cast_int_to_object.gd
│ │ │ │ │ ├── cast_int_to_object.out
│ │ │ │ │ ├── cast_object_to_int.gd
│ │ │ │ │ ├── cast_object_to_int.out
│ │ │ │ │ ├── constant_array_is_deep.gd
│ │ │ │ │ ├── constant_array_is_deep.out
│ │ │ │ │ ├── constant_dictionary_is_deep.gd
│ │ │ │ │ ├── constant_dictionary_is_deep.out
│ │ │ │ │ ├── division_by_zero.gd
│ │ │ │ │ ├── division_by_zero.out
│ │ │ │ │ ├── for_loop_iterator_type_not_match_specified.gd
│ │ │ │ │ ├── for_loop_iterator_type_not_match_specified.out
│ │ │ │ │ ├── gd_utility_function_wrong_arg.gd
│ │ │ │ │ ├── gd_utility_function_wrong_arg.out
│ │ │ │ │ ├── invalid_property_assignment.gd
│ │ │ │ │ ├── invalid_property_assignment.out
│ │ │ │ │ ├── modulo_by_zero.gd
│ │ │ │ │ ├── modulo_by_zero.out
│ │ │ │ │ ├── non_static_method_call_on_native_class.gd
│ │ │ │ │ ├── non_static_method_call_on_native_class.out
│ │ │ │ │ ├── outer_class_constants.gd
│ │ │ │ │ ├── outer_class_constants.out
│ │ │ │ │ ├── read_only_dictionary.gd
│ │ │ │ │ ├── read_only_dictionary.out
│ │ │ │ │ ├── reload_suspended_function.notest.gd
│ │ │ │ │ ├── reload_suspended_function.out
│ │ │ │ │ ├── reload_suspended_function_helper.notest.gd
│ │ │ │ │ ├── typed_array_assign_basic_to_typed.gd
│ │ │ │ │ ├── typed_array_assign_basic_to_typed.out
│ │ │ │ │ ├── typed_array_assign_differently_typed.gd
│ │ │ │ │ ├── typed_array_assign_differently_typed.out
│ │ │ │ │ ├── typed_array_assign_wrong_to_typed.gd
│ │ │ │ │ ├── typed_array_assign_wrong_to_typed.out
│ │ │ │ │ ├── typed_array_pass_basic_to_typed.gd
│ │ │ │ │ ├── typed_array_pass_basic_to_typed.out
│ │ │ │ │ ├── typed_array_pass_differently_to_typed.gd
│ │ │ │ │ ├── typed_array_pass_differently_to_typed.out
│ │ │ │ │ ├── typed_dictionary_assign_basic_to_typed.gd
│ │ │ │ │ ├── typed_dictionary_assign_basic_to_typed.out
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed.gd
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed.out
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed_key.gd
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed_key.out
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed_value.gd
│ │ │ │ │ ├── typed_dictionary_assign_differently_typed_value.out
│ │ │ │ │ ├── typed_dictionary_assign_wrong_to_typed.gd
│ │ │ │ │ ├── typed_dictionary_assign_wrong_to_typed.out
│ │ │ │ │ ├── typed_dictionary_pass_basic_to_typed.gd
│ │ │ │ │ ├── typed_dictionary_pass_basic_to_typed.out
│ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.gd
│ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.out
│ │ │ │ │ ├── untyped_override_return_incompatible_value.gd
│ │ │ │ │ ├── untyped_override_return_incompatible_value.out
│ │ │ │ │ ├── use_return_value_of_free_call.gd
│ │ │ │ │ ├── use_return_value_of_free_call.out
│ │ │ │ │ ├── use_return_value_of_void_builtin_method_call.gd
│ │ │ │ │ ├── use_return_value_of_void_builtin_method_call.out
│ │ │ │ │ ├── use_return_value_of_void_native_method_call.gd
│ │ │ │ │ ├── use_return_value_of_void_native_method_call.out
│ │ │ │ │ ├── utility_function_wrong_arg.gd
│ │ │ │ │ └── utility_function_wrong_arg.out
│ │ │ │ └── features/
│ │ │ │ ├── abstract_methods.gd
│ │ │ │ ├── abstract_methods.out
│ │ │ │ ├── argument_count.gd
│ │ │ │ ├── argument_count.out
│ │ │ │ ├── array_implicit_conversions.gd
│ │ │ │ ├── array_implicit_conversions.out
│ │ │ │ ├── array_string_stringname_equivalent.gd
│ │ │ │ ├── array_string_stringname_equivalent.out
│ │ │ │ ├── arrays_arent_shared.gd
│ │ │ │ ├── arrays_arent_shared.out
│ │ │ │ ├── assign_member_with_operation.gd
│ │ │ │ ├── assign_member_with_operation.out
│ │ │ │ ├── assign_operator.gd
│ │ │ │ ├── assign_operator.out
│ │ │ │ ├── await_on_void.gd
│ │ │ │ ├── await_on_void.out
│ │ │ │ ├── await_signal_with_parameters.gd
│ │ │ │ ├── await_signal_with_parameters.out
│ │ │ │ ├── await_without_coroutine.gd
│ │ │ │ ├── await_without_coroutine.out
│ │ │ │ ├── builtin_method_as_callable.gd
│ │ │ │ ├── builtin_method_as_callable.out
│ │ │ │ ├── call_native_static_base_method_runtime.gd
│ │ │ │ ├── call_native_static_base_method_runtime.out
│ │ │ │ ├── call_native_static_method_validated.gd
│ │ │ │ ├── call_native_static_method_validated.out
│ │ │ │ ├── callv_readonly_array.gd
│ │ │ │ ├── callv_readonly_array.out
│ │ │ │ ├── chain_assignment_works.gd
│ │ │ │ ├── chain_assignment_works.out
│ │ │ │ ├── compare_builtin_equals_null.gd
│ │ │ │ ├── compare_builtin_equals_null.out
│ │ │ │ ├── compare_builtin_not_equals_null.gd
│ │ │ │ ├── compare_builtin_not_equals_null.out
│ │ │ │ ├── compare_null_equals_builtin.gd
│ │ │ │ ├── compare_null_equals_builtin.out
│ │ │ │ ├── compare_null_not_equals_builtin.gd
│ │ │ │ ├── compare_null_not_equals_builtin.out
│ │ │ │ ├── const_class_reference.gd
│ │ │ │ ├── const_class_reference.out
│ │ │ │ ├── const_class_reference_external.notest.gd
│ │ │ │ ├── constants_are_read_only.gd
│ │ │ │ ├── constants_are_read_only.out
│ │ │ │ ├── conversion_for_default_parameter.gd
│ │ │ │ ├── conversion_for_default_parameter.out
│ │ │ │ ├── conversions_from_native_members.gd
│ │ │ │ ├── conversions_from_native_members.out
│ │ │ │ ├── coroutine_clearing.gd
│ │ │ │ ├── coroutine_clearing.out
│ │ │ │ ├── ctor_as_callable.gd
│ │ │ │ ├── ctor_as_callable.out
│ │ │ │ ├── default_set_beforehand.gd
│ │ │ │ ├── default_set_beforehand.out
│ │ │ │ ├── dictionaries_arent_shared.gd
│ │ │ │ ├── dictionaries_arent_shared.out
│ │ │ │ ├── dictionary_string_stringname_equivalent.gd
│ │ │ │ ├── dictionary_string_stringname_equivalent.out
│ │ │ │ ├── does_not_override_temp_values.gd
│ │ │ │ ├── does_not_override_temp_values.out
│ │ │ │ ├── duplicate_resource.gd
│ │ │ │ ├── duplicate_resource.out
│ │ │ │ ├── emit_after_await.gd
│ │ │ │ ├── emit_after_await.out
│ │ │ │ ├── emit_one_shot_is_non_recursive.gd
│ │ │ │ ├── emit_one_shot_is_non_recursive.out
│ │ │ │ ├── export_group_no_name_conflict_with_properties.gd
│ │ │ │ ├── export_group_no_name_conflict_with_properties.out
│ │ │ │ ├── first_class_callable_and_signal.gd
│ │ │ │ ├── first_class_callable_and_signal.out
│ │ │ │ ├── for_loop_iterator_specified_types.gd
│ │ │ │ ├── for_loop_iterator_specified_types.out
│ │ │ │ ├── for_loop_iterator_types.gd
│ │ │ │ ├── for_loop_iterator_types.out
│ │ │ │ ├── for_range.gd
│ │ │ │ ├── for_range.out
│ │ │ │ ├── free_is_callable.gd
│ │ │ │ ├── free_is_callable.out
│ │ │ │ ├── gdscript.gd
│ │ │ │ ├── gdscript.out
│ │ │ │ ├── gdscript_utility_implicit_conversion.gd
│ │ │ │ ├── gdscript_utility_implicit_conversion.out
│ │ │ │ ├── getter_with_freed_object.gd
│ │ │ │ ├── getter_with_freed_object.out
│ │ │ │ ├── lambda_bind_argument_count.gd
│ │ │ │ ├── lambda_bind_argument_count.out
│ │ │ │ ├── lambda_captures.gd
│ │ │ │ ├── lambda_captures.out
│ │ │ │ ├── lambda_get_method.gd
│ │ │ │ ├── lambda_get_method.out
│ │ │ │ ├── lambda_use_self.gd
│ │ │ │ ├── lambda_use_self.out
│ │ │ │ ├── lua_assign.gd
│ │ │ │ ├── lua_assign.out
│ │ │ │ ├── match_test_null.gd
│ │ │ │ ├── match_test_null.out
│ │ │ │ ├── match_with_pattern_guards.gd
│ │ │ │ ├── match_with_pattern_guards.out
│ │ │ │ ├── member_info.gd
│ │ │ │ ├── member_info.out
│ │ │ │ ├── member_info_inheritance.gd
│ │ │ │ ├── member_info_inheritance.out
│ │ │ │ ├── metatypes.gd
│ │ │ │ ├── metatypes.notest.gd
│ │ │ │ ├── metatypes.out
│ │ │ │ ├── native_static_method_as_callable.gd
│ │ │ │ ├── native_static_method_as_callable.out
│ │ │ │ ├── object_constructor.gd
│ │ │ │ ├── object_constructor.out
│ │ │ │ ├── object_iterators.gd
│ │ │ │ ├── object_iterators.out
│ │ │ │ ├── onready_base_before_subclass.gd
│ │ │ │ ├── onready_base_before_subclass.out
│ │ │ │ ├── parameter_shadowing.gd
│ │ │ │ ├── parameter_shadowing.out
│ │ │ │ ├── params_default_values.gd
│ │ │ │ ├── params_default_values.out
│ │ │ │ ├── property_with_operator_assignment.gd
│ │ │ │ ├── property_with_operator_assignment.out
│ │ │ │ ├── range_large_ints.gd
│ │ │ │ ├── range_large_ints.out
│ │ │ │ ├── range_optimized_in_for_has_int_iterator.gd
│ │ │ │ ├── range_optimized_in_for_has_int_iterator.out
│ │ │ │ ├── range_returns_ints.gd
│ │ │ │ ├── range_returns_ints.out
│ │ │ │ ├── recursion.gd
│ │ │ │ ├── recursion.out
│ │ │ │ ├── reset_local_var_on_exit_block.gd
│ │ │ │ ├── reset_local_var_on_exit_block.out
│ │ │ │ ├── reset_unassigned_variables_in_loops.gd
│ │ │ │ ├── reset_unassigned_variables_in_loops.out
│ │ │ │ ├── reset_uninit_local_vars.gd
│ │ │ │ ├── reset_uninit_local_vars.out
│ │ │ │ ├── self_destruction.gd
│ │ │ │ ├── self_destruction.out
│ │ │ │ ├── set_does_not_leak.gd
│ │ │ │ ├── set_does_not_leak.out
│ │ │ │ ├── setter_chain_shared_types.gd
│ │ │ │ ├── setter_chain_shared_types.out
│ │ │ │ ├── setter_chain_shared_types_2.gd
│ │ │ │ ├── setter_chain_shared_types_2.out
│ │ │ │ ├── simple_setter_chain_call_setter.gd
│ │ │ │ ├── simple_setter_chain_call_setter.out
│ │ │ │ ├── single_underscore_node_name.gd
│ │ │ │ ├── single_underscore_node_name.out
│ │ │ │ ├── standalone_calls_do_not_write_to_nil.gd
│ │ │ │ ├── standalone_calls_do_not_write_to_nil.out
│ │ │ │ ├── static_access_via_instance.gd
│ │ │ │ ├── static_access_via_instance.out
│ │ │ │ ├── static_constructor.gd
│ │ │ │ ├── static_constructor.out
│ │ │ │ ├── static_func_as_callable.gd
│ │ │ │ ├── static_func_as_callable.out
│ │ │ │ ├── static_method_as_callable.gd
│ │ │ │ ├── static_method_as_callable.out
│ │ │ │ ├── static_variables.gd
│ │ │ │ ├── static_variables.out
│ │ │ │ ├── static_variables_2.gd
│ │ │ │ ├── static_variables_2.out
│ │ │ │ ├── static_variables_load.gd
│ │ │ │ ├── static_variables_load.out
│ │ │ │ ├── static_variables_other.gd
│ │ │ │ ├── static_variables_other.out
│ │ │ │ ├── string_stringname_equivalent.gd
│ │ │ │ ├── string_stringname_equivalent.out
│ │ │ │ ├── stringify.gd
│ │ │ │ ├── stringify.out
│ │ │ │ ├── type_casting.gd
│ │ │ │ ├── type_casting.out
│ │ │ │ ├── typed_argument_is_null.gd
│ │ │ │ ├── typed_argument_is_null.out
│ │ │ │ ├── typed_array_concatenation.gd
│ │ │ │ ├── typed_array_concatenation.out
│ │ │ │ ├── typed_array_implicit_cast_param.gd
│ │ │ │ ├── typed_array_implicit_cast_param.out
│ │ │ │ ├── typed_array_init_with_untyped_in_literal.gd
│ │ │ │ ├── typed_array_init_with_untyped_in_literal.out
│ │ │ │ ├── typed_assignment.gd
│ │ │ │ ├── typed_assignment.out
│ │ │ │ ├── typed_dictionary_implicit_cast_param.gd
│ │ │ │ ├── typed_dictionary_implicit_cast_param.out
│ │ │ │ ├── typed_dictionary_init_with_untyped_in_literal.gd
│ │ │ │ ├── typed_dictionary_init_with_untyped_in_literal.out
│ │ │ │ ├── use_conversion_assign_with_variant_value.gd
│ │ │ │ ├── use_conversion_assign_with_variant_value.out
│ │ │ │ ├── utility_func_as_callable.gd
│ │ │ │ ├── utility_func_as_callable.out
│ │ │ │ ├── variadic_functions.gd
│ │ │ │ └── variadic_functions.out
│ │ │ └── utils.notest.gd
│ │ ├── test_completion.h
│ │ ├── test_gdscript.cpp
│ │ ├── test_gdscript.h
│ │ └── test_lsp.h
│ ├── glslang/
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── register_types.cpp
│ │ ├── register_types.h
│ │ └── shader_compile.h
│ ├── gltf/
│ │ ├── README.md
│ │ ├── SCsub
│ │ ├── config.py
│ │ ├── doc_classes/
│ │ │ ├── EditorSceneFormatImporterBlend.xml
│ │ │ ├── EditorSceneFormatImporterGLTF.xml
│ │ │ ├── GLTFAccessor.xml
│ │ │ ├── GLTFAnimation.xml
│ │ │ ├── GLTFBufferView.xml
│ │ │ ├── GLTFCamera.xml
│ │ │ ├── GLTFDocument.xml
│ │ │ ├── GLTFDocumentExtension.xml
│ │ │ ├── GLTFDocumentExtensionConvertImporterMesh.xml
│ │ │ ├── GLTFLight.xml
│ │ │ ├── GLTFMesh.xml
│ │ │ ├── GLTFNode.xml
│ │ │ ├── GLTFObjectModelProperty.xml
│ │ │ ├── GLTFPhysicsBody.xml
│ │ │ ├── GLTFPhysicsShape.xml
│ │ │ ├── GLTFSkeleton.xml
│ │ │ ├── GLTFSkin.xml
│ │ │ ├── GLTFSpecGloss.xml
│ │ │ ├── GLTFState.xml
│ │ │ ├── GLTFTexture.xml
│ │ │ └── GLTFTextureSampler.xml
│ │ ├── editor/
│ │ │ ├── editor_import_blend_runner.cpp
│ │ │ ├── editor_import_blend_runner.h
│ │ │ ├── editor_scene_exporter_gltf_plugin.cpp
│ │ │ ├── editor_scene_exporter_gltf_plugin.h
│ │ │ ├── editor_scene_exporter_gltf_settings.cpp
│ │ │ ├── editor_scene_exporter_gltf_settings.h
│ │ │ ├── editor_scene_importer_blend.cpp
│ │ │ ├── editor_scene_importer_blend.h
│ │ │ ├── editor_scene_importer_gltf.cpp
│ │ │
================================================
FILE CONTENTS
================================================
================================================
FILE: .clang-format
================================================
# If you change this file, please format all files of the codebase as part of your PR:
# pre-commit run clang-format --all
# Commented out parameters are those with the same value as base LLVM style.
# We can uncomment them if we want to change their value, or enforce the
# chosen value in case the base style changes (last sync: Clang 18.1.8).
BasedOnStyle: LLVM
AccessModifierOffset: -4
AlignAfterOpenBracket: DontAlign
# AlignArrayOfStructures: None
# AlignConsecutiveAssignments:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: true
# AlignConsecutiveBitFields:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: false
# AlignConsecutiveDeclarations:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: false
# AlignConsecutiveMacros:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCompound: false
# AlignFunctionPointers: false
# PadOperators: false
# AlignConsecutiveShortCaseStatements:
# Enabled: false
# AcrossEmptyLines: false
# AcrossComments: false
# AlignCaseColons: false
AlignEscapedNewlines: DontAlign # Aligning leads to long diffs
AlignOperands: DontAlign
AlignTrailingComments:
Kind: Never
OverEmptyLines: 0
# AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: false
# AllowBreakBeforeNoexceptSpecifier: Never
# AllowShortBlocksOnASingleLine: Never
# AllowShortCaseLabelsOnASingleLine: false
# AllowShortCompoundRequirementOnASingleLine: true
# AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: Inline
# AllowShortIfStatementsOnASingleLine: Never
# AllowShortLambdasOnASingleLine: All
# AllowShortLoopsOnASingleLine: false
# AlwaysBreakAfterDefinitionReturnType: None
# AlwaysBreakAfterReturnType: None
# AlwaysBreakBeforeMultilineStrings: false
# AlwaysBreakTemplateDeclarations: MultiLine
AttributeMacros:
- _ALWAYS_INLINE_
- _FORCE_INLINE_
- _NO_INLINE_
# BinPackArguments: true
# BinPackParameters: true
# BitFieldColonSpacing: Both
# BraceWrapping:
# AfterCaseLabel: false
# AfterClass: false
# AfterControlStatement: Never
# AfterEnum: false
# AfterFunction: false
# AfterNamespace: false
# AfterObjCDeclaration: false
# AfterStruct: false
# AfterUnion: false
# AfterExternBlock: false
# BeforeCatch: false
# BeforeElse: false
# BeforeLambdaBody: false
# BeforeWhile: false
# IndentBraces: false
# SplitEmptyFunction: true
# SplitEmptyRecord: true
# SplitEmptyNamespace: true
# BreakAdjacentStringLiterals: true
# BreakAfterAttributes: Leave
# BreakAfterJavaFieldAnnotations: false
# BreakArrays: true
# BreakBeforeBinaryOperators: None
# BreakBeforeBraces: Attach
# BreakBeforeConceptDeclarations: Always
# BreakBeforeInlineASMColon: OnlyMultiline
# BreakBeforeTernaryOperators: true
BreakConstructorInitializers: AfterColon
# BreakInheritanceList: BeforeColon
# BreakStringLiterals: true
ColumnLimit: 0
# CommentPragmas: "^ IWYU pragma:"
# CompactNamespaces: false
ConstructorInitializerIndentWidth: 8
ContinuationIndentWidth: 8
Cpp11BracedListStyle: false
# DerivePointerAlignment: false
# DisableFormat: false
# EmptyLineAfterAccessModifier: Never
# EmptyLineBeforeAccessModifier: LogicalBlock
# ExperimentalAutoDetectBinPacking: false
# FixNamespaceComments: true
# ForEachMacros:
# - foreach
# - Q_FOREACH
# - BOOST_FOREACH
# IfMacros:
# - KJ_IF_MAYBE
IncludeBlocks: Regroup
IncludeCategories:
- Regex: ^"(core|drivers|editor|main|scene|servers|tests)/.*"$
Priority: 20
- Regex: ^"(modules|platform)/.*"$
Priority: 30
- Regex: ^<thirdparty/.*>$
Priority: 40
- Regex: ^<(windows|Jolt/Jolt|platform_gl)\.h>$
Priority: 50
- Regex: ^<.*\.(h|hpp)>$
Priority: 60
- Regex: ^<.*>$
Priority: 70
- Regex: ^".*\.compat\.inc"$
Priority: 0
SortPriority: 1
- Regex: ^".*"$
Priority: 10
# IncludeIsMainRegex: (Test)?$
# IncludeIsMainSourceRegex: ""
# IndentAccessModifiers: false
# IndentCaseBlocks: false
IndentCaseLabels: true
# IndentExternBlock: AfterExternBlock
# IndentGotoLabels: true
# IndentPPDirectives: None
# IndentRequiresClause: true
IndentWidth: 4
# IndentWrappedFunctionNames: false
InsertBraces: true
# InsertNewlineAtEOF: false
# InsertTrailingCommas: None
# IntegerLiteralSeparator:
# Binary: 0
# BinaryMinDigits: 0
# Decimal: 0
# DecimalMinDigits: 0
# Hex: 0
# HexMinDigits: 0
JavaImportGroups:
- org.godotengine
- android
- androidx
- com.android
- com.google
- java
- javax
# JavaScriptQuotes: Leave
# JavaScriptWrapImports: true
# KeepEmptyLinesAtEOF: false
KeepEmptyLinesAtTheStartOfBlocks: false
# LambdaBodyIndentation: Signature
# Language: Cpp
# LineEnding: DeriveLF
# MacroBlockBegin: ""
# MacroBlockEnd: ""
# MaxEmptyLinesToKeep: 1
# NamespaceIndentation: None
# ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 4
# ObjCBreakBeforeNestedBlockParam: true
# ObjCSpaceAfterProperty: false
# ObjCSpaceBeforeProtocolList: true
# PPIndentWidth: -1
PackConstructorInitializers: NextLine
# PenaltyBreakAssignment: 2
# PenaltyBreakBeforeFirstCallParameter: 19
# PenaltyBreakComment: 300
# PenaltyBreakFirstLessLess: 120
# PenaltyBreakOpenParenthesis: 0
# PenaltyBreakScopeResolution: 500
# PenaltyBreakString: 1000
# PenaltyBreakTemplateDeclaration: 10
# PenaltyExcessCharacter: 1000000
# PenaltyIndentedWhitespace: 0
# PenaltyReturnTypeOnItsOwnLine: 60
# PointerAlignment: Right
# QualifierAlignment: Leave
# ReferenceAlignment: Pointer
# ReflowComments: true
# RemoveBracesLLVM: false
# RemoveParentheses: Leave
RemoveSemicolon: true
# RequiresClausePosition: OwnLine
# RequiresExpressionIndentation: OuterScope
# SeparateDefinitionBlocks: Leave
# ShortNamespaceLines: 1
# SkipMacroDefinitionBody: false
# SortIncludes: CaseSensitive
# SortJavaStaticImport: Before
# SortUsingDeclarations: LexicographicNumeric
# SpaceAfterCStyleCast: false
# SpaceAfterLogicalNot: false
# SpaceAfterTemplateKeyword: true
# SpaceAroundPointerQualifiers: Default
# SpaceBeforeAssignmentOperators: true
# SpaceBeforeCaseColon: false
# SpaceBeforeCpp11BracedList: false
# SpaceBeforeCtorInitializerColon: true
# SpaceBeforeInheritanceColon: true
# SpaceBeforeJsonColon: false
# SpaceBeforeParens: ControlStatements
# SpaceBeforeParensOptions:
# AfterControlStatements: true
# AfterForeachMacros: true
# AfterFunctionDeclarationName: false
# AfterFunctionDefinitionName: false
# AfterIfMacros: true
# AfterOverloadedOperator: false
# AfterPlacementOperator: true
# AfterRequiresInClause: false
# AfterRequiresInExpression: false
# BeforeNonEmptyParentheses: false
# SpaceBeforeRangeBasedForLoopColon: true
# SpaceBeforeSquareBrackets: false
# SpaceInEmptyBlock: false
# SpacesBeforeTrailingComments: 1
# SpacesInAngles: Never
# SpacesInContainerLiterals: true
SpacesInLineCommentPrefix:
Minimum: 0 # We want a minimum of 1 for comments, but allow 0 for disabled code.
Maximum: -1
# SpacesInParens: Never
# SpacesInParensOptions:
# InConditionalStatements: false
# InCStyleCasts: false
# InEmptyParentheses: false
# Other: false
# SpacesInSquareBrackets: false
Standard: c++20
# StatementAttributeLikeMacros:
# - Q_EMIT
# StatementMacros:
# - Q_UNUSED
# - QT_REQUIRE_VERSION
TabWidth: 4
UseTab: Always
# VerilogBreakBetweenInstancePorts: true
# WhitespaceSensitiveMacros:
# - BOOST_PP_STRINGIZE
# - CF_SWIFT_NAME
# - NS_SWIFT_NAME
# - PP_STRINGIZE
# - STRINGIZE
================================================
FILE: .clang-tidy
================================================
# If you change this file, please format all files of the codebase as part of your PR:
# pre-commit run --hook-stage manual clang-tidy --all
Checks:
- -*
- bugprone-use-after-move
- modernize-deprecated-headers
- modernize-redundant-void-arg
- modernize-use-bool-literals
# - modernize-use-default-member-init # TODO Re-activate
- modernize-use-nullptr
- readability-braces-around-statements
- readability-redundant-member-init
- readability-operators-representation
HeaderFileExtensions: ["", h, hh, hpp, hxx, inc, glsl]
ImplementationFileExtensions: [c, cc, cpp, cxx, m, mm, java]
HeaderFilterRegex: (core|doc|drivers|editor|main|modules|platform|scene|servers|tests)/
FormatStyle: file
CheckOptions:
modernize-deprecated-headers.CheckHeaderFile: true
modernize-use-bool-literals.IgnoreMacros: false
modernize-use-default-member-init.IgnoreMacros: false
modernize-use-default-member-init.UseAssignment: true
readability-operators-representation.BinaryOperators: "&&;&=;&;|;~;!;!=;||;|=;^;^="
readability-operators-representation.OverloadedOperators: "&&;&=;&;|;~;!;!=;||;|=;^;^="
================================================
FILE: .clangd
================================================
# https://clangd.llvm.org/config
---
# Default conditions, apply everywhere.
CompileFlags:
Add:
# Some thirdparty includes seem to require a high -ferror-limit to pass checks.
- -ferror-limit=100
Diagnostics:
Includes:
IgnoreHeader:
- \.compat\.inc
---
# Header-specific conditions.
If:
PathMatch: .*\.(h|hh|hpp|hxx|inc)
# Exclude certain, noisy warnings that lack full context. Replace with lowered severity if/when
# clangd gets diagnostic severity support. (See: https://github.com/clangd/clangd/issues/1937)
CompileFlags:
Add:
- -Wno-unneeded-internal-declaration
- -Wno-unused-const-variable
- -Wno-unused-function
- -Wno-unused-variable
---
# Suppress warnings for third-party or partial code.
If:
PathMatch:
- bin/build_deps/.*
- misc/dist/apple_embedded_xcode/.*
- tests/compatibility_test/.*
- thirdparty/.*
- .*/thirdparty/.*
- .*-so_wrap.[ch]
Diagnostics:
Suppress: "*"
================================================
FILE: .editorconfig
================================================
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = tab
insert_final_newline = true
max_line_length = 120
trim_trailing_whitespace = true
[{*.py,SConstruct,SCsub}]
indent_style = space
[{*.{yml,yaml},.clang{-format,-tidy,d}}]
indent_size = 2
indent_style = space
[{*.props,*.vcxproj}]
indent_size = 2
indent_style = space
================================================
FILE: .git-blame-ignore-revs
================================================
# This file contains a list of Git commit hashes that should be hidden from the
# regular Git history. Typically, this includes commits involving mass auto-formatting
# or other normalizations. Commit hashes *must* use the full 40-character notation.
# To apply the ignore list in your local Git client, you must run:
#
# git config blame.ignoreRevsFile .git-blame-ignore-revs
#
# This file is automatically used by GitHub.com's blame view.
# A Whole New World (clang-format edition)
5dbf1809c6e3e905b94b8764e99491e608122261
# Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocks
0be6d925dc3c6413bce7a3ccb49631b8e4a6e67a
# Style: clang-format: Disable AllowShortIfStatementsOnASingleLine
e956e80c1fa1cc8aefcb1533e5acf5cf3c8ffdd9
# One Copyright Update to rule them all
d95794ec8a7c362b06a9cf080e2554ef77adb667
# Update copyright statements to 2022
fe52458154c64fb1b741df4f7bd10106395f7cbd
# Update copyright statements to 2021
b5334d14f7a471f94bcbd64d5bae2ad853d0b7f1
# Update copyright statements to 2020
a7f49ac9a107820a62677ee3fb49d38982a25165
# Update copyright statements to 2019
b16c309f82c77d606472c3c721a1857e323a09e7
# Update copyright statements to 2018
b50a9114b105dafafdda8248a38653bca314a6f3
# Welcome in 2017, dear changelog reader!
c7bc44d5ad9aae4902280012f7654e2318cd910e
# Update copyright to 2016 in headers
5be9ff7b6715a661e85f99b108f96340de7ef435
# Updated copyright year in all headers
fdaa2920eb21fff3320a17e9239e04dfadecdb00
# Add missing copyright headers and fix formatting
e4213e66b2dd8f5a87d8cf5015ac83ba3143279d
# Use HTTPS URL for Godot's website in the headers
bd282ff43f23fe845f29a3e25c8efc01bd65ffb0
# Add "Godot Engine contributors" copyright line
df61dc4b2bd54a5a40c515493c76f5a458e5b541
# Enforce template syntax `typename` over `class`
9903e6779b70fc03aae70a37b9cf053f4f355b91
# Style: Apply new `clang-format` fixes
b37fc1014abf7adda70dc30b0822d775b3a4433f
# Set clang-format `RemoveSemicolon` rule to `true`
0d350e71086fffce0553811739aae9f6ad66136c
# Style: Apply clang-tidy fixes (superficial)
bb5f390fb9b466be35a5df7651323d7e66afca31
# Style: Enforce `AllowShortFunctionsOnASingleLine`
e06d83860d798b6766b23d6eae48557387a7db85
# Style: Enforce trailing newlines on svgs
7e5baa042639ffa835271703c720e2595e90afb8
# Style: Replace header guards with `#pragma once`
324512e11c1b7663c3cf47bec6ddbe65c6b8db2b
# Style: Don't right-align escaped newlines
c5df0cb82bc539eff7dcfb2add99d60771fc50c5
# Style: Convert `*.gen.inc` to `*.gen.h`
7dae5da1982f4a55ba91557814905faef9ce461b
# Move RenderingServer enums to a dedicated RenderingServerEnums (`RSE`) namespace
f5a290ac462765afca34e64dd39f883511510147
# Style: Add `class_db.h` includes explicitly
e380a417526c11f15a9ddb3997292409b10da2af
# Move DisplayServer enums and typedefs to DisplayServerEnums
a447ac95ec170ee117c2eae55f1bfff0d0cf0dce
================================================
FILE: .gitattributes
================================================
# Properly detect languages on Github
*.h linguist-language=C++
*.inc linguist-language=C++
thirdparty/* linguist-vendored
# Normalize EOL for all files that Git considers text files
* text=auto eol=lf
# Except for Windows-only / Visual Studio files
*.bat eol=crlf
*.sln eol=crlf
*.csproj eol=crlf
misc/msvs/* eol=crlf
# And some test files where the EOL matters
*.test.txt -text
# The above only works properly for Git 2.10+, so for older versions
# we need to manually list the binary files we don't want modified.
*.icns binary
*.ico binary
*.jar binary
*.png binary
*.ttf binary
*.tza binary
================================================
FILE: .github/CODEOWNERS
================================================
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# Owners can be @users, @org/teams or emails.
# Core
/core/ @godotengine/core
/core/crypto/ @godotengine/network
/core/debugger/ @godotengine/debugger
/core/extension/ @godotengine/gdextension
/core/input/ @godotengine/input
# Doc
/doc/ @godotengine/documentation
/doc/translations/ @godotengine/i18n
# Drivers
## Audio
/drivers/alsa/ @godotengine/audio
/drivers/alsamidi/ @godotengine/audio
/drivers/coreaudio/ @godotengine/audio
/drivers/coremidi/ @godotengine/audio
/drivers/pulseaudio/ @godotengine/audio
/drivers/wasapi/ @godotengine/audio
/drivers/winmidi/ @godotengine/audio
/drivers/xaudio2/ @godotengine/audio
## Input
/drivers/sdl/ @godotengine/input
## Rendering
/drivers/d3d12/ @godotengine/rendering
/drivers/dummy/ @godotengine/rendering
/drivers/egl/ @godotengine/rendering
/drivers/gles3/ @godotengine/rendering
/drivers/metal/ @godotengine/rendering
/drivers/spirv-reflect/ @godotengine/rendering
/drivers/vulkan/ @godotengine/rendering
## OS
/drivers/apple*/ @godotengine/macos
/drivers/unix/ @godotengine/linux-bsd
/drivers/windows/ @godotengine/windows
## Misc
/drivers/register_driver_types.* @godotengine/buildsystem
/drivers/accesskit/ @godotengine/buildsystem
/drivers/png/ @godotengine/asset-pipeline
# Editor
/editor/ @godotengine/editor
/editor/animation/ @godotengine/editor @godotengine/animation
/editor/audio/ @godotengine/editor @godotengine/audio
/editor/debugger/ @godotengine/editor @godotengine/debugger
/editor/doc/ @godotengine/editor @godotengine/documentation
/editor/gui/ @godotengine/editor @godotengine/gui-nodes
/editor/import/ @godotengine/editor @godotengine/asset-pipeline
/editor/scene/2d/ @godotengine/editor @godotengine/2d-nodes
/editor/scene/2d/physics/ @godotengine/editor @godotengine/physics
/editor/scene/3d/ @godotengine/editor @godotengine/3d-nodes
/editor/scene/3d/physics/ @godotengine/editor @godotengine/physics
/editor/scene/gui/ @godotengine/editor @godotengine/gui-nodes
/editor/script/ @godotengine/editor @godotengine/script-editor
/editor/shader/ @godotengine/editor @godotengine/script-editor @godotengine/shaders
/editor/themes/ @godotengine/editor @godotengine/gui-nodes
/editor/translations/ @godotengine/i18n
# Main
/main/ @godotengine/core
# Misc
/misc/ @godotengine/buildsystem
/misc/extension_api_validation/ @godotengine/gdextension @godotengine/dotnet
# Modules
## Audio (+ video)
/modules/interactive_music/ @godotengine/audio
/modules/interactive_music/doc_classes/ @godotengine/audio @godotengine/documentation
/modules/interactive_music/editor/ @godotengine/audio @godotengine/editor
/modules/mp3/ @godotengine/audio
/modules/mp3/doc_classes/ @godotengine/audio @godotengine/documentation
/modules/ogg/ @godotengine/audio
/modules/ogg/doc_classes/ @godotengine/audio @godotengine/documentation
/modules/theora/ @godotengine/audio
/modules/theora/doc_classes/ @godotengine/audio @godotengine/documentation
/modules/theora/editor/ @godotengine/audio @godotengine/editor
/modules/vorbis/ @godotengine/audio
/modules/vorbis/doc_classes/ @godotengine/audio @godotengine/documentation
## Import
/modules/astcenc/ @godotengine/asset-pipeline
/modules/basis_universal/ @godotengine/asset-pipeline
/modules/bcdec/ @godotengine/asset-pipeline
/modules/betsy/ @godotengine/asset-pipeline
/modules/bmp/ @godotengine/asset-pipeline
/modules/cvtt/ @godotengine/asset-pipeline
/modules/dds/ @godotengine/asset-pipeline
/modules/dds/tests/ @godotengine/asset-pipeline @godotengine/tests
/modules/etcpak/ @godotengine/asset-pipeline
/modules/fbx/ @godotengine/asset-pipeline
/modules/fbx/doc_classes/ @godotengine/asset-pipeline @godotengine/documentation
/modules/fbx/editor/ @godotengine/asset-pipeline @godotengine/editor
/modules/gltf/ @godotengine/asset-pipeline
/modules/gltf/doc_classes/ @godotengine/asset-pipeline @godotengine/documentation
/modules/gltf/editor/ @godotengine/asset-pipeline @godotengine/editor
/modules/gltf/tests/ @godotengine/asset-pipeline @godotengine/tests
/modules/hdr/ @godotengine/asset-pipeline
/modules/jpg/ @godotengine/asset-pipeline
/modules/ktx/ @godotengine/asset-pipeline
/modules/squish/ @godotengine/asset-pipeline
/modules/svg/ @godotengine/asset-pipeline
/modules/tga/ @godotengine/asset-pipeline
/modules/tinyexr/ @godotengine/asset-pipeline
/modules/webp/ @godotengine/asset-pipeline
## Network
/modules/enet/ @godotengine/network
/modules/enet/doc_classes/ @godotengine/network @godotengine/documentation
/modules/mbedtls/ @godotengine/network
/modules/mbedtls/tests/ @godotengine/network @godotengine/tests
/modules/multiplayer/ @godotengine/network
/modules/multiplayer/doc_classes/ @godotengine/network @godotengine/documentation
/modules/multiplayer/editor/ @godotengine/network @godotengine/editor
/modules/multiplayer/tests/ @godotengine/network @godotengine/tests
/modules/upnp/ @godotengine/network
/modules/upnp/doc_classes/ @godotengine/network @godotengine/documentation
/modules/webrtc/ @godotengine/network
/modules/webrtc/doc_classes/ @godotengine/network @godotengine/documentation
/modules/websocket/ @godotengine/network
/modules/websocket/doc_classes/ @godotengine/network @godotengine/documentation
/modules/websocket/editor/ @godotengine/network @godotengine/editor
## Physics
/modules/godot_physics_2d/ @godotengine/physics
/modules/godot_physics_3d/ @godotengine/physics
/modules/jolt_physics/ @godotengine/physics @godotengine/jolt-physics
## Rendering
/modules/glslang/ @godotengine/rendering
/modules/lightmapper_rd/ @godotengine/rendering
/modules/meshoptimizer/ @godotengine/rendering
/modules/raycast/ @godotengine/rendering
/modules/vhacd/ @godotengine/rendering
/modules/xatlas_unwrap/ @godotengine/rendering
## Scripting
/modules/gdscript/ @godotengine/gdscript
/modules/gdscript/doc_classes/ @godotengine/gdscript @godotengine/documentation
/modules/gdscript/editor/ @godotengine/gdscript @godotengine/script-editor
/modules/gdscript/tests/ @godotengine/gdscript @godotengine/tests
/modules/jsonrpc/ @godotengine/gdscript @godotengine/network
/modules/jsonrpc/tests/ @godotengine/gdscript @godotengine/network @godotengine/tests
/modules/mono/ @godotengine/dotnet
/modules/mono/doc_classes/ @godotengine/dotnet @godotengine/documentation
/modules/mono/editor/ @godotengine/dotnet @godotengine/script-editor
## Text
/modules/freetype/ @godotengine/buildsystem
/modules/msdfgen/ @godotengine/buildsystem
/modules/text_server_adv/ @godotengine/gui-nodes
/modules/text_server_adv/doc_classes/ @godotengine/gui-nodes @godotengine/documentation
/modules/text_server_fb/ @godotengine/gui-nodes
/modules/text_server_fb/doc_classes/ @godotengine/gui-nodes @godotengine/documentation
## XR
/modules/camera/ @godotengine/xr
/modules/mobile_vr/ @godotengine/xr
/modules/mobile_vr/doc_classes/ @godotengine/xr @godotengine/documentation
/modules/openxr/ @godotengine/xr
/modules/openxr/doc_classes/ @godotengine/xr @godotengine/documentation
/modules/openxr/editor/ @godotengine/xr @godotengine/editor
/modules/webxr/ @godotengine/xr
/modules/webxr/doc_classes/ @godotengine/xr @godotengine/documentation
## Misc
/modules/register_module_types.* @godotengine/buildsystem
/modules/csg/ @godotengine/3d-nodes
/modules/csg/doc_classes/ @godotengine/3d-nodes @godotengine/documentation
/modules/csg/editor/ @godotengine/3d-nodes @godotengine/editor
/modules/csg/tests/ @godotengine/3d-nodes @godotengine/tests
/modules/gridmap/ @godotengine/3d-nodes
/modules/gridmap/doc_classes/ @godotengine/3d-nodes @godotengine/documentation
/modules/gridmap/editor/ @godotengine/3d-nodes @godotengine/editor
/modules/navigation_2d/ @godotengine/navigation
/modules/navigation_2d/editor/ @godotengine/navigation @godotengine/editor
/modules/navigation_3d/ @godotengine/navigation
/modules/navigation_3d/editor/ @godotengine/navigation @godotengine/editor
/modules/noise/ @godotengine/core
/modules/noise/doc_classes/ @godotengine/core @godotengine/documentation
/modules/noise/editor/ @godotengine/core @godotengine/editor
/modules/noise/tests/ @godotengine/core @godotengine/tests
/modules/objectdb_profiler/ @godotengine/debugger
/modules/objectdb_profiler/editor/ @godotengine/debugger @godotengine/editor
/modules/regex/ @godotengine/core
/modules/regex/doc_classes/ @godotengine/core @godotengine/documentation
/modules/regex/tests/ @godotengine/core @godotengine/tests
/modules/zip/ @godotengine/core
/modules/zip/doc_classes/ @godotengine/core @godotengine/documentation
/modules/zip/tests/ @godotengine/core @godotengine/tests
# Platform
/platform/register_platform_apis.* @godotengine/buildsystem
/platform/android/ @godotengine/android
/platform/android/doc_classes/ @godotengine/android @godotengine/documentation
/platform/ios/ @godotengine/ios
/platform/ios/doc_classes/ @godotengine/ios @godotengine/documentation
/platform/linuxbsd/ @godotengine/linux-bsd
/platform/linuxbsd/doc_classes/ @godotengine/linux-bsd @godotengine/documentation
/platform/macos/ @godotengine/macos
/platform/macos/doc_classes/ @godotengine/macos @godotengine/documentation
/platform/visionos/ @godotengine/xr
/platform/visionos/doc_classes/ @godotengine/xr @godotengine/documentation
/platform/web/ @godotengine/web
/platform/web/doc_classes/ @godotengine/web @godotengine/documentation
/platform/windows/ @godotengine/windows
/platform/windows/doc_classes/ @godotengine/windows @godotengine/documentation
# Scene
/scene/property_* @godotengine/buildsystem
/scene/register_scene_types.* @godotengine/buildsystem
/scene/scene_string_names.* @godotengine/buildsystem
/scene/2d/ @godotengine/2d-nodes
/scene/2d/navigation/ @godotengine/2d-nodes @godotengine/navigation
/scene/2d/physics/ @godotengine/2d-nodes @godotengine/physics
/scene/3d/ @godotengine/3d-nodes
/scene/3d/navigation/ @godotengine/3d-nodes @godotengine/navigation
/scene/3d/physics/ @godotengine/3d-nodes @godotengine/physics
/scene/3d/xr/ @godotengine/3d-nodes @godotengine/xr
/scene/animation/ @godotengine/animation
/scene/audio/ @godotengine/audio
/scene/debugger/ @godotengine/debugger
/scene/gui/ @godotengine/gui-nodes
/scene/main/ @godotengine/core
/scene/resources/* @godotengine/gui-nodes
/scene/resources/2d/ @godotengine/2d-nodes
/scene/resources/2d/skeleton/ @godotengine/2d-nodes @godotengine/animation
/scene/resources/3d/ @godotengine/3d-nodes
/scene/resources/animated* @godotengine/animation
/scene/resources/animation* @godotengine/animation
/scene/resources/audio* @godotengine/audio
/scene/resources/bone* @godotengine/animation
/scene/resources/font* @godotengine/gui-nodes
/scene/resources/physics* @godotengine/physics
/scene/resources/shader* @godotengine/shaders
/scene/resources/skeleton* @godotengine/animation
/scene/resources/text_* @godotengine/gui-nodes
/scene/resources/visual_shader* @godotengine/shaders
/scene/theme/ @godotengine/gui-nodes
# Servers
/servers/nav_heap.* @godotengine/navigation
/servers/register_server_types.* @godotengine/buildsystem
/servers/server_wrap_* @godotengine/buildsystem
/servers/audio/ @godotengine/audio
/servers/camera/ @godotengine/xr
/servers/debugger/ @godotengine/debugger
/servers/display/ @godotengine/rendering
/servers/movie_writer/ @godotengine/rendering
/servers/navigation_2d/ @godotengine/navigation
/servers/navigation_3d/ @godotengine/navigation
/servers/physics_2d/ @godotengine/physics
/servers/physics_3d/ @godotengine/physics
/servers/rendering/ @godotengine/rendering
/servers/text/ @godotengine/gui-nodes
/servers/xr/ @godotengine/xr
# Tests
/tests/ @godotengine/tests
# Thirdparty
/thirdparty/ @godotengine/buildsystem
/thirdparty/jolt_physics/ @godotengine/buildsystem @godotengine/jolt-physics
# Buildsystem (After everything to catch all)
/*.* @godotengine/buildsystem
*.py @godotengine/buildsystem
SConstruct @godotengine/buildsystem
SCsub @godotengine/buildsystem
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug report
description: Report a bug in Godot
body:
- type: markdown
attributes:
value: |
When reporting bugs, please follow the guidelines in this template. This helps identify the problem precisely and thus enables contributors to fix it faster.
- Write a descriptive issue title above.
- The golden rule is to **always open *one* issue for *one* bug**. If you notice several bugs and want to report them, make sure to create one new issue for each of them.
- Search [open](https://github.com/godotengine/godot/issues) and [closed](https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported. If you don't find a relevant match or if you're unsure, don't hesitate to **open a new issue**. The bugsquad will handle it from there if it's a duplicate.
- Verify that you are using a [supported Godot version](https://docs.godotengine.org/en/latest/about/release_policy.html). Please always check if your issue is reproducible in the latest version – it may already have been fixed!
- If you use a custom build, please test if your issue is reproducible in official builds too. Likewise if you use any C++ modules, GDExtensions, or editor plugins, you should check if the bug is reproducible in a project without these.
- type: textarea
attributes:
label: Tested versions
description: |
To properly fix a bug, we need to identify if the bug was recently introduced in the engine, or if it was always present.
- Please specify the Godot version you found the issue in, including the **Git commit hash** if using a development or non-official build. The exact Godot version (including the commit hash) can be copied by clicking the version shown in the editor (bottom bar) or in the project manager (top bar).
- If you can, **please test earlier Godot versions** (previous stable branch, and development snapshots of the current feature release) and, if applicable, newer versions (development snapshots for the next feature release). Mention whether the bug is reproducible or not in the versions you tested. You can find all Godot releases in our [download archive](https://godotengine.org/download/archive/).
- The aim is for us to identify whether a bug is a **regression**, i.e. an issue that didn't exist in a previous version, but was introduced later on, breaking existing functionality. For example, if a bug is reproducible in 4.2.stable but not in 4.1.stable, we would like you to test intermediate 4.2 dev and beta snapshots to find which snapshot is the first one where the issue can be reproduced.
placeholder: |
- Reproducible in: 4.3.dev [d76c1d0e5], 4.2.stable, 4.2.dev5 and later 4.2 snapshots.
- Not reproducible in: 4.1.3.stable, 4.2.dev4 and earlier 4.2 snapshots.
validations:
required: true
- type: input
attributes:
label: System information
description: |
- Specify the OS version, and when relevant hardware information.
- For issues that are likely OS-specific and/or graphics-related, please specify the CPU model and architecture.
- For graphics-related issues, specify the GPU model, driver version, and the rendering backend (GLES2, GLES3, Vulkan).
- **Bug reports not including the required information may be closed at the maintainers' discretion.** If in doubt, always include all the requested information; it's better to include too much information than not enough information.
- **Starting from Godot 4.1, you can copy this information to your clipboard by using *Help > Copy System Info* at the top of the editor window.**
placeholder: Windows 10 - Godot v4.0.3.stable - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 970 (nvidia, 510.85.02) - Intel Core i7-10700KF CPU @ 3.80GHz (16 Threads)
validations:
required: true
- type: textarea
attributes:
label: Issue description
description: |
Describe your issue briefly. What doesn't work, and how do you expect it to work instead?
You can include images or videos with drag and drop, and format code blocks or logs with <code>\`\`\`</code> tags, on separate lines before and after the text. (Use <code>\`\`\`gdscript</code> to add GDScript syntax highlighting.)
Please do not add code examples or error messages as screenshots, but as text, this helps searching for issues and testing the code. If you are reporting a bug in the editor interface, like the script editor, please provide both a screenshot *and* the text of the code to help with testing.
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: |
List of steps or sample code that reproduces the issue. Having reproducible issues is a prerequisite for contributors to be able to solve them.
If you include a minimal reproduction project below, you can detail how to use it here.
validations:
required: true
- type: textarea
attributes:
label: Minimal reproduction project (MRP)
description: |
- A small Godot project which reproduces the issue, with no unnecessary files included. Be sure to not include the `.godot` folder in the archive (but keep `project.godot`).
- Having an MRP is very important for contributors to be able to reproduce the bug in the same way that you are experiencing it. When testing a potential fix for the issue, contributors will use the MRP to validate that the fix is working as intended.
- If the reproduction steps are not project dependent (e.g. the bug is visible in a brand new project), you can write "N/A" in the field.
- Drag and drop a ZIP archive to upload it (max 10 MB). **Do not select another field until the project is done uploading.**
- **Note for C# users:** If your issue is *not* C#-specific, please upload a minimal reproduction project written in GDScript. This will make it easier for contributors to reproduce the issue locally as not everyone has a .NET setup available.
validations:
required: true
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
contact_links:
- name: Godot proposals
url: https://github.com/godotengine/godot-proposals
about: Please submit feature proposals on the Godot proposals repository, not here.
- name: Godot documentation repository
url: https://github.com/godotengine/godot-docs
about: Please report issues with documentation on the Godot documentation repository, not here.
- name: Godot community channels
url: https://godotengine.org/community
about: Please ask for technical support on one of the other community channels, not here.
================================================
FILE: .github/PULL_REQUEST_TEMPLATE.md
================================================
<!--
Please target the `master` branch. We will take care of backporting relevant fixes to older versions.
Before submitting, please read our checklist for new contributors:
https://contributing.godotengine.org/en/latest/engine/introduction.html#checklist-for-new-contributors
-->
================================================
FILE: .github/actions/clangd-tidy/action.yml
================================================
name: clangd-tidy
description: Setup and run clangd-tidy on relevant files
inputs:
changed-files:
description: A pre-filtered list of changed files.
required: true
type: string
runs:
using: composite
steps:
- name: Setup clangd-tidy
shell: sh
run: |
echo "::group::Prerequisite checks"
if [ ! -f "compile_commands.json" ]; then
echo "::error::clangd-tidy checker requires a compilation database to function"
exit 1
fi
echo "::endgroup::"
echo "::group::Installing clangd-tidy"
# Don't know which python we're using, so just access the global scope.
python -m pip install clangd clangd-tidy clang-tidy==22.1.0
echo "::endgroup::"
echo "::group::Running clangd-tidy"
clangd-tidy ${{ inputs.changed-files }}
echo "::endgroup::"
================================================
FILE: .github/actions/download-artifact/action.yml
================================================
name: Download Godot artifact
description: Download the Godot artifact.
inputs:
name:
description: The artifact name.
default: ${{ github.job }}
path:
description: The path to download and extract to.
required: true
default: ./
runs:
using: composite
steps:
- name: Download Godot Artifact
uses: actions/download-artifact@v4
with:
name: ${{ inputs.name }}
path: ${{ inputs.path }}
================================================
FILE: .github/actions/godot-build/action.yml
================================================
name: Build Godot
description: Build Godot with the provided options.
inputs:
target:
description: Build target (editor, template_release, template_debug).
default: editor
type: choice
options: [editor, template_debug, template_release]
platform:
description: Target platform.
type: string
scons-flags:
description: Additional SCons flags.
type: string
scons-cache:
description: The SCons cache path.
default: ${{ github.workspace }}/.scons_cache/
type: string
runs:
using: composite
steps:
- name: SCons Build
shell: sh
run: |
echo "Building with flags:" platform=${{ inputs.platform }} target=${{ inputs.target }} ${{ inputs.scons-flags }} "cache_path=${{ inputs.scons-cache }}" redirect_build_objects=no
if [ "${{ inputs.target }}" != "editor" ]; then
# Ensure we don't include editor code in export template builds.
rm -rf editor
fi
if [ "${{ github.event.number }}" != "" ]; then
# Set build identifier with pull request number if available. This is displayed throughout the editor.
export BUILD_NAME="gh-${{ github.event.number }}"
else
export BUILD_NAME="gh"
fi
scons platform=${{ inputs.platform }} target=${{ inputs.target }} ${{ inputs.scons-flags }} "cache_path=${{ inputs.scons-cache }}" redirect_build_objects=no
ls -l bin/
================================================
FILE: .github/actions/godot-cache-restore/action.yml
================================================
name: Restore Godot build cache
description: Restore Godot build cache.
inputs:
cache-name:
description: The cache base name (job name by default).
default: ${{ github.job }}
scons-cache:
description: The SCons cache path.
default: ${{ github.workspace }}/.scons_cache/
runs:
using: composite
steps:
- name: Restore default cache
uses: actions/cache/restore@v5
id: cache-ping
with:
path: ${{ inputs.scons-cache }}
key: ${{ inputs.cache-name }}|${{ github.event.repository.default_branch }}|${{ github.sha }}
restore-keys: ${{ inputs.cache-name }}|${{ github.event.repository.default_branch }}
- name: Log default cache files
if: steps.cache-ping.outputs.cache-matched-key && github.ref_name != github.event.repository.default_branch
shell: sh
run: find "${{ inputs.scons-cache }}" >> redundant.txt
# This is done after pulling the default cache so that PRs can integrate any potential changes
# from the default branch without conflicting with whatever local changes were already made.
- name: Restore local cache
uses: actions/cache/restore@v5
if: github.ref_name != github.event.repository.default_branch
with:
path: ${{ inputs.scons-cache }}
key: ${{ inputs.cache-name }}|${{ github.ref_name }}|${{ github.sha }}
restore-keys: ${{ inputs.cache-name }}|${{ github.ref_name }}
- name: Store unix timestamp
shell: sh
run: echo "CACHE_TIMESTAMP=$(date +%s)" >> $GITHUB_ENV
================================================
FILE: .github/actions/godot-cache-save/action.yml
================================================
name: Save Godot build cache
description: Save Godot build cache.
inputs:
cache-name:
description: The cache base name (job name by default).
default: ${{ github.job }}
scons-cache:
description: The SCons cache path.
default: ${{ github.workspace }}/.scons_cache/
runs:
using: composite
steps:
- name: Purge files before timestamp
shell: sh
run: misc/scripts/purge_cache.py ${{ env.CACHE_TIMESTAMP }} "${{ inputs.scons-cache }}"
- name: Save SCons cache directory
uses: actions/cache/save@v5
with:
path: ${{ inputs.scons-cache }}
key: ${{ inputs.cache-name }}|${{ github.ref_name }}|${{ github.sha }}
================================================
FILE: .github/actions/godot-compat-test/action.yml
================================================
name: Godot hash compatibility test
description: Check if methods with given hashes used by the older GDExtensions still can be loaded with given Godot version.
inputs:
bin:
description: Path to the Godot binary.
required: true
type: string
reftags:
description: Reference tags of Godot versions to check (comma separated).
required: true
type: string
runs:
using: composite
steps:
- name: Extract GDExtension interface
shell: sh
run: |
${{ inputs.bin }} --headless --dump-gdextension-interface
mkdir tests/compatibility_test/src/deps/
mv gdextension_interface.h tests/compatibility_test/src/deps/
- name: Build minimal GDExtension
shell: sh
run: scons --directory=./tests/compatibility_test
- name: Download reference GDExtension API JSON and try to load it
shell: sh
env:
GODOT4_BIN: ${{ inputs.bin }}
REFTAGS: ${{ inputs.reftags }}
run: ./tests/compatibility_test/run_compatibility_test.py
================================================
FILE: .github/actions/godot-converter-test/action.yml
================================================
name: Test Godot project converter
description: Test the Godot project converter.
inputs:
bin:
description: The path to the Godot executable
required: true
runs:
using: composite
steps:
- name: Test 3-to-4 conversion
shell: sh
run: |
mkdir converter_test
cd converter_test
touch project.godot
../${{ inputs.bin }} --headless --validate-conversion-3to4
cd ..
rm converter_test -rf
================================================
FILE: .github/actions/godot-cpp-build/action.yml
================================================
name: Build godot-cpp
description: Build godot-cpp with the provided options.
inputs:
bin:
description: Path to the Godot binary.
required: true
type: string
scons-flags:
description: Additional SCons flags.
type: string
scons-cache:
description: The SCons cache path.
default: ${{ github.workspace }}/.scons_cache/
type: string
godot-cpp-branch:
description: The godot-cpp branch.
default: master
type: string
runs:
using: composite
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
repository: godotengine/godot-cpp
ref: ${{ inputs.godot-cpp-branch }}
path: godot-cpp
- name: Extract API
shell: sh
run: ${{ inputs.bin }} --headless --dump-gdextension-interface --dump-extension-api
- name: SCons Build
shell: sh
env:
SCONS_CACHE: ${{ inputs.scons-cache }}
run: scons --directory=./godot-cpp/test "gdextension_dir=${{ github.workspace }}" ${{ inputs.scons-flags }}
================================================
FILE: .github/actions/godot-deps/action.yml
================================================
name: Setup Python and SCons
description: Setup Python, install the pip version of SCons.
inputs:
python-version:
description: The Python version to use.
default: 3.x
python-arch:
description: The Python architecture.
default: x64
scons-version:
description: The SCons version to use.
default: 4.10.1
runs:
using: composite
steps:
- name: Set up Python 3.x
uses: actions/setup-python@v6
with:
# Semantic version range syntax or exact version of a Python version.
python-version: ${{ inputs.python-version }}
# Optional - x64 or x86 architecture, defaults to x64.
architecture: ${{ inputs.python-arch }}
- name: Setup SCons
shell: bash
run: |
python -c "import sys; print(sys.version)"
python -m pip install scons==${{ inputs.scons-version }}
scons --version
- name: Setup problem matchers
shell: bash
run: echo ::add-matcher::misc/utility/problem-matchers.json
================================================
FILE: .github/actions/godot-project-export/action.yml
================================================
name: Export Godot project
description: Export a test Godot project.
inputs:
bin:
description: The path to the Godot executable
required: true
runs:
using: composite
steps:
- name: Import resources and export project
shell: sh
run: |
git clone --depth=1 https://github.com/godotengine/godot-tests.git /tmp/godot-tests
echo "Exporting project for Linux (PCK)"
${{ inputs.bin }} --headless --path /tmp/godot-tests/tests/test_project/ --export-pack "Linux" /tmp/test_project.pck 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
echo "Exporting project for Linux (ZIP)"
${{ inputs.bin }} --headless --path /tmp/godot-tests/tests/test_project/ --export-pack "Linux" /tmp/test_project.zip 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
echo "Exporting project for Linux as dedicated server (PCK)"
${{ inputs.bin }} --headless --path /tmp/godot-tests/tests/test_project/ --export-pack "Linux Server" /tmp/test_project_server.pck 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
- name: Run project files from folder
shell: sh
run: |
xvfb-run ${{ inputs.bin }} --path /tmp/godot-tests/tests/test_project/ --language fr --resolution 64x64 --write-movie /tmp/test_project_folder.png --quit 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
${{ inputs.bin }} --headless --path /tmp/godot-tests/tests/test_project/ --quit 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
- name: Run exported project PCK/ZIP
shell: sh
run: |
xvfb-run ${{ inputs.bin }} --main-pack /tmp/test_project.pck --language fr --resolution 64x64 --write-movie /tmp/test_project_pck.png --quit 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
xvfb-run ${{ inputs.bin }} --main-pack /tmp/test_project.zip --language fr --resolution 64x64 --write-movie /tmp/test_project_zip.png --quit 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
# Headless mode is implied for dedicated server PCKs.
${{ inputs.bin }} --main-pack /tmp/test_project_server.pck --quit 2>&1 | tee log.txt || true
GODOT_CHECK_CI_LOG_ALL_ERRORS=1 misc/scripts/check_ci_log.py log.txt
echo "Checking whether video output from project folder and exported project match..."
md5sum /tmp/test_project*.png | md5sum --check
echo "Checking whether audio output from project folder and exported project match..."
md5sum /tmp/test_project*.wav | md5sum --check
================================================
FILE: .github/actions/godot-project-test/action.yml
================================================
name: Test Godot project
description: Run the test Godot project.
inputs:
bin:
description: The path to the Godot executable
required: true
runs:
using: composite
steps:
# Download and extract zip archive with project, folder is renamed to be able to easy change used project
- name: Download test project
shell: sh
run: |
wget https://github.com/godotengine/regression-test-project/archive/4.0.zip
unzip 4.0.zip
mv "regression-test-project-4.0" "test_project"
# Editor is quite complicated piece of software, so it is easy to introduce bug here.
- name: Open and close editor (Headless)
shell: sh
run: |
xvfb-run ${{ inputs.bin }} --headless --import --path test_project 2>&1 | tee sanitizers_log.txt || true
misc/scripts/check_ci_log.py sanitizers_log.txt
- name: Open and close editor (Vulkan)
shell: sh
run: |
xvfb-run ${{ inputs.bin }} --audio-driver Dummy --import --path test_project 2>&1 | tee sanitizers_log.txt || true
misc/scripts/check_ci_log.py sanitizers_log.txt
- name: Open and close editor (GLES3)
shell: sh
run: |
DRI_PRIME=0 xvfb-run ${{ inputs.bin }} --audio-driver Dummy --rendering-driver opengl3 --import --path test_project 2>&1 | tee sanitizers_log.txt || true
misc/scripts/check_ci_log.py sanitizers_log.txt
# Run test project
- name: Run project
shell: sh
run: |
xvfb-run ${{ inputs.bin }} 40 --audio-driver Dummy --path test_project 2>&1 | tee sanitizers_log.txt || true
misc/scripts/check_ci_log.py sanitizers_log.txt
================================================
FILE: .github/actions/upload-artifact/action.yml
================================================
name: Upload Godot artifact
description: Upload the Godot artifact.
inputs:
name:
description: The artifact name.
default: ${{ github.job }}
path:
description: The path to upload.
required: true
default: bin/*
runs:
using: composite
steps:
- name: Upload Godot Artifact
uses: actions/upload-artifact@v7
with:
name: ${{ inputs.name }}
path: ${{ inputs.path }}
# Default is 90 days.
retention-days: 60
================================================
FILE: .github/changed_files.yml
================================================
# We lack a convenient means of gathering *all* the changes when specializations are passed, so
# a catch-all variable is the easiest workaround.
everything:
- "**"
# Determines if build actions should occur after static checks are ran. Broadly speaking, these
# files changing would result in SCons rebuilding the engine, or are otherwise pertinent to the
# buildsystem itself.
sources:
- .github/{actions/*,workflows}/*.yml
- "**/{SConstruct,SCsub,*.py}"
- "**/*.{h,hpp,hh,hxx,c,cpp,cc,cxx,m,mm,inc,glsl}"
- modules/mono/**/*.{cs,csproj,sln,props,targets}
- platform/android/java/{gradle*,**/*.{jar,java,kt,gradle}}
- platform/web/{package{,-lock}.json,js/**/*.js}
- tests/**
# Determines which files are appropriate for running clangd-tidy checks on. This is a subset out
# of necessity, as we're only evaluating a Linux runner.
clangd:
- "**/*.{h,hpp,hxx,hh,c,cpp,cxx,cc}"
- "!**/thirdparty/**"
- "!**/*-so_wrap.{h,c}"
- "!drivers/{apple*,core*,d3d12,metal,wasapi,windows,winmidi,xaudio2}/**"
- "!editor/shader/shader_baker/shader_baker_export_plugin_platform_{d3d12,metal}.{h,cpp}"
- "!modules/camera/camera_{android,macos,win}.{h,cpp}"
- "!modules/openxr/extensions/platform/openxr_{android,metal}_extension.{h,cpp}"
- "!platform/{android,ios,macos,visionos,web,windows}/**"
- "platform/{android,ios,macos,visionos,web,windows}/{api,export}/*.{h,hpp,hxx,hh,c,cpp,cxx,cc}"
================================================
FILE: .github/workflows/android_builds.yml
================================================
name: 🤖 Android Builds
on:
workflow_call:
secrets:
SERVICE_ACCOUNT_KEY:
required: true
workflow_dispatch:
# Global Settings
env:
SCONS_FLAGS: >-
dev_mode=yes
module_text_server_fb_enabled=yes
swappy=yes
jobs:
build-android:
runs-on: ubuntu-24.04
name: ${{ matrix.name }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- name: Editor (target=editor)
cache-name: android-editor
target: editor
instrumented_tests: false
scons-flags: >-
arch=arm64
production=yes
- name: Template arm32 (target=template_debug, arch=arm32)
cache-name: android-template-arm32
target: template_debug
instrumented_tests: false
scons-flags: arch=arm32
- name: Template arm64 (target=template_debug, arch=arm64)
cache-name: android-template-arm64
target: template_debug
instrumented_tests: true
scons-flags: arch=arm64
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Set up Java 17
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Download Swappy
run: python ./misc/scripts/install_swappy_android.py
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }}
platform: android
target: ${{ matrix.target }}
- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Generate Godot templates
if: matrix.target == 'template_debug'
run: |
cd platform/android/java
./gradlew generateGodotTemplates
cd ../../..
ls -l bin/
- name: Generate Godot editor
if: matrix.target == 'editor'
run: |
cd platform/android/java
./gradlew generateGodotEditor
./gradlew generateGodotHorizonOSEditor
./gradlew generateGodotPicoOSEditor
cd ../../..
ls -l bin/android_editor_builds/
# Separate different editors for multiple artifacts
mkdir horizonos
mv bin/android_editor_builds/*-horizonos-* horizonos
mkdir picoos
mv bin/android_editor_builds/*-picoos-* picoos
- name: Upload artifact
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}
- name: Upload artifact (Horizon OS)
if: matrix.target == 'editor'
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}-horizonos
path: horizonos
- name: Upload artifact (PICO OS)
if: matrix.target == 'editor'
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}-picoos
path: picoos
- name: Generate Instrumented test APKs
if: matrix.instrumented_tests && github.repository == 'godotengine/godot' && github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
run: |
cd platform/android/java
./gradlew :app:assembleAndroidTest :app:assembleInstrumentedDebug -Pperform_signing=true
cd ../../..
- name: Create credentials file
if: matrix.instrumented_tests && github.repository == 'godotengine/godot' && github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
uses: google-github-actions/auth@v3
with:
credentials_json: ${{ secrets.SERVICE_ACCOUNT_KEY }}
- name: Set up gcloud CLI
if: matrix.instrumented_tests && github.repository == 'godotengine/godot' && github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
uses: google-github-actions/setup-gcloud@v3
- name: Run tests on Firebase Test Lab
if: matrix.instrumented_tests && github.repository == 'godotengine/godot' && github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
run: |
set +e
output=$(gcloud firebase test android run \
--type instrumentation \
--app platform/android/java/app/build/outputs/apk/instrumented/debug/android_debug.apk \
--test platform/android/java/app/build/outputs/apk/androidTest/instrumented/debug/app-instrumented-debug-androidTest.apk \
--device model=pa3q,version=35,orientation=landscape \
--device model=java,version=30,orientation=landscape \
--device model=MediumPhone.arm,version=26,orientation=landscape \
--use-orchestrator \
--timeout 2m 2>&1)
exit_code=$?
echo "$output"
if [[ $exit_code -eq 1 && "$output" == *"TEST_QUOTA_EXCEEDED"* ]]; then
echo "::warning title=Firebase Test Lab::Test quota exceeded."
exit_code=0
fi
exit "$exit_code"
================================================
FILE: .github/workflows/ios_builds.yml
================================================
name: 🍏 iOS Builds
on:
workflow_call:
workflow_dispatch:
# Global Settings
env:
SCONS_FLAGS: >-
dev_mode=yes
module_text_server_fb_enabled=yes
debug_symbols=no
jobs:
ios-template:
# From https://docs.github.com/en/actions/how-tos/write-workflows/choose-where-workflows-run/choose-the-runner-for-a-job#choosing-github-hosted-runners
runs-on: macos-26
name: Template (target=template_release)
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
continue-on-error: true
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Compilation (arm64)
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }}
platform: ios
target: template_release
- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
continue-on-error: true
- name: Upload artifact
uses: ./.github/actions/upload-artifact
================================================
FILE: .github/workflows/linux_builds.yml
================================================
name: 🐧 Linux Builds
on:
workflow_call:
inputs:
changed-files:
description: A list of changed files, pre-filtered for parsing by clangd-tidy.
required: true
type: string
workflow_dispatch:
# Global Settings
env:
SCONS_FLAGS: >-
dev_mode=yes
module_text_server_fb_enabled=yes
GODOT_CPP_BRANCH: 4.5
DOTNET_NOLOGO: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
ASAN_OPTIONS: color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/asan.txt
LSAN_OPTIONS: color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/lsan.txt
TSAN_OPTIONS: color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/tsan.txt
UBSAN_OPTIONS: color=always:print_suppressions=1:suppressions=${{ github.workspace }}/misc/error_suppressions/ubsan.txt
jobs:
build-linux:
# Stay one LTS before latest to increase portability of Linux artifacts.
runs-on: ubuntu-22.04
name: ${{ matrix.name }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- name: Editor w/ Mono (target=editor)
cache-name: linux-editor-mono
target: editor
scons-flags: module_mono_enabled=yes compiledb=yes
bin: ./bin/godot.linuxbsd.editor.x86_64.mono
build-mono: true
doc-test: true
proj-conv: true
proj-export: true
api-compat: true
artifact: true
# Validate godot-cpp compatibility on one arbitrary editor build.
godot-cpp: true
clangd-tidy: true
- name: Editor with doubles and GCC sanitizers (target=editor, dev_build=yes, scu_build=yes, precision=double, use_asan=yes, use_ubsan=yes, linker=mold)
cache-name: linux-editor-double-sanitizers
target: editor
# Debug symbols disabled as they're huge on this build and we hit the 14 GB limit for runners.
scons-flags: >-
dev_build=yes
scu_build=yes
debug_symbols=no
precision=double
use_asan=yes
use_ubsan=yes
linker=mold
bin: ./bin/godot.linuxbsd.editor.dev.double.x86_64.san
proj-test: true
- name: Editor with clang sanitizers (target=editor, dev_build=yes, use_asan=yes, use_ubsan=yes, use_llvm=yes, linker=lld)
cache-name: linux-editor-llvm-sanitizers
target: editor
scons-flags: >-
dev_build=yes
use_asan=yes
use_ubsan=yes
use_llvm=yes
linker=lld
bin: ./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san
# Test our oldest supported SCons/Python versions on one arbitrary editor build.
legacy-scons: true
- name: Editor with ThreadSanitizer (target=editor, dev_build=yes, use_tsan=yes, use_llvm=yes, linker=lld)
cache-name: linux-editor-thread-sanitizer
target: editor
scons-flags: >-
dev_build=yes
use_tsan=yes
use_llvm=yes
linker=lld
bin: ./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san
- name: Template w/ Mono, release (target=template_release)
cache-name: linux-template-mono
target: template_release
scons-flags: module_mono_enabled=yes
bin: ./bin/godot.linuxbsd.template_release.x86_64.mono
artifact: true
- name: Template w/ Mono, debug (target=template_debug)
cache-name: linux-template-mono-debug
target: template_debug
scons-flags: module_mono_enabled=yes
bin: ./bin/godot.linuxbsd.template_debug.x86_64.mono
artifact: true
- name: Minimal template (target=template_release, everything disabled)
cache-name: linux-template-minimal
target: template_release
scons-flags: >-
modules_enabled_by_default=no
module_text_server_fb_enabled=no
disable_3d=yes
disable_advanced_gui=yes
disable_physics_2d=yes
disable_physics_3d=yes
deprecated=no
minizip=no
brotli=no
bin: ./bin/godot.linuxbsd.template_release.x86_64
artifact: true
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Setup dependencies
run: |
sudo apt-get update
sudo apt-get install libwayland-bin # TODO: Figure out somehow how to embed this one.
if [ "${{ matrix.proj-test }}" == "true" -o "${{ matrix.proj-export }}" == "true" ]; then
sudo apt-get install mesa-vulkan-drivers
fi
- name: Free disk space on runner
run: |
echo "Disk usage before:" && df -h
sudo rm -rf /usr/local/lib/android
echo "Disk usage after:" && df -h
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Setup Python and SCons
if: "!matrix.legacy-scons"
uses: ./.github/actions/godot-deps
- name: Setup Python and SCons (legacy versions)
if: matrix.legacy-scons
uses: ./.github/actions/godot-deps
with:
# Sync with Ensure*Version in SConstruct.
python-version: 3.9
scons-version: 4.0
- name: Force remove preinstalled .NET SDKs
if: matrix.build-mono
run: |
sudo rm -rf /usr/share/dotnet/sdk/*
- name: Setup older .NET SDK as baseline
if: matrix.build-mono
uses: actions/setup-dotnet@v4
with:
# Targeting the oldest version we want to support to ensure it still builds.
dotnet-version: 8.0.100
- name: Download pre-built AccessKit
shell: sh
id: accesskit-sdk
run: |
if python ./misc/scripts/install_accesskit.py; then
echo "ACCESSKIT_ENABLED=yes" >> "$GITHUB_OUTPUT"
else
echo "::warning::AccessKit SDK installation failed, building without AccessKit support."
echo "ACCESSKIT_ENABLED=no" >> "$GITHUB_OUTPUT"
fi
- name: Install mold linker
if: matrix.proj-test
uses: rui314/setup-mold@v1
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }} accesskit=${{ steps.accesskit-sdk.outputs.ACCESSKIT_ENABLED }}
platform: linuxbsd
target: ${{ matrix.target }}
- name: Style checks via clangd-tidy
if: matrix.clangd-tidy
uses: ./.github/actions/clangd-tidy
with:
changed-files: ${{ inputs.changed-files }}
- name: Compilation (godot-cpp)
uses: ./.github/actions/godot-cpp-build
if: matrix.godot-cpp
with:
bin: ${{ matrix.bin }}
scons-flags: target=template_debug dev_build=yes verbose=yes
godot-cpp-branch: ${{ env.GODOT_CPP_BRANCH }}
- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Generate C# glue
if: matrix.build-mono
run: |
${{ matrix.bin }} --headless --generate-mono-glue ./modules/mono/glue
- name: Build .NET solutions
if: matrix.build-mono
run: |
dotnet --info
./modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin --godot-platform=linuxbsd --werror
- name: Prepare artifact
if: matrix.artifact
run: |
rm -rf ./bin/build_deps
strip bin/godot.*
chmod +x bin/godot.*
- name: Upload artifact
uses: ./.github/actions/upload-artifact
if: matrix.artifact
with:
name: ${{ matrix.cache-name }}
- name: Unit tests
run: |
${{ matrix.bin }} --version
${{ matrix.bin }} --help
${{ matrix.bin }} --headless --test --force-colors
- name: .NET source generators tests
if: matrix.build-mono
run: |
dotnet test modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators.Tests
# Check class reference
- name: Check for class reference updates
if: matrix.doc-test
run: |
echo "Running --doctool to see if this changes the public API without updating the documentation."
echo -e "If a diff is shown, it means that your code/doc changes are incomplete and you should update the class reference with --doctool.\n\n"
${{ matrix.bin }} --doctool --headless 2>&1 > /dev/null || true
git diff --color --exit-code && ! git ls-files --others --exclude-standard | sed -e 's/^/New doc file missing in PR: /' | grep 'xml$'
# Check API backwards compatibility
- name: Check for GDExtension compatibility – JSON check
if: matrix.api-compat
run: |
./misc/scripts/validate_extension_api.sh "${{ matrix.bin }}"
- name: Test GDExtension compatibility – load methods
uses: ./.github/actions/godot-compat-test
if: matrix.api-compat
with:
bin: ${{ matrix.bin }}
reftags: "4.5-stable,4.4-stable"
# Download and run the test project
- name: Test Godot project
uses: ./.github/actions/godot-project-test
if: matrix.proj-test
with:
bin: ${{ matrix.bin }}
# Test project export
- name: Test project export
uses: ./.github/actions/godot-project-export
if: matrix.proj-export
with:
bin: ${{ matrix.bin }}
# Test the project converter
- name: Test project converter
uses: ./.github/actions/godot-converter-test
if: matrix.proj-conv
with:
bin: ${{ matrix.bin }}
================================================
FILE: .github/workflows/macos_builds.yml
================================================
name: 🍎 macOS Builds
on:
workflow_call:
workflow_dispatch:
# Global Settings
env:
SCONS_FLAGS: >-
dev_mode=yes
module_text_server_fb_enabled=yes
jobs:
build-macos:
# From https://docs.github.com/en/actions/how-tos/write-workflows/choose-where-workflows-run/choose-the-runner-for-a-job#choosing-github-hosted-runners
runs-on: macos-26
name: ${{ matrix.name }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- name: Editor (target=editor)
cache-name: macos-editor
target: editor
bin: ./bin/godot.macos.editor.universal
- name: Template (target=template_release)
cache-name: macos-template
target: template_release
scons-flags: debug_symbols=no
bin: ./bin/godot.macos.template_release.universal
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Download pre-built ANGLE
shell: sh
id: angle-sdk
run: |
if python ./misc/scripts/install_angle.py; then
echo "ANGLE_ENABLED=yes" >> "$GITHUB_OUTPUT"
else
echo "::warning::ANGLE SDK installation failed, building without ANGLE support."
echo "ANGLE_ENABLED=no" >> "$GITHUB_OUTPUT"
fi
- name: Download pre-built AccessKit
shell: sh
id: accesskit-sdk
run: |
if python3 ./misc/scripts/install_accesskit.py; then
echo "ACCESSKIT_ENABLED=yes" >> "$GITHUB_OUTPUT"
else
echo "::warning::AccessKit SDK installation failed, building without AccessKit support."
echo "ACCESSKIT_ENABLED=no" >> "$GITHUB_OUTPUT"
fi
- name: Setup Vulkan SDK
id: vulkan-sdk
run: |
if sh misc/scripts/install_vulkan_sdk_macos.sh; then
echo "VULKAN_ENABLED=yes" >> "$GITHUB_OUTPUT"
else
echo "::warning::macOS: Vulkan SDK installation failed, building without Vulkan support."
echo "VULKAN_ENABLED=no" >> "$GITHUB_OUTPUT"
fi
continue-on-error: true
- name: Compilation (x86_64)
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }} arch=x86_64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }} accesskit=${{ steps.accesskit-sdk.outputs.ACCESSKIT_ENABLED }} angle=${{ steps.angle-sdk.outputs.ANGLE_ENABLED }}
platform: macos
target: ${{ matrix.target }}
- name: Compilation (arm64)
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }} arch=arm64 vulkan=${{ steps.vulkan-sdk.outputs.VULKAN_ENABLED }} accesskit=${{ steps.accesskit-sdk.outputs.ACCESSKIT_ENABLED }} angle=${{ steps.angle-sdk.outputs.ANGLE_ENABLED }}
platform: macos
target: ${{ matrix.target }}
- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Prepare artifact
run: |
lipo -create ./bin/godot.macos.${{ matrix.target }}.x86_64 ./bin/godot.macos.${{ matrix.target }}.arm64 -output ./bin/godot.macos.${{ matrix.target }}.universal
rm ./bin/godot.macos.${{ matrix.target }}.x86_64 ./bin/godot.macos.${{ matrix.target }}.arm64
rm -rf ./bin/build_deps
strip bin/godot.*
chmod +x bin/godot.*
- name: Upload artifact
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}
- name: Unit tests
run: |
${{ matrix.bin }} --version
${{ matrix.bin }} --help
${{ matrix.bin }} --test --force-colors
================================================
FILE: .github/workflows/runner.yml
================================================
name: 🔗 GHA
on: [push, pull_request, merge_group, workflow_dispatch]
concurrency:
group: ${{ github.workflow }}|${{ github.ref_name }}
cancel-in-progress: true
jobs:
# First stage: Only static checks, fast and prevent expensive builds from running.
static-checks:
if: ${{ !vars.DISABLE_GODOT_CI || github.run_attempt > 1 || github.event_name == 'workflow_dispatch' }}
name: 📊 Static checks
uses: ./.github/workflows/static_checks.yml
# Second stage: Run all the builds and some of the tests.
android-build:
name: 🤖 Android
needs: static-checks
if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
uses: ./.github/workflows/android_builds.yml
secrets:
SERVICE_ACCOUNT_KEY: ${{ secrets.SERVICE_ACCOUNT_KEY }}
ios-build:
name: 🍏 iOS
needs: static-checks
if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
uses: ./.github/workflows/ios_builds.yml
linux-build:
name: 🐧 Linux
needs: static-checks
if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
uses: ./.github/workflows/linux_builds.yml
with:
changed-files: ${{ needs.static-checks.outputs.changed-files }}
macos-build:
name: 🍎 macOS
needs: static-checks
if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
uses: ./.github/workflows/macos_builds.yml
windows-build:
name: 🏁 Windows
needs: static-checks
if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
uses: ./.github/workflows/windows_builds.yml
web-build:
name: 🌐 Web
needs: static-checks
if: needs.static-checks.outputs.sources-changed == 'true' || github.event_name != 'pull_request'
uses: ./.github/workflows/web_builds.yml
================================================
FILE: .github/workflows/static_checks.yml
================================================
name: 📊 Static Checks
on:
workflow_call:
outputs:
changed-files:
description: A list of changed files, pre-filtered for parsing by clangd-tidy.
value: ${{ jobs.static-checks.outputs.changed-files }}
sources-changed:
description: Determines if any source files were changed.
value: ${{ jobs.static-checks.outputs.sources-changed }}
workflow_dispatch:
jobs:
static-checks:
name: Code style, file formatting, and docs
runs-on: ubuntu-24.04
timeout-minutes: 30
outputs:
changed-files: '"${{ steps.changed-files.outputs.clangd_all_changed_files }}"' # Wrap with quotes to bookend internal quote separators.
sources-changed: ${{ steps.changed-files.outputs.sources_any_changed }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0 # Treeless clone. Slightly less performant than a shallow clone, but makes finding diffs instantaneous.
filter: tree:0 # See: https://github.blog/open-source/git/get-up-to-speed-with-partial-clone-and-shallow-clone/
# This needs to happen before Python and npm execution; it must happen before any extra files are written.
- name: .gitignore checks (gitignore_check.sh)
run: |
bash ./misc/scripts/gitignore_check.sh
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v47
with:
safe_output: false # Output passed to environment variable to avoid command injection.
separator: '" "' # To account for paths with spaces, ensure our items are split by quotes internally.
skip_initial_fetch: true
files_yaml_from_source_file: .github/changed_files.yml
- name: Style checks via pre-commit
uses: pre-commit/action@v3.0.1
env:
CHANGED_FILES: '"${{ steps.changed-files.outputs.everything_all_changed_files }}"' # Wrap with quotes to bookend internal quote separators.
with:
extra_args: --files ${{ env.CHANGED_FILES }}
================================================
FILE: .github/workflows/web_builds.yml
================================================
name: 🌐 Web Builds
on:
workflow_call:
workflow_dispatch:
# Global Settings
env:
SCONS_FLAGS: >-
dev_mode=yes
debug_symbols=no
use_closure_compiler=yes
EM_VERSION: 4.0.11
jobs:
web-template:
runs-on: ubuntu-24.04
name: ${{ matrix.name }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
include:
- name: Template w/ threads, 64-bit (target=template_release, threads=yes, arch=wasm64)
cache-name: web-template
target: template_release
scons-flags: threads=yes arch=wasm64
artifact: true
- name: Template w/o threads, 32-bit (target=template_release, threads=no, arch=wasm32)
cache-name: web-nothreads-template
target: template_release
scons-flags: threads=no arch=wasm32
artifact: true
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Set up Emscripten latest
uses: mymindstorm/setup-emsdk@v14
with:
version: ${{ env.EM_VERSION }}
no-cache: true
- name: Verify Emscripten setup
run: |
emcc -v
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }}
platform: web
target: ${{ matrix.target }}
- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Upload artifact
uses: ./.github/actions/upload-artifact
if: matrix.artifact
with:
name: ${{ matrix.cache-name }}
================================================
FILE: .github/workflows/windows_builds.yml
================================================
name: 🏁 Windows Builds
on:
workflow_call:
workflow_dispatch:
# Global Settings
env:
SCONS_FLAGS: >-
dev_mode=yes
module_text_server_fb_enabled=yes
debug_symbols=no
SCONS_CACHE_MSVC_CONFIG: true
PYTHONIOENCODING: utf8
jobs:
build-windows:
# Windows 10 with latest image
runs-on: windows-latest
name: ${{ matrix.name }}
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
include:
- name: Editor (target=editor)
cache-name: windows-editor
target: editor
scons-flags: >-
windows_subsystem=console
vsproj=yes
vsproj_gen_only=no
bin: ./bin/godot.windows.editor.x86_64.exe
compiler: msvc
- name: Editor w/ clang-cl (target=editor, use_llvm=yes)
cache-name: windows-editor-clang
target: editor
scons-flags: >-
windows_subsystem=console
use_llvm=yes
bin: ./bin/godot.windows.editor.x86_64.llvm.exe
compiler: clang
- name: Template (target=template_release)
cache-name: windows-template
target: template_release
bin: ./bin/godot.windows.template_release.x86_64.console.exe
compiler: msvc
- name: Template w/ GCC (target=template_release, use_mingw=yes)
cache-name: windows-template-gcc
# MinGW takes MUCH longer to compile; save time by only targeting Template.
target: template_release
scons-flags: use_mingw=yes
bin: ./bin/godot.windows.template_release.x86_64.console.exe
compiler: gcc
steps:
- name: Checkout
uses: actions/checkout@v6
with:
submodules: recursive
- name: Restore Godot build cache
uses: ./.github/actions/godot-cache-restore
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Setup Python and SCons
uses: ./.github/actions/godot-deps
- name: Download Direct3D 12 SDK components
shell: sh
id: d3d12-sdk
run: |
if python ./misc/scripts/install_d3d12_sdk_windows.py; then
echo "D3D12_ENABLED=yes" >> "$GITHUB_OUTPUT"
else
echo "::warning::Windows: Direct3D 12 SDK installation failed, building without Direct3D 12 support."
echo "D3D12_ENABLED=no" >> "$GITHUB_OUTPUT"
fi
continue-on-error: true
- name: Download pre-built ANGLE
shell: sh
id: angle-sdk
run: |
if python ./misc/scripts/install_angle.py; then
echo "ANGLE_ENABLED=yes" >> "$GITHUB_OUTPUT"
else
echo "::warning::ANGLE SDK installation failed, building without ANGLE support."
echo "ANGLE_ENABLED=no" >> "$GITHUB_OUTPUT"
fi
- name: Download WinRT components
shell: sh
run: python ./misc/scripts/install_winrt.py
continue-on-error: true
- name: Download pre-built AccessKit
shell: sh
id: accesskit-sdk
run: |
if python ./misc/scripts/install_accesskit.py; then
echo "ACCESSKIT_ENABLED=yes" >> "$GITHUB_OUTPUT"
else
echo "::warning::AccessKit SDK installation failed, building without AccessKit support."
echo "ACCESSKIT_ENABLED=no" >> "$GITHUB_OUTPUT"
fi
- name: Compilation
uses: ./.github/actions/godot-build
with:
scons-flags: ${{ env.SCONS_FLAGS }} ${{ matrix.scons-flags }} d3d12=${{ steps.d3d12-sdk.outputs.D3D12_ENABLED }} accesskit=${{ steps.accesskit-sdk.outputs.ACCESSKIT_ENABLED }} angle=${{ steps.angle-sdk.outputs.ANGLE_ENABLED }}
platform: windows
target: ${{ matrix.target }}
- name: Save Godot build cache
uses: ./.github/actions/godot-cache-save
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Prepare artifact
if: matrix.compiler == 'msvc'
run: |
Remove-Item bin/* -Include *.exp,*.lib,*.pdb -Force
- name: Upload artifact
if: matrix.compiler == 'msvc'
uses: ./.github/actions/upload-artifact
with:
name: ${{ matrix.cache-name }}
- name: Unit tests
run: |
${{ matrix.bin }} --version
${{ matrix.bin }} --help
${{ matrix.bin }} --test --force-colors
================================================
FILE: .gitignore
================================================
# Godot .gitignore config
#
# Aims to encompass the most commonly found files that we don't want committed
# to Git, such as compilation output, IDE specific files, etc.
#
# It doesn't cover *all* thirdparty IDE extensions under the sun so if you have
# specific needs covered here, you can add them to:
# .git/info/exclude
#
# Or contribute them to this file if they're common enough that a good number of
# users would benefit from the shared rules.
#
# This file is organized by sections, with subsections ordered alphabetically.
# - Build configuration
# - Godot generated files
# - General build output
# - IDE and tool specific
# - Visual Studio specific
# - OS specific
###########################
### Build configuration ###
###########################
/custom.py
misc/hooks/pre-commit-custom-*
#############################
### Godot generated files ###
#############################
# Buildsystem
bin
*.gen.*
compile_commands.json
platform/windows/godot_res.res
# Ninja build files
*.ninja
.ninja/
run_ninja_env.bat
# Generated by Godot binary
.import/
/gdextension_interface.h
/gdextension_interface.json
extension_api.json
logs/
# Generated by unit tests
tests/data/*.translation
tests/data/crypto/out*
############################
### General build output ###
############################
# C/C++ generated
*.a
*.ax
*.d
*.dll
*.lib
*.lo
*.o
*.os
*.ox
*.Plo
*.so
# Binutils tmp linker output of the form "stXXXXXX" where "X" is alphanumeric
st[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]
# Python development
.venv
venv
# Python generated
__pycache__/
*.pyc
# Python modules
.*_cache/
# Documentation
doc/_build/
# Android
.gradle/
local.properties
*.iml
.gradletasknamecache
project.properties
platform/android/java/build/
platform/android/java/*/.cxx/
platform/android/java/*/build/
platform/android/java/*/libs/
# iOS
*.dSYM
# Web platform
*.bc
platform/web/node_modules/
# Misc
*.debug
#############################
### IDE and tool specific ###
#############################
# Automake
.deps/*
.dirstamp
# ccls
.ccls-cache/
# clangd
.clangd/
.cache/
# CLion
cmake-build-debug
# Code::Blocks
*.cbp
*.layout
*.depend
# CodeLite
*.project
*.workspace
.codelite/
# Cppcheck
*.cppcheck
cppcheck-cppcheck-build-dir/
# Eclipse CDT
.cproject
.settings/
*.pydevproject
*.launch
# Emacs
\#*\#
.\#*
# GCOV code coverage
*.gcda
*.gcno
# Geany
*.geany
.geanyprj
# GNU patch
*.orig
*.rej
# Gprof
gmon.out
# Jetbrains IDEs
.idea/
.fleet/
# Kate
*.kate-swp
.kateproject.build
# Kdevelop
*.kdev4
# Qt Creator
*.config
*.creator
*.creator.*
*.files
*.includes
*.cflags
*.cxxflags
# SCons
.sconf_temp
.sconsign*.dblite
.scons_env.json
.scons_node_count
# Sourcetrail
*.srctrl*
# Tags
# https://github.com/github/gitignore/blob/master/Global/Tags.gitignore
# Ignore tags created by etags, ctags, gtags (GNU global) and cscope
TAGS
!TAGS/
tags
*.tags
!tags/
gtags.files
GTAGS
GRTAGS
GPATH
cscope.files
cscope.out
cscope.in.out
cscope.po.out
# Vim
*.swo
*.swp
# Visual Studio Code
.vscode/
*.code-workspace
.history/
# Xcode
xcuserdata/
*.xcscmblueprint
*.xccheckout
*.xcodeproj/*
!misc/misc/dist/apple_embedded_xcode/godot.xcodeproj/project.pbxproj
# Zed
.zed/
##############################
### Visual Studio specific ###
##############################
# https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# Ignore Visual Studio temporary files, build results, and
# files generated by popular Visual Studio add-ons.
# Actual VS project files we don't use
*.sln
*.vcxproj*
# User-specific files
*.rsuser
*.suo
*.user
*.userosscache
*.sln.docstates
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
# Build results
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/
# Do not ignore arch-specific folders anywhere under thirdparty libraries
!thirdparty/**/x64/
!thirdparty/**/x86/
!thirdparty/**/arm/
!thirdparty/**/arm64/
thirdparty/swappy-frame-pacing/arm64-v8a/abi.json
thirdparty/swappy-frame-pacing/armeabi-v7a/abi.json
thirdparty/swappy-frame-pacing/x86/abi.json
thirdparty/swappy-frame-pacing/x86_64/abi.json
# Visual Studio 2015/2017 cache/options directory
.vs/
# Visual Studio 2017 auto generated files
Generated\ Files/
# Files built by Visual Studio
*_i.c
*_p.c
*_h.h
*.ilk
*.meta
*.obj
*.iobj
*.pch
*.pdb
*.ipdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb
# Visual Studio profiler
*.psess
*.vsp
*.vspx
*.sap
# Visual Studio Trace Files
*.e2e
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# Visual Studio cache files
# files ending in .cache can be ignored
*.[Cc]ache
# Others
ClientBin/
enc_temp_folder/
~$*
*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs
# Backup & report files from converting an old project file
# to a newer Visual Studio version. Backup files are not needed,
# because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
ServiceFabricBackup/
*.rptproj.bak
# Hint file for IntelliSense
cpp.hint
###################
### OS specific ###
###################
# Linux
*~
.directory
# macOS
.DS_Store
__MACOSX
Godot.app
# Windows
# https://github.com/github/gitignore/blob/main/Global/Windows.gitignore
[Tt]humbs.db
[Tt]humbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
*.stackdump
[Dd]esktop.ini
$RECYCLE.BIN/
*.cab
*.msi
*.msix
*.msm
*.msp
*.lnk
*.generated.props
================================================
FILE: .mailmap
================================================
Aaron Record <aaronjrecord@gmail.com>
ajreckof <66184050+ajreckof@users.noreply.github.com> <tbonhoure@ymail.com>
Alexander Hartmann <alex.hart.278@gmail.com>
Alexander Holland <alexander.holland@live.de>
Alexander Holland <alexander.holland@live.de> <alexander.holland@haw-hamburg.de>
Alexander Holland <alexander.holland@live.de> <AlexHolly>
Alfred Reinold Baudisch <alfred@alfredbaudisch.com>
Andrea Catania <info@andreacatania.com>
Anish Bhobe <anishbhobe@hotmail.com>
Anish Kumar <mishragames@gmail.com>
Anutrix <numaanzaheerahmed@yahoo.com>
Aren Villanueva <arenvillanueva@yomogi-soft.com> <aren@displaysweet.com>
Ariel Manzur <ariel@godotengine.org>
Ariel Manzur <ariel@godotengine.org> <puntob@gmail.com>
Ariel Manzur <ariel@godotengine.org> <punto@godotengine.org>
Ariel Manzur <ariel@godotengine.org> <ariel@okamstudio.com>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini.local>
Ariel Manzur <ariel@godotengine.org> <punto@Ariels-Mac-mini-2.local>
Arman Elgudzhyan <48544263+puchik@users.noreply.github.com>
A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> <over999ships@gmail.com>
Bastiaan Olij <mux213@gmail.com>
Benjamin <mafortion.benjamin@gmail.com>
Bernat Arlandis <berarma@hotmail.com>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.de>
Bernhard Liebl <Bernhard.Liebl@gmx.org> <poke1024@gmx.org>
Bruno Lourenço <madequa@users.noreply.github.com> <bmlourenco@gmail.com>
Chaosus <chaosus89@gmail.com>
ChibiDenDen <pdaniq@gmail.com>
chocola-mint <56677134+chocola-mint@users.noreply.github.com>
Chris Bradfield <chris@kidscancode.org> <cb@scribe.net>
Clay John <claynjohn@gmail.com>
Clay John <claynjohn@gmail.com> <clayjohn@shaw.ca>
CookieBadger <emil.dobetsberger@gmail.com>
Dana Olson <dana@shineuponthee.com> <adolson@gmail.com>
dankan1890 <mewuidev2@gmail.com>
Daniel J. Ramirez <djrmuv@gmail.com>
Dario <dariosamo@gmail.com>
David Cambré <david.cambre@gmail.com> <David.Cambre@gmail.com>
Dery Almas <dery@posteo.net> <riteo@posteo.net>
DmitriySalnikov <salnikov.mine@yandex.ru>
DmitriySalnikov <salnikov.mine@yandex.ru> <dimokgamer@gmail.com>
Dominik 'dreamsComeTrue' Jasiński <dominikjasinski@o2.pl>
DeeJayLSP <djlsplays@gmail.com> <60024671+DeeJayLSP@users.noreply.github.com>
Emmanuel Barroga <emmanuelbarroga@gmail.com>
Eric M <itsjusteza@gmail.com>
Eric Rybicki <info@ericrybicki.com> <stratos695@googlemail.com>
Erik Selecký <35656626+rxlecky@users.noreply.github.com>
Erik Selecký <35656626+rxlecky@users.noreply.github.com> <35656626+SeleckyErik@users.noreply.github.com>
Eveline Jarosz <marqin.pl@gmail.com>
Eveline Jarosz <marqin.pl@gmail.com> <marqin.pl+git@gmail.com>
Fabian <supagu@gmail.com>
Ferenc Arn <tagcup@yahoo.com>
Ferenc Arn <tagcup@yahoo.com> <tagcup@users.noreply.github.com>
FireForge <67974470+fire-forge@users.noreply.github.com> <isaacr.7.2005@gmail.com>
Florian Kothmeier <floriankothmeier@web.de>
foxydevloper <12120644+foxydevloper@users.noreply.github.com>
Fredia Huya-Kouadio <fhuyakou@gmail.com>
Fredia Huya-Kouadio <fhuyakou@gmail.com> <fhuya@google.com>
Fredia Huya-Kouadio <fhuyakou@gmail.com> <fhuya@fb.com>
Fredia Huya-Kouadio <fhuyakou@gmail.com> <fhuya@meta.com>
Geequlim <geequlim@gmail.com>
Gilles Roudiere <gilles.roudiere@gmail.com>
Gilles Roudiere <gilles.roudiere@gmail.com> <gilles.roudiere@laas.fr>
Gordon MacPherson <gordon@gordonite.tech>
Guilherme Felipe <guilhermefelipecgs@gmail.com>
Hakim <hakim.rouatbi@gmail.com>
Hanif Bin Ariffin <hanif.ariffin.4326@gmail.com>
HaSa1002 <johawitt@outlook.de>
Hein-Pieter van Braam-Stewart <hp@tmm.cx>
Hugo Locurcio <hugo.locurcio@hugo.pro> <hugo.l@openmailbox.org>
Hugo Locurcio <hugo.locurcio@hugo.pro> <Calinou@users.noreply.github.com>
Hugo Locurcio <hugo.locurcio@hugo.pro> Calinou <calinou@opmbx.org>
Ian Bishop <ianb96@gmail.com>
Ignacio Etcheverry <ignalfonsore@gmail.com>
Ignacio Etcheverry <ignalfonsore@gmail.com> <neikeq@users.noreply.github.com>
Ilaria Cislaghi <cislaghi.ilaria@gmail.com>
Ilaria Cislaghi <cislaghi.ilaria@gmail.com> <ilaria.cislaghi@simedis.com>
Indah Sylvia <ISylvox@yahoo.com>
Ivan Shakhov <ivan.shakhov@jetbrains.com> <Ivan.Shakhov@jetbrains.com>
Ivan Shakhov <ivan.shakhov@jetbrains.com> <van800@gmail.com>
iwek <miwanczuk7@gmail.com>
J08nY <johny@neuromancer.sk> <jancar.jj@gmail.com>
J08nY <johny@neuromancer.sk> <J08nY@users.noreply.github.com>
Jake Young <young9003@gmail.com>
Jakub Grzesik <kubecz3k@gmail.com>
Jakub Marcowski <chubercikbattle@gmail.com> <01158831@pw.edu.pl>
Jakub Marcowski <chubercikbattle@gmail.com> <37378746+Chubercik@users.noreply.github.com>
janglee <merupatel123@gmail.com>
Jason Knight <00jknight@gmail.com> <jason@winterpixel.com>
Jean-Michel Bernard <jmb462@gmail.com>
Jérôme Gully <jerome.gully0@gmail.com>
JFonS <joan.fonssanchez@gmail.com>
jitspoe <jitspoe@yahoo.com> <jitspoeAyahoooDcom>
Johan Aires Rastén <johan@oljud.se>
Juan Linietsky <reduzio@gmail.com>
Juan Linietsky <reduzio@gmail.com> <juan@godotengine.org>
Juan Linietsky <reduzio@gmail.com> <juan@okamstudio.com>
Juan Linietsky <reduzio@gmail.com> <reduz@Juans-MBP.fibertel.com.ar>
Juan Linietsky <reduzio@gmail.com> <red@kyoko>
Julian Murgia <the.straton@gmail.com>
Kanabenki <lucien.menassol@gmail.com> <18357657+Kanabenki@users.noreply.github.com>
karroffel <therzog@mail.de>
karroffel <therzog@mail.de> <thomas.herzog@mail.com>
karroffel <therzog@mail.de> <thomas.herzog@simedis.com>
Kasper Arnklit Frandsen <kasper.arnklit@gmail.com>
Kelly Thomas <kelly.thomas@hotmail.com.au>
Kongfa Waroros <gongpha@hotmail.com>
K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com> <fire@users.noreply.github.com>
kleonc <9283098+kleonc@users.noreply.github.com> <kleonc@users.noreply.github.com>
Leon Krause <lk@leonkrause.com> <eska@eska.me>
Leon Krause <lk@leonkrause.com> <eska014@users.noreply.github.com>
Liz Haas <27thLiz@gmail.com>
Liz Haas <27thLiz@gmail.com> <liu.gam3@gmail.com>
Liz Haas <27thLiz@gmail.com> <hinsbart@gmail.com>
Liz Haas <27thLiz@gmail.com> <hinsbart@users.noreply.github.com>
Liz Haas <27thLiz@gmail.com> <entenflugstuhl@gmail.com>
Logan Lang <devloglogan@gmail.com>
Luo Zhihao <luo_zhihao@outlook.com>
Luo Zhihao <luo_zhihao@outlook.com> <luo_zhihao_jx@qq.com>
Manuele Finocchiaro <m4nu3lf@gmail.com>
Manuel Strey <manuel.strey@gmx.de>
Marcel Admiraal <madmiraal@users.noreply.github.com>
Marcelo Fernandez <marcelofg55@gmail.com>
Marcin Zawiejski <dragmz@gmail.com>
Marcus Elg <marcusaccounts@yahoo.se>
Mariano Javier Suligoy <marianognu.easyrpg@gmail.com>
Mario Schlack <m4r10.5ch14ck@gmail.com>
Mark DiBarry <markdibarry@protonmail.com>
marxin <mliska@suse.cz>
marynate <mary.w.nate@gmail.com> <marynate@github.com>
Mateo Kuruk Miccino <mateomiccino@gmail.com>
Max Hilbrunner <m.hilbrunner@gmail.com>
Max Hilbrunner <m.hilbrunner@gmail.com> <mhilbrunner@users.noreply.github.com>
MewPurPur <mew.pur.pur@abv.bg>
Michael Alexsander <michaelalexsander@protonmail.com>
Micky <micheledevita2@gmail.com> <66727710+Mickeon@users.noreply.github.com>
MrCdK <contact@mrcdk.com>
Nathan Franke <natfra@pm.me> <nathanwfranke@gmail.com>
Nathan Lovato <nathan@gdquest.com>
Nathan Warden <nathan@nathanwarden.com> <nathanwardenlee@icloud.com>
Nazarii <nazarii.yablonskyi.pp.2022@lpnu.ua>
Nicholas Huelin <62965063+SirQuartz@users.noreply.github.com>
nikitalita <69168929+nikitalita@users.noreply.github.com>
Nils ANDRÉ-CHANG <nils@nilsand.re>
Nils ANDRÉ-CHANG <nils@nilsand.re> <nils.andre.chang@gmail.com>
Nông Văn Tình <vannongtinh@gmail.com>
Nuno Donato <nunodonato@gmail.com> <n.donato@estrelasustentavel.pt>
ocean (they/them) <anvilfolk@gmail.com>
Pawel Kowal <pkowal1982@gmail.com>
Pedro J. Estébanez <pedrojrulez@gmail.com> <RandomShaper@users.noreply.github.com>
Patrick Exner <patrick.exner1@web.de>
Patrick <firefly2442@gmail.com>
Paul Batty <p_batty@hotmail.co.uk>
Paul Batty <p_batty@hotmail.co.uk> <Paulb23@users.noreply.github.com>
Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
Pawel Kowal <pkowal1982@gmail.com> <pawel.kowal@javart.eu>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
Pieter-Jan Briers <pieterjan.briers+git@gmail.com> <pieterjan.briers@gmail.com>
Poommetee Ketson <poommetee@protonmail.com>
Przemysław Gołąb (n-pigeon) <golab.przemyslaw@gmail.com>
Radiant <69520693+RadiantUwU@users.noreply.github.com> <i.like.using.discord@gmail.com>
Rafał Mikrut <mikrutrafal@protonmail.com>
Rafał Mikrut <mikrutrafal@protonmail.com> <mikrutrafal54@gmail.com>
Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@posteo.de>
Ralf Hölzemer <r.hoelzemer@posteo.de> <rollenrolm@users.noreply.github.com>
Ramesh Ravone <ramesh.maran443@gmail.com>
RaphaelHunter <raphael10241024@gmail.com>
RaphaelHunter <raphael10241024@gmail.com> <Raphael10241024@gmail.com>
RaphaelHunter <raphael10241024@gmail.com> <raphael20141024@gmail.com>
Rémi Verschelde <rverschelde@gmail.com> <remi@verschelde.fr>
Rhody Lugo <rhodylugo@gmail.com> <rhodylugo@me.com>
Ricardo Subtil <ricasubtil@gmail.com>
Rindbee <idleman@yeah.net>
Robert Yevdokimov <robert.yevdokimov@autStand.com>
Robert Yevdokimov <robert.yevdokimov@autStand.com> <105675984+ryevdokimov@users.noreply.github.com>
Robin Hübner <profan@prfn.se> <robinhubner@gmail.com>
romulox_x <romulox_x@yahoo.com>
Rudolph Bester <Rudolph.f.Bester@gmail.com> <Rudolph.f.bester@gmail.com>
rune-scape <allie.smith.epic@gmail.com>
rune-scape <allie.smith.epic@gmail.com> <spartacrafter@gmail.com>
Ruslan Mustakov <r.mustakov@gmail.com> <ruslan.mustakov@xored.com>
Ryan <73148864+Ryan-000@users.noreply.github.com>
Saracen <SaracenOne@gmail.com>
Septian Ganendra S. K. <septgsk@gmail.com>
sheepandshepherd <sheepandshepherd@hotmail.com> <sheepandshepherd@users.noreply.github.com>
Silc 'Tokage' Renew <tokage.it.lab@gmail.com>
Silc 'Tokage' Renew <tokage.it.lab@gmail.com> <61938263+TokageItLab@users.noreply.github.com>
Swarnim Arun <swarnimarun11@gmail.com>
TechnoPorg <jonah.janzen@gmail.com> <69441745+TechnoPorg@users.noreply.github.com>
tetrapod00 <145553014+tetrapod00@users.noreply.github.com>
Theo Hallenius <redsymbzone@hotmail.com>
Tomasz Chabora <kobewi4e@gmail.com>
Twarit <wtwarit@gmail.com>
vaner-org <angadmishra@outlook.com>
Vitika9 <vitika.program@gmail.com>
V.VamsiKrishna <vk@bsb.in> <vamsikrishna.v@gmail.com>
Wilhem Barbier <nounoursheureux@openmailbox.org> <wilhem.b@free.fr>
Wilhem Barbier <nounoursheureux@openmailbox.org> <schtroumps31@gmail.com>
Will Nations <willnationsdev@gmail.com>
ydeltastar <ydeltastar@gmail.com>
yg2f <yoann@terminajones.com>
Yuri Sizov <yuris@humnom.net> <pycbouh@users.noreply.github.com>
Yuri Sizov <yuris@humnom.net> <yaschik4ilicha@gmail.com>
Zae <zaevi@live.com>
Zak Stam <zakscomputers@hotmail.com>
Zher Huei Lee <lee.zh.92@gmail.com>
================================================
FILE: .pre-commit-config.yaml
================================================
default_language_version:
python: python3
exclude: |
(?x)^(
.*thirdparty/.*|
.*-(dll|dylib|so)_wrap\.[ch]|
platform/android/java/editor/src/main/java/com/android/.*|
platform/android/java/lib/src/main/java/com/google/.*
)$
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
exclude: (SConstruct|SCsub)$ # SCons files use shebangs for syntax highlighting only.
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v21.1.7
hooks:
- id: clang-format
files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|inc|java)$
types_or: [text]
- id: clang-format
name: clang-format-glsl
files: \.glsl$
types_or: [text]
args: [-style=file:misc/utility/clang_format_glsl.yml]
# Not automatically triggered (because it requires compile_commands.json to be up-to-date).
# Invoke it manually via `pre-commit run --hook-stage manual clang-tidy`
- repo: https://github.com/pocc/pre-commit-hooks
rev: v1.3.5
hooks:
- id: clang-tidy
# TODO .inc ignored for now because they don't include their parent header.
# TODO Platform-specific subfolders currently fail, we should try to include them
files: ^(core|main|scene)/.*\.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|java)$
# No unknown warning suppression used for easier compatibility with gcc
args: [--fix, --quiet, --use-color, -p=compile_commands.json, -extra-arg=-Wno-unknown-warning-option]
types_or: [text]
additional_dependencies: [clang-tidy==21.1.6]
require_serial: false
stages: [manual]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.8
hooks:
- id: ruff-check
args: [--color=always]
files: (\.py|SConstruct|SCsub)$
types_or: [text]
- id: ruff-format
args: [--color=always]
files: (\.py|SConstruct|SCsub)$
types_or: [text]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.1
hooks:
- id: mypy
files: \.py$
types_or: [text]
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell
additional_dependencies: [tomli]
- repo: https://github.com/python-jsonschema/check-jsonschema
rev: 0.34.1
hooks:
- id: check-jsonschema
files: ^core/extension/gdextension_interface\.json$
args: ["--schemafile", "core/extension/gdextension_interface.schema.json"]
- repo: local
hooks:
- id: make-rst
name: make-rst
language: python
entry: python doc/tools/make_rst.py
args: [doc/classes, modules, platform, --dry-run, --color]
pass_filenames: false
files: ^(doc/classes|.*/doc_classes)/.*\.xml$
- id: doc-status
name: doc-status
language: python
entry: python doc/tools/doc_status.py
args: [doc/classes, modules/*/doc_classes, platform/*/doc_classes, -c]
pass_filenames: false
files: ^(doc/classes|.*/doc_classes)/.*\.xml$
- id: validate-builders
name: validate-builders
language: python
entry: python tests/python_build/validate_builders.py
pass_filenames: false
files: ^(gles3|glsl)_builders\.py$
- id: validate-xml
name: validate-xml
language: python
entry: python misc/scripts/validate_xml.py
files: ^(doc/classes|.*/doc_classes)/.*\.xml$
additional_dependencies: [xmlschema]
- id: validate-codeowners
name: validate-codeowners
language: python
entry: python misc/scripts/validate_codeowners.py
args: [--unowned]
- id: validate-includes
name: validate-includes
language: python
entry: python misc/scripts/validate_includes.py
files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|inc)$
- id: eslint
name: eslint
language: node
entry: eslint
files: ^(platform/web/js/|modules/|misc/dist/html/).*\.(js|html)$
args:
- --fix
- --no-warn-ignored
- --no-config-lookup
- --config
- platform/web/eslint.config.cjs
additional_dependencies:
- "@eslint/js@^9.3.0"
- "@html-eslint/eslint-plugin@^0.24.1"
- "@html-eslint/parser@^0.24.1"
- "@stylistic/eslint-plugin@^2.1.0"
- eslint@^9.3.0
- eslint-plugin-html@^8.1.1
- globals@^15.3.0
- espree@^10.0.1
- id: jsdoc
name: jsdoc
language: node
entry: jsdoc
files: ^platform/web/js/engine/(engine|config|features)\.js$
args:
- --template
- platform/web/js/jsdoc2rst/
- platform/web/js/engine/engine.js
- platform/web/js/engine/config.js
- platform/web/js/engine/features.js
- --destination
- ""
- -d
- dry-run
pass_filenames: false
additional_dependencies: [jsdoc@^4.0.3]
- id: svgo
name: svgo
language: node
entry: svgo
files: \.svg$
args: [--quiet, --config, misc/utility/svgo.config.mjs]
additional_dependencies: [svgo@3.3.2]
- id: copyright-headers
name: copyright-headers
language: python
entry: python misc/scripts/copyright_headers.py
files: \.(c|h|cpp|hpp|cc|hh|cxx|hxx|m|mm|inc|java)$
exclude: |
(?x)^(
core/math/bvh_.*\.inc|
platform/(?!android|ios|linuxbsd|macos|web|windows)\w+/.*|
platform/android/java/lib/src/main/java/org/godotengine/godot/gl/GLSurfaceView\.java|
platform/android/java/lib/src/main/java/org/godotengine/godot/gl/EGLLogWrapper\.java|
platform/android/java/lib/src/main/java/org/godotengine/godot/utils/ProcessPhoenix\.java
)$
- id: header-guards
name: header-guards
language: python
entry: python misc/scripts/header_guards.py
files: \.(h|hpp|hh|hxx)$
- id: file-format
name: file-format
language: python
entry: python misc/scripts/file_format.py
types_or: [text]
exclude: |
(?x)^(
.*\.test\.txt|
.*\.svg|
.*\.patch|
.*\.out|
modules/gdscript/tests/scripts/parser/features/mixed_indentation_on_blank_lines\.gd|
modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment\.norun\.gd|
modules/gdscript/tests/scripts/parser/warnings/empty_file_newline\.norun\.gd|
tests/data/.*\.bin
)$
- id: dotnet-format
name: dotnet-format
language: python
entry: python misc/scripts/dotnet_format.py
types_or: [c#]
#
# End of upstream Godot pre-commit hooks.
#
# Keep this separation to let downstream forks add their own hooks to this file,
# without running into merge conflicts when rebasing on latest upstream.
#
# Start of downstream pre-commit hooks.
#
# This is still the "repo: local" scope, so new local hooks can be defined directly at this indentation:
# - id: new-local-hook
# To add external repo hooks, bring the indentation back to:
# - repo: my-remote-hook
================================================
FILE: AUTHORS.md
================================================
# Godot Engine authors
Godot Engine is developed by a community of voluntary contributors who
contribute code, bug reports, documentation, translations, support, etc.,
across multiple repositories.
It is impossible to list them all; nevertheless, this file aims at listing
the developers who contributed significant improvements to the engine code.
To keep the list curated, we use a threshold of a minimum of 11 commits.
This file does not strictly reflect copyright ownership for the engine
source code. For this, refer to the Git history to know which contributor
wrote which part of the codebase.
GitHub usernames are indicated in parentheses, or as sole entry when no other
name is available.
## Project Founders
Juan Linietsky (reduz)
Ariel Manzur (punto-)
## Lead Developer
Juan Linietsky (reduz)
## Project Manager
Rémi Verschelde (akien-mga)
## Developers
Aaron Franke (aaronfranke)
Aaron Pagano (aaronp64)
Aaron Record (LightningAA)
Adam Johnston (a-johnston)
Adam Scott (adamscott)
Æio Much (AeioMuch)
Alex Drozd (brno32)
Alexander Hartmann (Alex2782)
Alexander Holland (AlexHolly)
Alexey Khoroshavin (allkhor)
Alfred Reinold Baudisch (alfredbaudisch)
Alistair Leslie-Hughes (alesliehughes)
Alket Rexhepi (alketii)
Allen Pestaluky (allenwp)
Alvin Wong (alvinhochun)
Andrea Catania (AndreaCatania)
Andreia Gaita (shana)
Andrés Botero (0xafbf)
Andrii Doroshenko (Xrayez)
Andy Maloney (asmaloney)
Andy Moss (MillionOstrich)
Angad Kambli (angad-k)
Anilforextra (AnilBK)
Anish Bhobe (KidRigger)
Anish Kumar (syntaxerror247)
Anni Ryynänen (anniryynanen)
Anton Yabchinskiy (a12n)
Anutrix
Aren Villanueva (kurikaesu)
Ariel Manzur (punto-)
arkology
Arman Elgudzhyan (puchik)
Arseny Kapoulkine (zeux)
AThousandShips
aXu-AP
Bartłomiej T. Listwon (Listwon)
Bastiaan Olij (BastiaanOlij)
Ben Brookshire (sheepandshepherd)
Benjamin Larsson (Nallebeorn)
Bernat Arlandis (berarma)
Bernhard Liebl (poke1024)
Bhuvan Vemula (Bhu1-V)
bitsawer
Błażej Szczygieł (zaps166)
BlueCube3310
Bojidar Marinov (bojidar-bg)
Brian Semrau (briansemrau)
BrotherShort
Bruno Lourenço (MadEqua)
Cameron Reikes (creikey)
Camille Mohr-Daurat (pouleyKetchoupp)
Caner Demirer (cdemirer)
Carl Olsson (not-surt)
Carter Anderson (cart)
ChibiDenDen
ChocolaMint (chocola-mint)
Chris Bradfield (cbscribe)
Chris Cranford (Naros)
Christian Kaiser (ckaiser)
Clay John (clayjohn)
ConteZero
CookieBadger
Dana Olson (adolson)
Daniel J. Ramirez (djrm)
Daniel Rakos (aqnuep)
Daniel Zilberleyb (dzil123)
Danil Alexeev (dalexeev)
dankan1890
Darío Banini (DarioSamo)
David Cambré (Gallilus)
David Sichma (DavidSichma)
David Snopek (dsnopek)
demolke
derammo
Dery Almas (deralmas)
Dharkael (lupoDharkael)
Dirk Steinmetz (rsjtdrjgfuzkfg)
Dmitry Koteroff (Krakean)
Dmitry Maganov (vonagam)
Dominik Jasiński (dreamsComeTrue)
Douglas Leão (DeeJayLSP)
DualMatrix
Ellen Poe (ellenhp)
Emilio Coppola (coppolaemilio)
Emmanuel Barroga (codecustard)
Emmanuel Leblond (touilleMan)
Eoin O'Neill (Eoin-ONeill-Yokai)
Eric Lasota (elasota)
Eric M (EricEzaM)
Eric Rybicki (ericrybick)
Erik Selecký (rxlecky)
est31
Eveline Jarosz (Marqin)
Fabian Mathews (supagu)
Fabio Alessandrelli (Faless)
Fabrice Cipolla (fabriceci)
Ferenc Arn (tagcup)
FireForge (fire-forge)
Florent Guiocheau (Flarkk)
Florian Kothmeier (Dragoncraft89)
follower
foxydevloper
François Belair (Razoric480)
Franklin Sobrinho (TheHX)
Fredia Huya-Kouadio (m4gr3d)
Geequlim
George Marques (vnen)
Gergely Kis (kisg)
Gerrit Großkopf (Grosskopf)
Giganzo
Gilles Roudiere (groud)
Gordon MacPherson (RevoluPowered)
Guilherme Felipe de C. G. da Silva (guilhermefelipecgs)
Guillaume Mouton (kiroxas)
Hakim Rouatbi (hakro)
Hanif Bin Ariffin (hbina)
Haoyu Qiu (timothyqiu)
Hein-Pieter van Braam-Stewart (hpvb)
Hendrik Brucker (Geometror)
Hilderin
Hiroshi Ogawa (hi-ogawa)
HolonProduction
homer666
hoontee
Hugo Locurcio (Calinou)
Ian Bishop (ianb96)
Ibrahn Sahir (ibrahn)
Ignacio Roldán Etcheverry (neikeq)
Igor Kordiukiewicz (IgorKordiukiewicz)
Ilaria Cislaghi (QbieShay)
Indah Sylvia (ISylvox)
Ivan Šachov (van800)
J08nY
Jake Young (Duroxxigar)
Jakub Grzesik (kubecz3k)
Jakub Marcowski (Chubercik)
James Buck (jbuck3)
Jamie Pate (jamie-pate)
Jan Haller (Bromeon)
Jason Knight (jasonwinterpixel)
Jayden Sipe (jaydensipe)
Jean-Michel Bernard (jmb462)
Jérôme Gully (Nutriz)
Jia Jun Chai (SkyLucilfer)
jitspoe
Joan Fons Sanchez (JFonS)
Johan Aires Rastén (JohanAR)
Johan Manuel (29jm)
Johannes Witt (HaSa1002)
Jonathan Nicholl (jtnicholl)
Jordan Schidlowsky (winterpixelgames)
Jorrit Rouwe (jrouwe)
Josh Jones (DarkKilauea)
Joshua Grams (JoshuaGrams)
Juan Linietsky (reduz)
Julian Murgia (StraToN)
Julien Nguyen (Blackiris)
Jummit
Justo Delgado (mrcdk)
K. S. Ernest (iFire) Lee (fire)
Kaleb Reid (Kaleb-Reid)
karroffel
Kasper Arnklit Frandsen (Arnklit)
Kassandra Pucher (PucklaJ)
Kelly Thomas (KellyThomas)
Kit Bishop (kitbdev)
kleonc
KOGA Mitsuhiro (shiena)
Koliur Rahman (dugramen)
Kongfa Waroros (gongpha)
Kostadin Damyanov (Max-Might)
Koyper
Kyle Eichlin (likeich)
Lander (lander-vr)
Lars Pettersson (larspet)
lawnjelly
Leon Krause (leonkrause)
Liz Haas (27thLiz)
Logan Detrick (lodetrick)
Logan Lang (devloglogan)
Lucien Menassol (Kanabenki)
Lukas Tenbrink (Ivorforce)
Luo Zhihao (beicause)
Lyuma
Maganty Rushyendra (mrushyendra)
Magian (magian1127)
Mai Lavelle (maiself)
Malcolm Anderson (Meorge)
Malcolm Nixon (Malcolmnixon)
Manuele Finocchiaro (m4nu3lf)
Marc Gilleron (Zylann)
Marcel Admiraal (madmiraal)
Marcelo Fernandez (marcelofg55)
Marcin Zawiejski (dragmz)
Marcus Brummer (mbrlabs)
Marcus Elg (MCrafterzz)
Mariano Javier Suligoy (MarianoGnu)
Mario Liebisch (MarioLiebisch)
Mario Schlack (hurikhan)
Marios Staikopoulos (marstaik)
Marius Hanl (Maran23)
Mark DiBarry (markdibarry)
Mark Riedesel (klowner)
Markus Sauermann (Sauermann)
Martin Capitanio (capnm)
Martin Liška (marxin)
Martin Sjursen (binbitten)
marynate
Masoud BH (masoudbh3)
Mateo Kuruk Miccino (kuruk-mm)
Matias N. Goldberg (darksylinc)
MatheusMDX (matheusmdx)
Matthew (skyace65)
Matthew Murphy (mashumafi)
Matthias Hölzl (hoelzl)
Max Hilbrunner (mhilbrunner)
Meru Patel (Janglee123)
merumelu
MewPurPur
Michael Alexsander (YeldhamDev)
Michael Precup (precup)
Michael Russkikh (Summersay415)
Michał Iwańczuk (iwek7)
MichiRecRoom (LikeLakers2)
Micky (Mickeon)
Mika Viskari (miv391)
Mikael Hermansson (mihe)
MinusKube
MJacred
Mounir Tohami (WhalesState)
mrezai
Muhammad Huri (CakHuri)
muiroc
Muller-Castro
myaaaaaaaaa
Nathalie Galla (MurderVeggie)
Nathan Franke (nathanfranke)
Nathan Lovato (NathanLovato)
Nathan Warden (NathanWarden)
Nazarii Yablonskyi (Nazarwadim)
Nicholas Huelin (SirQuartz)
Nikita Lita (nikitalita)
Nils André-Chang (NilsIrl)
Nintorch
Noah Beard (TwistedTwigleg)
Nông Văn Tình (nongvantinh)
Nuno Donato (nunodonato)
ocean (they/them) (anvilfolk)
Omar El Sheikh (The-O-King)
Ovnuniarchos
Pablo Andres Fuente (pafuent)
Pascal Richter (ShyRed)
passivestar
Patrick (firefly2442)
Patrick Dawson (pkdawson)
Patrick Exner (FlameLizard)
patwork
Paul Batty (Paulb23)
Paul Joannon (paulloz)
Paul Trojahn (ptrojahn)
Pāvels Nadtočajevs (bruvzg)
Paweł Fertyk (pfertyk)
Pawel Kowal (pkowal1982)
Pawel Lampe (Scony)
Pedro J. Estébanez (RandomShaper)
Pieter-Jan Briers (PJB3005)
Poommetee Ketson (Noshyaar)
Przemysław Gołąb (n-pigeon)
Radiant (radiantgurl)
Rafael M. G. (rafallus)
Rafał Mikrut (qarmin)
Raffaele Picca (RPicster)
Ralf Hölzemer (rollenrolm)
Ramesh Ravone (RameshRavone)
Raphael2048
Raul Santos (raulsntos)
Ray Koopa (RayKoopa)
RedMser
RedworkDE
Rémi Verschelde (akien-mga)
Rhody Lugo (rraallvv)
Ricardo Buring (rburing)
Ricardo Subtil (Ev1lbl0w)
Robert Yevdokimov (ryevdokimov)
Roberto F. Arroyo (robfram)
Robin Hübner (profan)
romulox-x
Rudolph Bester (Rudolph-B)
Rune Smith (rune-scape)
Ruslan Mustakov (endragor)
Ryan Roden-Corrent (rrcore)
Saniko (sanikoyes)
santouits
Saracen (SaracenOne)
Septian Ganendra S. K. (sepTN)
Sergey Minakov (naithar)
sersoong
Shiqing (kawa-yoiko)
Silc 'Tokage' Renew (TokageItLab)
Simon Schoenenberger (detomon)
Simon Wenner (swenner)
Skyth (Asilkan) (blueskythlikesclouds)
smix8
snailrhymer
Sofox (TheSofox)
Stanislav Labzyuk (DarkMessiah)
Stijn Hinlopen (hinlopen)
stmSi
Stuart Carnie (stuartcarnie)
Swarnim Arun (minraws)
TC (floppyhammer)
TechnoPorg
tetrapod00
Thaddeus Crews (Repiteo)
Thakee Nathees (ThakeeNathees)
thebestnom
Theo Hallenius (TheoXD)
Thomas ten Cate (ttencate)
Timo (toger5)
Timo Schwarzer (timoschwarzer)
Timothé Bonhoure (ajreckof)
Tomasz Chabora (KoBeWi)
Travis Lange (TCROC)
trollodel
Twarit Waikar (IronicallySerious)
Umang Kalra (theoway)
V. Vamsi Krishna (vkbsb)
vaner (vaner-org)
Victor Hampel (havi05)
Vinzenz Feenstra (vinzenz)
Vitika Soni (Vitika9)
Wilhem Barbier (nounoursheureux)
Will Nations (willnationsdev)
William Deurwaarder (williamd67)
Wilson E. Alvarez (Rubonnek)
Xavier Cho (mysticfall)
Xu Huisheng (xuhuisheng)
Yaohua Xiong (xiongyaohua)
ydeltastar
Yevhen Babiichuk (dustdfg)
yg2f (SuperUserNameMan)
Yordan Dolchinkov (Jordyfel)
Yufeng Ying (YYF233333)
Yuri Rubinsky (Chaosus)
Yuri Sizov (YuriSizov)
Zae Chao (zaevi)
Zak Stam (zaksnet)
Zher Huei Lee (leezh)
Zi Ye (MajorMcDoom)
ZuBsPaCe
Дмитрий Сальников (DmitriySalnikov)
박한얼 (volzhs)
忘忧の (Daylily-Zeleen)
神麤詭末 (scgm0)
谢天 (jsjtxietian)
风青山 (Rindbee)
================================================
FILE: CHANGELOG.md
================================================
# Changelog
This file lists all changes made between the current feature branch and the
previous feature release. It is equivalent to the listings on our
[interactive changelog](https://godotengine.github.io/godot-interactive-changelog/).
Changelogs for earlier feature releases are available in their respective Git
branches, and linked at the [end of this file](#Past-releases).
## 4.6 - 2026-01-26
- [Release announcement](https://godotengine.org/releases/4.6/)
- [Migration guide](https://docs.godotengine.org/en/4.6/tutorials/migrating/upgrading_to_godot_4.6.html)
- [Interactive changelog](https://godotengine.github.io/godot-interactive-changelog/#4.6)
- [Breaking changes](https://github.com/godotengine/godot/pulls?q=is%3Apr+is%3Amerged+label%3A%22breaks+compat%22+milestone%3A4.6)
Table of contents:
- [2D](#2d)
- [3D](#3d)
- [Animation](#animation)
- [Assetlib](#assetlib)
- [Audio](#audio)
- [Buildsystem](#buildsystem)
- [C#](#c)
- [Codestyle](#codestyle)
- [Core](#core)
- [Documentation](#documentation)
- [Editor](#editor)
- [Export](#export)
- [GDExtension](#gdextension)
- [GDScript](#gdscript)
- [GUI](#gui)
- [I18n](#i18n)
- [Import](#import)
- [Input](#input)
- [Multiplayer](#multiplayer)
- [Navigation](#navigation)
- [Network](#network)
- [Particles](#particles)
- [Physics](#physics)
- [Platforms](#platforms)
- [Plugin](#plugin)
- [Rendering](#rendering)
- [Shaders](#shaders)
- [Tests](#tests)
- [Thirdparty](#thirdparty)
- [XR](#xr)
#### 2D
- Fix Atlas Merge Tool crash ([GH-101407](https://github.com/godotengine/godot/pull/101407)).
- Fix smart snapping lines to disappear after using the pivot tool ([GH-105203](https://github.com/godotengine/godot/pull/105203)).
- Add "Use Local Space" option to the 2D editor ([GH-107264](https://github.com/godotengine/godot/pull/107264)).
- Fade TileMap editor overlay when zoomed out ([GH-107573](https://github.com/godotengine/godot/pull/107573)).
- Fix: Tilemap tools not overriding main editor tools ([GH-107843](https://github.com/godotengine/godot/pull/107843)).
- Highlight points on hover in the Polygon2D editor ([GH-107890](https://github.com/godotengine/godot/pull/107890)).
- Reduce TileMapLayerEditor's undo/redo memory usage ([GH-107969](https://github.com/godotengine/godot/pull/107969)).
- Add support for rotating scene tiles in TileMapLayer ([GH-108010](https://github.com/godotengine/godot/pull/108010)).
- Avoid unnecessary updates in `TileMapLayer` ([GH-109243](https://github.com/godotengine/godot/pull/109243)).
- Fix redundant calls of `CanvasItemEditor::_update_lock_and_group_button` on `SceneTreeEditor` node selection ([GH-110320](https://github.com/godotengine/godot/pull/110320)).
- Improve tile source tooltips ([GH-110328](https://github.com/godotengine/godot/pull/110328)).
- Fix nested TileMapLayers highlight rendering in editor ([GH-110768](https://github.com/godotengine/godot/pull/110768)).
- Fix snap Polygon2D editor ([GH-110989](https://github.com/godotengine/godot/pull/110989)).
- Fix game `Camera2D` override from editor and 2D debug templates building ([GH-111149](https://github.com/godotengine/godot/pull/111149)).
- Add zoom to fit functionality to `SpriteFramesEditor` ([GH-111471](https://github.com/godotengine/godot/pull/111471)).
- Fix rotation/scale order in `CanvasItem::draw_set_transform` ([GH-111476](https://github.com/godotengine/godot/pull/111476)).
- Fix Camera2D limit checks for inverted boundaries ([GH-111651](https://github.com/godotengine/godot/pull/111651)).
- Fix "Match Corners" not correctly updating cells when erasing ([GH-112145](https://github.com/godotengine/godot/pull/112145)).
- Fix Polygon2D editor undo crash ([GH-112241](https://github.com/godotengine/godot/pull/112241)).
- Check for tiles outside texture on TileSet atlas settings changes ([GH-112271](https://github.com/godotengine/godot/pull/112271)).
- Fix TileSet editor crash on terrain pick in paint mode ([GH-112349](https://github.com/godotengine/godot/pull/112349)).
- Change `TileSetScenesCollectionSource` raw pointers in the TileSet editor to ref ([GH-112739](https://github.com/godotengine/godot/pull/112739)).
- Prevent translating custom data layers ([GH-112769](https://github.com/godotengine/godot/pull/112769)).
- Fix `TileMapLayer` transformations for `Node2D` scene tiles ([GH-112790](https://github.com/godotengine/godot/pull/112790)).
- FTI: - `Camera2D` accepts resets only after entering tree ([GH-112810](https://github.com/godotengine/godot/pull/112810)).
- Fix `display_placeholder` not persisting ([GH-112828](https://github.com/godotengine/godot/pull/112828)).
- Enable Vertical orientation for TileMap Dock ([GH-113128](https://github.com/godotengine/godot/pull/113128)).
- Fix TileMap Dock button placement and errors ([GH-113594](https://github.com/godotengine/godot/pull/113594)).
- Fix `get_scene_tile_display_placeholder` erroring for transformed scene tiles ([GH-113856](https://github.com/godotengine/godot/pull/113856)).
- Fix incorrect error message placement in TileMap Dock ([GH-113870](https://github.com/godotengine/godot/pull/113870)).
- Fix undo/redo for adding scene tiles ([GH-114604](https://github.com/godotengine/godot/pull/114604)).
- Fix pattern corruption in `TileMapLayer` ([GH-114653](https://github.com/godotengine/godot/pull/114653)).
- Geometry2D: Remove `arc_tolerance` scaling and the comment related to that ([GH-115293](https://github.com/godotengine/godot/pull/115293)).
#### 3D
- Commit transforms done with editor gizmo on tool mode switch ([GH-86930](https://github.com/godotengine/godot/pull/86930)).
- Fix 3D editor Emulate Numpad setting having no effect when previewing a camera ([GH-93724](https://github.com/godotengine/godot/pull/93724)).
- Get `Node3D.global_rotation` from orthonormalized global basis ([GH-95075](https://github.com/godotengine/godot/pull/95075)).
- Rename Select Mode to Transform Mode, and create a new Select Mode without transform gizmo ([GH-101168](https://github.com/godotengine/godot/pull/101168)).
- Fix viewport rotation gizmo aligned axis reversing ([GH-101209](https://github.com/godotengine/godot/pull/101209)).
- Move editor viewport gizmos visibility logic out of process notification ([GH-102020](https://github.com/godotengine/godot/pull/102020)).
- Remove redundant line when toggling cinematic preview ([GH-102021](https://github.com/godotengine/godot/pull/102021)).
- Condition editor viewport nav modifier checks on freelook / mouse is captured ([GH-102055](https://github.com/godotengine/godot/pull/102055)).
- TextureEditors: Compile shader/material only once ([GH-104488](https://github.com/godotengine/godot/pull/104488)).
- GridMap: fix cell scale not applying to the cursor mesh ([GH-104510](https://github.com/godotengine/godot/pull/104510)).
- Add Bresenham Line Algorithm to GridMap Drawing ([GH-105292](https://github.com/godotengine/godot/pull/105292)).
- Fix ghost collisions in `segment_intersects_convex()` ([GH-106084](https://github.com/godotengine/godot/pull/106084)).
- Change snap settings to not use LineEdits ([GH-106684](https://github.com/godotengine/godot/pull/106684)).
- Always use a dark background for 3D editor overlays even with light theme ([GH-107154](https://github.com/godotengine/godot/pull/107154)).
- Visual feedback update for viewport rotation gizmo ([GH-107343](https://github.com/godotengine/godot/pull/107343)).
- Do not require editor restart when changing Path 3d Tilt Disk Size setting ([GH-108546](https://github.com/godotengine/godot/pull/108546)).
- Do not require editor restart when changing manipulator gizmo opacity setting ([GH-108549](https://github.com/godotengine/godot/pull/108549)).
- Create a rotation arc showing accumulated rotation when using transform gizmo ([GH-108576](https://github.com/godotengine/godot/pull/108576)).
- Make rotation gizmo white outline a 4th handle that rotates around the camera's view-axis ([GH-108608](https://github.com/godotengine/godot/pull/108608)).
- Fix jump when cutting a selection in Gridmap ([GH-108743](https://github.com/godotengine/godot/pull/108743)).
- Remove spurious `Curve3D` `changed` signals ([GH-109220](https://github.com/godotengine/godot/pull/109220)).
- Move `Lock View Rotation` label logic out of process notification ([GH-109490](https://github.com/godotengine/godot/pull/109490)).
- Remove unused editor setting `editors/grid_map/palette_min_width` ([GH-109582](https://github.com/godotengine/godot/pull/109582)).
- GLTF export: use ORM texture for occlusion/metallicRoughnessTexture if it exists ([GH-109845](https://github.com/godotengine/godot/pull/109845)).
- Fix `GridMap` Move Action Undo/Redo/Cancel ([GH-109878](https://github.com/godotengine/godot/pull/109878)).
- Fix numpad emulation in 3d navigation shortcuts ([GH-110428](https://github.com/godotengine/godot/pull/110428)).
- Remove `pixel_size` precision limit in Sprite3D ([GH-111491](https://github.com/godotengine/godot/pull/111491)).
- Implement orbit snapping in 3D viewport ([GH-111509](https://github.com/godotengine/godot/pull/111509)).
- Improve Transform dialog ([GH-111600](https://github.com/godotengine/godot/pull/111600)).
- Fix the material preview sphere model ([GH-112046](https://github.com/godotengine/godot/pull/112046)).
- Fix `CollisionPolygon3D` debug shape rendering ([GH-112285](https://github.com/godotengine/godot/pull/112285)).
- Fix GridMap `cursor_instance` transparency error spam ([GH-112301](https://github.com/godotengine/godot/pull/112301)).
- Remove undefined method `Skeleton3D::remove_bone` ([GH-112402](https://github.com/godotengine/godot/pull/112402)).
- Don't redraw `Sprite3D`/`AnimatedSprite3D` outside the tree ([GH-112593](https://github.com/godotengine/godot/pull/112593)).
- Add MeshInstance3D upgrade code ([GH-112607](https://github.com/godotengine/godot/pull/112607)).
- Fix wrong AABB when selecting Node3D gizmo in editor ([GH-112666](https://github.com/godotengine/godot/pull/112666)).
- Fix preview CSG interfering with itself during drag and drop ([GH-112861](https://github.com/godotengine/godot/pull/112861)).
- Default the 3D editor to Transform mode to restore 4.5 behavior ([GH-113458](https://github.com/godotengine/godot/pull/113458)).
- Prevent BonePropertiesEditor crash due to skeleton use-after-release ([GH-113631](https://github.com/godotengine/godot/pull/113631)).
- Node3DEditorViewport: Prevent crash while handling input ([GH-113895](https://github.com/godotengine/godot/pull/113895)).
- Debugger: Fix 3D disabled builds ([GH-113962](https://github.com/godotengine/godot/pull/113962)).
- Fix `sorting_offset` property flags for `Decal` ([GH-114335](https://github.com/godotengine/godot/pull/114335)).
- Fix rotation gizmo line position ([GH-114408](https://github.com/godotengine/godot/pull/114408)).
- Fix crash when selecting SplineIK3D ([GH-114668](https://github.com/godotengine/godot/pull/114668)).
- Keep other parts of transform gizmo visible when rotating in local mode ([GH-114714](https://github.com/godotengine/godot/pull/114714)).
- Fix `Sprite3D` modulate propagation on reparenting ([GH-115037](https://github.com/godotengine/godot/pull/115037)).
#### Animation
- Fix animation loop import hints becoming lost ([GH-91634](https://github.com/godotengine/godot/pull/91634)).
- Add tests for `AnimationPlayer` ([GH-92649](https://github.com/godotengine/godot/pull/92649)).
- Use `LocalVector` in `Animation` ([GH-101285](https://github.com/godotengine/godot/pull/101285)).
- Minor Animation Player workflow enhancements ([GH-103416](https://github.com/godotengine/godot/pull/103416)).
- Fix issue of `AnimationPlayer` hiding bezier editor when re-selecting it ([GH-104371](https://github.com/godotengine/godot/pull/104371)).
- Add `interpolate_via_rest()` static func to Animation class ([GH-107423](https://github.com/godotengine/godot/pull/107423)).
- Display AnimationTree editor warnings when the node is disabled ([GH-107468](https://github.com/godotengine/godot/pull/107468)).
- Add toggle for inserting keys/markers at current time vs mouse cursor's position ([GH-107511](https://github.com/godotengine/godot/pull/107511)).
- Add ability to copy and paste animations in SpriteFrames ([GH-107887](https://github.com/godotengine/godot/pull/107887)).
- Add "Go to Next/Previous Keyframe" to Animation Edit menu ([GH-107959](https://github.com/godotengine/godot/pull/107959)).
- Propagate `Tween.kill()` to subtweens ([GH-108227](https://github.com/godotengine/godot/pull/108227)).
- Fix missing shortcuts for play buttons in SpriteFrames Editor ([GH-109422](https://github.com/godotengine/godot/pull/109422)).
- Allow reconnecting AnimationNodeStateMachine transitions ([GH-109534](https://github.com/godotengine/godot/pull/109534)).
- Correctly reset StateMachine opacity when a node is played or renamed ([GH-109605](https://github.com/godotengine/godot/pull/109605)).
- Make BlendSpace selection tool consistent with StateMachine/BlendTree functionality ([GH-109792](https://github.com/godotengine/godot/pull/109792)).
- Double-click BlendSpace points to open their editor ([GH-109839](https://github.com/godotengine/godot/pull/109839)).
- Expose `get_fading_...` methods for `AnimationNodeStateMachinePlayback` ([GH-109986](https://github.com/godotengine/godot/pull/109986)).
- Add `SkeletonModifier3D` IKs as `IKModifier3D` ([GH-110120](https://github.com/godotengine/godot/pull/110120)).
- Improve deselection in AnimationTree editors and inspector ([GH-110131](https://github.com/godotengine/godot/pull/110131)).
- Trim -loop & -cycle from animations during Godot 3 to 4 conversion ([GH-110188](https://github.com/godotengine/godot/pull/110188)).
- Fix Skeleton2D TwoBoneIK and LookAt mirroring ([GH-110298](https://github.com/godotengine/godot/pull/110298)).
- Add option to `BoneConstraint3D` to make reference target allow to set `Node3D` ([GH-110336](https://github.com/godotengine/godot/pull/110336)).
- Add option to keying modified transform by `SkeletonModifier3D` ([GH-110376](https://github.com/godotengine/godot/pull/110376)).
- Fix `_validate_property()` in `RetargetModifier3D` ([GH-110380](https://github.com/godotengine/godot/pull/110380)).
- Optimize `Animation::_track_update_hash` ([GH-110400](https://github.com/godotengine/godot/pull/110400)).
- Fix read-only state for Skeleton and Inspector ([GH-110487](https://github.com/godotengine/godot/pull/110487)).
- Change AnimationLibrary serialization to avoid using Dictionary ([GH-110502](https://github.com/godotengine/godot/pull/110502)).
- Fix Reset on Save corrupt poses if scene has multiple Skeletons ([GH-110506](https://github.com/godotengine/godot/pull/110506)).
- Ensure the AnimationPlayer emits `animation_finished` for every animation ([GH-110508](https://github.com/godotengine/godot/pull/110508)).
- Fix imported animation warning labeled as Imported Scene ([GH-110619](https://github.com/godotengine/godot/pull/110619)).
- Allow resizing the length of animations by dragging the timeline ([GH-110623](https://github.com/godotengine/godot/pull/110623)).
- Change list of Tweeners from Vector to LocalVector ([GH-110656](https://github.com/godotengine/godot/pull/110656)).
- Show marker lines/sections in the animation bezier editor ([GH-110676](https://github.com/godotengine/godot/pull/110676)).
- Fix AnimationPlayer to use StringName instead of String in the exposed API ([GH-110767](https://github.com/godotengine/godot/pull/110767)).
- Add solo/hide/lock/delete buttons to node groups in bezier track editor ([GH-110866](https://github.com/godotengine/godot/pull/110866)).
- Fix backward/pingpong root motion in AnimationTree ([GH-110982](https://github.com/godotengine/godot/pull/110982)).
- Make extended SkeletonModifiers retrieve interpolated global transform ([GH-110987](https://github.com/godotengine/godot/pull/110987)).
- Expose `is_valid()` from `AnimationPlayer` to make detecting paused animations possible ([GH-111178](https://github.com/godotengine/godot/pull/111178)).
- Add LimitAngularVelocityModifier3D ([GH-111184](https://github.com/godotengine/godot/pull/111184)).
- Fix incorrect AnimationNodeAnimation `timeline_length` description ([GH-111251](https://github.com/godotengine/godot/pull/111251)).
- Make StateMachinePlayback set `Start` state as default in constructor ([GH-111325](https://github.com/godotengine/godot/pull/111325)).
- Add relative option to LookAt/AimModifier3D ([GH-111367](https://github.com/godotengine/godot/pull/111367)).
- Change Vector to LocalVector in SpringBoneSimulator3D ([GH-111378](https://github.com/godotengine/godot/pull/111378)).
- Set step before set value, to fix animation length issue ([GH-111398](https://github.com/godotengine/godot/pull/111398)).
- Fix crash when rearranging filtered animation tracks ([GH-111427](https://github.com/godotengine/godot/pull/111427)).
- Seek to beginning of section if current playback position is after its end ([GH-111517](https://github.com/godotengine/godot/pull/111517)).
- Fix unwanted blend position movement ([GH-111803](https://github.com/godotengine/godot/pull/111803)).
- Allow Spring / IK to set mutable bone axes ([GH-111815](https://github.com/godotengine/godot/pull/111815)).
- Improve validation for adding transition in StateMachine ([GH-111935](https://github.com/godotengine/godot/pull/111935)).
- Remember animation snapping state ([GH-111952](https://github.com/godotengine/godot/pull/111952)).
- Separate branching ping-pong time and delta ([GH-112047](https://github.com/godotengine/godot/pull/112047)).
- Add "Abort on Reset" property to AnimationNodeOneShot ([GH-112054](https://github.com/godotengine/godot/pull/112054)).
- Track groups in Animation tab hover highlight ([GH-112148](https://github.com/godotengine/godot/pull/112148)).
- Improve Bezier Default Mode button in Animation dock ([GH-112231](https://github.com/godotengine/godot/pull/112231)).
- Remove default skeleton path in MeshInstance3D ([GH-112267](https://github.com/godotengine/godot/pull/112267)).
- Fix NodeOneShot doesn't reset correctly ([GH-112450](https://github.com/godotengine/godot/pull/112450)).
- Add Deterministic option to IterateIK3D ([GH-112524](https://github.com/godotengine/godot/pull/112524)).
- Fix custom audio track blend flag on reimport ([GH-112563](https://github.com/godotengine/godot/pull/112563)).
- Move the line of calling `animation_finished` signal to ensure stopping ([GH-112571](https://github.com/godotengine/godot/pull/112571)).
- Fix JacobianIK to apply gradient correctly ([GH-112573](https://github.com/godotengine/godot/pull/112573)).
- Make AnimationLibrary use RBMap instead of HashMap ([GH-112692](https://github.com/godotengine/godot/pull/112692)).
- Fix error in `BlendSpace2D` when selecting blend position tool ([GH-112710](https://github.com/godotengine/godot/pull/112710)).
- Move the line of importing JointLimitation3D to 3D from Physics3D ([GH-112856](https://github.com/godotengine/godot/pull/112856)).
- Add an argument `p_reset` to `SpringBoneSimulator3D::_make_joints_dirty()` ([GH-112867](https://github.com/godotengine/godot/pull/112867)).
- Fix mutable bone axes process in TwoBoneIK3D ([GH-113055](https://github.com/godotengine/godot/pull/113055)).
- Fix AnimationMixer error spam by respecting cache validity on invalid `root_node` ([GH-113140](https://github.com/godotengine/godot/pull/113140)).
- Fix empty 2D skeleton modification keeps printing error messages ([GH-113176](https://github.com/godotengine/godot/pull/113176)).
- Add BoneTwistDisperser3D to propagate IK target's twist ([GH-113284](https://github.com/godotengine/godot/pull/113284)).
- Remove `is_penetrated` check from IK as role overlap/excessive behavior ([GH-113285](https://github.com/godotengine/godot/pull/113285)).
- Add shortcuts in tooltips to the animation editor's play/pause buttons ([GH-113415](https://github.com/godotengine/godot/pull/113415)).
- Use physical key shortcuts for the animation editor's play/pause buttons ([GH-113416](https://github.com/godotengine/godot/pull/113416)).
- Fix truncation of node name in bezier animation editor ([GH-113500](https://github.com/godotengine/godot/pull/113500)).
- Fix Animation Editor erroring when animating SpriteAnimation3D `frame` but not `animation` ([GH-113786](https://github.com/godotengine/godot/pull/113786)).
- Fix the clipping of keys when moving keys ([GH-113903](https://github.com/godotengine/godot/pull/113903)).
- Fix Marker Name covered by AnimationPlayer track backgrounds ([GH-114056](https://github.com/godotengine/godot/pull/114056)).
- Return at invalid skeleton in ChainIK3D before updating mutable info ([GH-114062](https://github.com/godotengine/godot/pull/114062)).
- Fix AnimationMixer handling disabled track in RESET ([GH-114176](https://github.com/godotengine/godot/pull/114176)).
- Fix setter for readonly bone name in the joint array and add null check in IKModifier3D ([GH-114240](https://github.com/godotengine/godot/pull/114240)).
- Change `radius_range` to `angle` to indicate hole size of `JointLimitationCone3D` ([GH-114395](https://github.com/godotengine/godot/pull/114395)).
- Fix IKModifier/JointLimitation gizmo on root bone and dirty handling ([GH-114431](https://github.com/godotengine/godot/pull/114431)).
- Ensure `clear_animation_instances()` after blending frame result ([GH-114458](https://github.com/godotengine/godot/pull/114458)).
- Fix AnimationPlayerEditor failed to fetch AnimationTree's libraries ([GH-114482](https://github.com/godotengine/godot/pull/114482)).
- Fix discrete key is not processed by `advance_on_start` in AnimationNode ([GH-114487](https://github.com/godotengine/godot/pull/114487)).
- Make `base_height_adjustment` apply to global position & Fix false warning `Animated extra bone between mapped bones detected` ([GH-114543](https://github.com/godotengine/godot/pull/114543)).
- Tweak `SkeletonModifier3D` document for `_process_modification_with_delta()` and `JacobianIK3D` icon ([GH-114580](https://github.com/godotengine/godot/pull/114580)).
- Hide animation library properties in inspector ([GH-114582](https://github.com/godotengine/godot/pull/114582)).
- Fix animation editor sometimes not processing on scene change ([GH-114603](https://github.com/godotengine/godot/pull/114603)).
- Fix Skeleton3D edit mode usability issues ([GH-114752](https://github.com/godotengine/godot/pull/114752)).
- Fix animation library serialization compatibility for 4.5 projects ([GH-114844](https://github.com/godotengine/godot/pull/114844)).
- Remove dead definition `get_animation_libraries()` from AnimationMixer ([GH-114897](https://github.com/godotengine/godot/pull/114897)).
- Fix wrong play position for the `AnimationMarkerEdit` ([GH-114935](https://github.com/godotengine/godot/pull/114935)).
- Allow `ONE_SHOT_REQUEST_FIRE` to override OneShot abortion ([GH-115175](https://github.com/godotengine/godot/pull/115175)).
- Tweak IKModifier3D docs and comment ([GH-115303](https://github.com/godotengine/godot/pull/115303)).
#### Assetlib
- Fix author names not showing up in the AssetLib ([GH-112208](https://github.com/godotengine/godot/pull/112208)).
- Fix extra spacing in author names when opening the asset dialog ([GH-113017](https://github.com/godotengine/godot/pull/113017)).
#### Audio
- Replace `minimp3` with `dr_mp3` ([GH-96547](https://github.com/godotengine/godot/pull/96547)).
- Change the random pitch on the audio stream randomizer to be in semitones, not a frequency multiplier ([GH-103742](https://github.com/godotengine/godot/pull/103742)).
- Pause audio when game is paused ([GH-104420](https://github.com/godotengine/godot/pull/104420)).
- Ignore changes in "Master" bus while in the Audio Importer ([GH-106415](https://github.com/godotengine/godot/pull/106415)).
- Use 64-bit offset/loop points in `AudioStreamWAV` ([GH-107596](https://github.com/godotengine/godot/pull/107596)).
- AudioStreamOggVorbis: only show invalid comment warning in Editor builds ([GH-109844](https://github.com/godotengine/godot/pull/109844)).
- Add one padding frame to QOA buffer for short streams ([GH-110515](https://github.com/godotengine/godot/pull/110515)).
- Fix AudioStreamPolyphonic to honor `AudioStreamPlayer.pitch_scale` ([GH-110525](https://github.com/godotengine/godot/pull/110525)).
- Vorbis: Add details to warning about invalid comment header ([GH-110652](https://github.com/godotengine/godot/pull/110652)).
- macOS: Fix microphone issue ([GH-111691](https://github.com/godotengine/godot/pull/111691)).
- Statically protect `Object::cast_to` for unrelated `Object` types ([GH-111967](https://github.com/godotengine/godot/pull/111967)).
- Fix CoreAudio driver crash when starting input with uninitialized device ([GH-112404](https://github.com/godotengine/godot/pull/112404)).
- AudioServer to have function to access microphone buffer directly ([GH-113288](https://github.com/godotengine/godot/pull/113288)).
- Check if on tree before calling `can_process()` ([GH-114966](https://github.com/godotengine/godot/pull/114966)).
#### Buildsystem
- SCons: Integrate `annotations` where relevant ([GH-99640](https://github.com/godotengine/godot/pull/99640)).
- Add `profiler_path` option to `SCons` builds, with support for `tracy` and `perfetto` ([GH-104851](https://github.com/godotengine/godot/pull/104851)).
- Reduce cross project includes by rewriting `HashMapHasherDefault` ([GH-106434](https://github.com/godotengine/godot/pull/106434)).
- Add `STATIC_ASSERT_INCOMPLETE_TYPE` to enforce include minimality ([GH-107587](https://github.com/godotengine/godot/pull/107587)).
- Replace iOS/visionOS Xcode templates by new Apple embedded template ([GH-107789](https://github.com/godotengine/godot/pull/107789)).
- CI: Generate debug build for Android ([GH-108468](https://github.com/godotengine/godot/pull/108468)).
- SCons: Ensure `CPPDEFINES` is properly utilized ([GH-108613](https://github.com/godotengine/godot/pull/108613)).
- Add a Swappy installation script for easier Android builds ([GH-108674](https://github.com/godotengine/godot/pull/108674)).
- SwiftUI lifecycle for Apple embedded platforms ([GH-109974](https://github.com/godotengine/godot/pull/109974)).
- make_rst.py: Add missing rst-class to annotation descriptions ([GH-110276](https://github.com/godotengine/godot/pull/110276)).
- Linux: Allow unbundling libjpeg-turbo to use system package ([GH-110540](https://github.com/godotengine/godot/pull/110540)).
- Editor: Generate translation data in separate cpp files ([GH-110618](https://github.com/godotengine/godot/pull/110618)).
- CI: Bump Ruff version (0.12.0 → 0.13.1) ([GH-110664](https://github.com/godotengine/godot/pull/110664)).
- SCons: Fix Windows `silence_msvc` logfile encoding ([GH-110691](https://github.com/godotengine/godot/pull/110691)).
- Fix HashMap/HashSet in natvis after member renames ([GH-110882](https://github.com/godotengine/godot/pull/110882)).
- Windows: Migrate `godot.manifest` to `platform/windows`, include as dependency ([GH-110897](https://github.com/godotengine/godot/pull/110897)).
- CI: Bump `clang-format` and `clang-tidy` versions ([GH-110968](https://github.com/godotengine/godot/pull/110968)).
- Fix unreachable code warning in double-precision builds ([GH-111018](https://github.com/godotengine/godot/pull/111018)).
- CI: Add pre-commit hook for XML linting ([GH-111052](https://github.com/godotengine/godot/pull/111052)).
- Fix compiling SDL without DBus under Linux ([GH-111146](https://github.com/godotengine/godot/pull/111146)).
- System-provided ENet warning ([GH-111211](https://github.com/godotengine/godot/pull/111211)).
- CI: Fix `CODEOWNERS` inconsistencies ([GH-111222](https://github.com/godotengine/godot/pull/111222)).
- Replace `std::size` usage with `std_size` to avoid `<iterator>` include ([GH-111223](https://github.com/godotengine/godot/pull/111223)).
- CI: Bump SCons version [4.9.0→4.10.0] ([GH-111224](https://github.com/godotengine/godot/pull/111224)).
- Fix 2D debug templates linking ([GH-111242](https://github.com/godotengine/godot/pull/111242)).
- Remove `Array` include from `dictionary.h` and `ustring.h` ([GH-111244](https://github.com/godotengine/godot/pull/111244)).
- Make BasisUniversal `basisu_astc_hdr_6x6_enc.h` non-executable ([GH-111253](https://github.com/godotengine/godot/pull/111253)).
- Remove `rw_lock.h` and `rb_map.h` includes from `object.h` ([GH-111254](https://github.com/godotengine/godot/pull/111254)).
- Build: Fix container build path for swift ([GH-111299](https://github.com/godotengine/godot/pull/111299)).
- macOS: Move includes inside `#ifdef` so OpenGL can be disabled ([GH-111301](https://github.com/godotengine/godot/pull/111301)).
- Revert "SCons: Add `CPPEXTPATH` for external includes" ([GH-111331](https://github.com/godotengine/godot/pull/111331)).
- Scons: Remove system includes ([GH-111346](https://github.com/godotengine/godot/pull/111346)).
- Add `max()` to `Span`, replacing `<algorithm>` include from `rendering_device_commons.h` ([GH-111347](https://github.com/godotengine/godot/pull/111347)).
- Windows: Fix MinGW build ([GH-111368](https://github.com/godotengine/godot/pull/111368)).
- Fix Steam time tracker build ([GH-111396](https://github.com/godotengine/godot/pull/111396)).
- Remove `compositor.h` include from `world_3d.h` ([GH-111402](https://github.com/godotengine/godot/pull/111402)).
- Remove transitive rendering includes from `node.h` ([GH-111405](https://github.com/godotengine/godot/pull/111405)).
- SCons: Don't activate `fast_unsafe` automatically on `dev_build` ([GH-111411](https://github.com/godotengine/godot/pull/111411)).
- Remove circular unneeded `debug_adapter_protocol.h` include from `debug_adapter_parser.h` ([GH-111470](https://github.com/godotengine/godot/pull/111470)).
- Remove extraneous includes from `texture.h` ([GH-111481](https://github.com/godotengine/godot/pull/111481)).
- Fix 2D builds (again) ([GH-111487](https://github.com/godotengine/godot/pull/111487)).
- SCons: Enable MinGW big objects universally ([GH-111566](https://github.com/godotengine/godot/pull/111566)).
- Fix use of outdated macros in ObjectDBProfiler ([GH-111601](https://github.com/godotengine/godot/pull/111601)).
- Remove `display_server.h` transitive include from `node.h` ([GH-111620](https://github.com/godotengine/godot/pull/111620)).
- Fix some compilation errors ([GH-111621](https://github.com/godotengine/godot/pull/111621)).
- Remove `callable_bind.h` from `object.h` ([GH-111633](https://github.com/godotengine/godot/pull/111633)).
- Fix missing includes in headers ([GH-111696](https://github.com/godotengine/godot/pull/111696)).
- SCons: Remove transitive includes in `libc++` ([GH-111767](https://github.com/godotengine/godot/pull/111767)).
- Build: Update to Xcode 26.0.1 for Apple builds ([GH-111799](https://github.com/godotengine/godot/pull/111799)).
- SCons: Clean up hardcoded D3D12 driver workarounds ([GH-111800](https://github.com/godotengine/godot/pull/111800)).
- MSVC: Check `catalog_productSemanticVersion` instead of `catalog_productDisplayVersion` ([GH-111918](https://github.com/godotengine/godot/pull/111918)).
- Fix broken screenshot link in Appstream metadata ([GH-112004](https://github.com/godotengine/godot/pull/112004)).
- Add some keywords to desktop entry ([GH-112005](https://github.com/godotengine/godot/pull/112005)).
- Use pkg-config for recast flags ([GH-112030](https://github.com/godotengine/godot/pull/112030)).
- macOS: Update clang version check ([GH-112034](https://github.com/godotengine/godot/pull/112034)).
- Windows: Use separate resource files for export templates ([GH-112116](https://github.com/godotengine/godot/pull/112116)).
- macOS/iOS: Fix build with Xcode older than 26 ([GH-112185](https://github.com/godotengine/godot/pull/112185)).
- Update Android build tools to version 35.0.1 ([GH-112437](https://github.com/godotengine/godot/pull/112437)).
- Add `workflow_dispatch` triggers to platform CI ([GH-112594](https://github.com/godotengine/godot/pull/112594)).
- Fix tracy implementation when no callstack sampling is desired ([GH-112685](https://github.com/godotengine/godot/pull/112685)).
- Fix `GodotProfileZone` with tracy backend failing with shadowed variable name warnings ([GH-112823](https://github.com/godotengine/godot/pull/112823)).
- CI: Remove cache clean action ([GH-112924](https://github.com/godotengine/godot/pull/112924)).
- CI: Build Windows without D3D12 if install fails ([GH-113112](https://github.com/godotengine/godot/pull/113112)).
- SCons: Fix logic when passing `optimize=auto` explicitly from command-line ([GH-113120](https://github.com/godotengine/godot/pull/113120)).
- CODEOWNERS: Add 2D skeleton resources to the Animation team ([GH-113190](https://github.com/godotengine/godot/pull/113190)).
- Include xkb-compose in `wayland_thread.h` ([GH-113195](https://github.com/godotengine/godot/pull/113195)).
- Replace usage of Zstandard advanced API ([GH-113234](https://github.com/godotengine/godot/pull/113234)).
- Web: Bump js-yaml from 4.1.0 to 4.1.1 ([GH-113253](https://github.com/godotengine/godot/pull/113253)).
- Fix Android build regression ([GH-113388](https://github.com/godotengine/godot/pull/113388)).
- CI: Bump SCons version [4.10.0→4.10.1] ([GH-113403](https://github.com/godotengine/godot/pull/113403)).
- CI: Bump Ruff version (0.13.1 → 0.14.7) ([GH-113470](https://github.com/godotengine/godot/pull/113470)).
- Fix `sprite_frames_editor_plugin` compilation with `deprecated=no` ([GH-113527](https://github.com/godotengine/godot/pull/113527)).
- Move Multiplayer icons to the module ([GH-113723](https://github.com/godotengine/godot/pull/113723)).
- Check for unprefixed compilers when building on Windows ([GH-113814](https://github.com/godotengine/godot/pull/113814)).
- Fix build errors and warnings with LLVM-21 ([GH-113857](https://github.com/godotengine/godot/pull/113857)).
- Thirdparty: Make GH PR references URLs ([GH-113926](https://github.com/godotengine/godot/pull/113926)).
- Fix compiling Godot for Linux failing with `profiler_sample_callstack=yes` ([GH-114001](https://github.com/godotengine/godot/pull/114001)).
- CI: Fix executable perms for various files ([GH-114047](https://github.com/godotengine/godot/pull/114047)).
- Add missing `cstdlib` include for `EXIT_SUCCESS` and `free` ([GH-114072](https://github.com/godotengine/godot/pull/114072)).
- gitignore: Ignore GNU `patch` .orig and .rej backup files ([GH-114105](https://github.com/godotengine/godot/pull/114105)).
- Add Mesa version check ([GH-114142](https://github.com/godotengine/godot/pull/114142)).
- RequiredPtr: Fix template conditional for MSVC ([GH-114222](https://github.com/godotengine/godot/pull/114222)).
- Make Godot compile with 3D physics disabled again, again ([GH-114453](https://github.com/godotengine/godot/pull/114453)).
- BasisUniversal: Disable strict aliasing to fix GCC optimization issue ([GH-114839](https://github.com/godotengine/godot/pull/114839)).
- Avoid warning when compiling on visionOS 26 SDK ([GH-114904](https://github.com/godotengine/godot/pull/114904)).
- Windows: Add missing `extern "C"` for `hidsdi.h` on MinGW < 12.0.0 ([GH-115010](https://github.com/godotengine/godot/pull/115010)).
#### C#
- Add documentation for Interfaces and Attributes ([GH-81701](https://github.com/godotengine/godot/pull/81701)).
- Add c# translation parser support ([GH-99195](https://github.com/godotengine/godot/pull/99195)).
- Fix array span constructors in C# ([GH-105950](https://github.com/godotengine/godot/pull/105950)).
- Fix loading correct solution file for projects in subdirectories ([GH-106031](https://github.com/godotengine/godot/pull/106031)).
- Improve performance of `CSharpLanguage::reload_assemblies` ([GH-106299](https://github.com/godotengine/godot/pull/106299)).
- Add `ReadOnlySpan<Variant>` overload for `Callable.Call` ([GH-107800](https://github.com/godotengine/godot/pull/107800)).
- Remove EFS update on reloading assemblies ([GH-108487](https://github.com/godotengine/godot/pull/108487)).
- Fix various errors in bindings generator ([GH-108489](https://github.com/godotengine/godot/pull/108489)).
- Fix enum from/to Variant conversion ([GH-108527](https://github.com/godotengine/godot/pull/108527)).
- Use explicit public access modifier in C# code ([GH-108885](https://github.com/godotengine/godot/pull/108885)).
- Improve `IsNormalized()` in C# ([GH-108974](https://github.com/godotengine/godot/pull/108974)).
- Update GodotTools .NET version from 6.0 to 8.0 ([GH-110799](https://github.com/godotengine/godot/pull/110799)).
- Fix `IsStaticallyResolvable` ([GH-111523](https://github.com/godotengine/godot/pull/111523)).
- Update Godot.SourceGenerators packages ([GH-111524](https://github.com/godotengine/godot/pull/111524)).
- Fix source generation of statically imported members ([GH-111570](https://github.com/godotengine/godot/pull/111570)).
- Fix dotnet class lookup returning modified names instead of engine names ([GH-112023](https://github.com/godotengine/godot/pull/112023)).
- Add compat method for `DisplayServer.TtsSpeak` ([GH-112798](https://github.com/godotengine/godot/pull/112798)).
- Prevent C# source generators from fully qualifying members assigned to within an object initializer ([GH-112874](https://github.com/godotengine/godot/pull/112874)).
- Fix StringExtensions.SplitFloats incorrect float parsing ([GH-112897](https://github.com/godotengine/godot/pull/112897)).
- Ensure .NET editor supports Visual Studio 2026 ([GH-112961](https://github.com/godotengine/godot/pull/112961)).
- Change MSBuildPanel to EditorDock ([GH-113115](https://github.com/godotengine/godot/pull/113115)).
- Fix `FileAccess::create_temp()` not using `FileAccess::ModeFlags` ([GH-114053](https://github.com/godotengine/godot/pull/114053)).
- Hide signals prefixed by underscore ([GH-115199](https://github.com/godotengine/godot/pull/115199)).
#### Codestyle
- Improve usage of `String.split()` vs `get_slice()` ([GH-62083](https://github.com/godotengine/godot/pull/62083)).
- Move server files into their subfolders ([GH-89409](https://github.com/godotengine/godot/pull/89409)).
- Misc script editor code cleanup ([GH-94013](https://github.com/godotengine/godot/pull/94013)).
- Add `Memory::get_aligned_address` to simplify data offset constants ([GH-100145](https://github.com/godotengine/godot/pull/100145)).
- Add `is_instance()` helper method to Node ([GH-100437](https://github.com/godotengine/godot/pull/100437)).
- Delete `VariantGetInternalPtr` and `VariantImplicitConvert`, replace with `VariantInternalAccessor` ([GH-105254](https://github.com/godotengine/godot/pull/105254)).
- Don't hard-code hsplit count ([GH-106849](https://github.com/godotengine/godot/pull/106849)).
- Rename internal fields and variables in `AHashMap`, `HashMap` and `HashSet` ([GH-107045](https://github.com/godotengine/godot/pull/107045)).
- Rename server `free` functions to `free_rid` to match exposed API ([GH-107139](https://github.com/godotengine/godot/pull/107139)).
- Remove implicit conversions between `LocalVector` and `Vector` ([GH-107469](https://github.com/godotengine/godot/pull/107469)).
- Remove dependency of `variant.h` in `print_string.h` ([GH-107721](https://github.com/godotengine/godot/pull/107721)).
- Remove unused methods in `ResourceLoader` ([GH-108076](https://github.com/godotengine/godot/pull/108076)).
- Core: Handle disabled class detection in `ClassDB` ([GH-108121](https://github.com/godotengine/godot/pull/108121)).
- Replace repetitive meta/ctrl condition with a method ([GH-108314](https://github.com/godotengine/godot/pull/108314)).
- Remove empty constructors and destructors from `core/` ([GH-108340](https://github.com/godotengine/godot/pull/108340)).
- Remove unnecessary cpp files after cleanup ([GH-108516](https://github.com/godotengine/godot/pull/108516)).
- Reduce code duplication in material conversion ([GH-108672](https://github.com/godotengine/godot/pull/108672)).
- Copyright: Fix spelling of license ([GH-109339](https://github.com/godotengine/godot/pull/109339)).
- Refactor `_edit_current()` script check ([GH-109649](https://github.com/godotengine/godot/pull/109649)).
- Core: Integrate semantic constants in math structs ([GH-109744](https://github.com/godotengine/godot/pull/109744)).
- Fix inconsistent internal name of `get_resource_filesystem` ([GH-110156](https://github.com/godotengine/godot/pull/110156)).
- Misc cleanup in EditorExportPlatform ([GH-110248](https://github.com/godotengine/godot/pull/110248)).
- Remove overrun code duplication ([GH-110819](https://github.com/godotengine/godot/pull/110819)).
- Skip copying values constructed immediately before returning ([GH-110952](https://github.com/godotengine/godot/pull/110952)).
- Use const ref parameters in the Web modules ([GH-110977](https://github.com/godotengine/godot/pull/110977)).
- Remove unused `import_path` member from `Node` ([GH-111043](https://github.com/godotengine/godot/pull/111043)).
- Change `Memory` from a class into a namespace ([GH-111066](https://github.com/godotengine/godot/pull/111066)).
- Group together 2D camera override functions ([GH-111106](https://github.com/godotengine/godot/pull/111106)).
- Refactor `Array` iterators to be trivially copyable ([GH-111158](https://github.com/godotengine/godot/pull/111158)).
- Store `ThemeOwner` owner directly as `Node*` ([GH-111249](https://github.com/godotengine/godot/pull/111249)).
- Remove `timer.h` include from `control.h` ([GH-111270](https://github.com/godotengine/godot/pull/111270)).
- Remove `file_access.h` and `script_backtrace.h` includes from `logger.h` ([GH-111274](https://github.com/godotengine/godot/pull/111274)).
- Core: Clean up headers in `core/config`, forward-declare `MainLoop` in `OS` ([GH-111297](https://github.com/godotengine/godot/pull/111297)).
- Remove `VariantHasher` and `VariantComparator` in favor of specializing `HashMapHasherDefault` and `HashMapComparatorDefault` ([GH-111358](https://github.com/godotengine/godot/pull/111358)).
- Clean up `hashfuncs.h` ([GH-111361](https://github.com/godotengine/godot/pull/111361)).
- Fix wrong EditorSettings usage in 3D editor ([GH-111589](https://github.com/godotengine/godot/pull/111589)).
- Improvements to ProjectManager's `_update_theme()` ([GH-111649](https://github.com/godotengine/godot/pull/111649)).
- Use American spelling of "favorite" in Project Manager code for consistency ([GH-112787](https://github.com/godotengine/godot/pull/112787)).
- Remove unused private variables in `godot/scene` ([GH-113709](https://github.com/godotengine/godot/pull/113709)).
- Remove unused private variables in `expression.h` ([GH-113730](https://github.com/godotengine/godot/pull/113730)).
- Apply codespell to CHANGELOG.md ([GH-114051](https://github.com/godotengine/godot/pull/114051)).
- Fix wording in TileSet collision polygon error message ([GH-114385](https://github.com/godotengine/godot/pull/114385)).
#### Core
- Add `DUPLICATE_INTERNAL_STATE` flag ([GH-57121](https://github.com/godotengine/godot/pull/57121)).
- Fix resource shared when duplicating an instanced scene ([GH-64487](https://github.com/godotengine/godot/pull/64487)).
- Supplement the case of scene instantiation for "Editable Children" ([GH-81530](https://github.com/godotengine/godot/pull/81530)).
- Initialize `Quaternion` variant with identity ([GH-84658](https://github.com/godotengine/godot/pull/84658)).
- Add `change_scene_to_node()` ([GH-85762](https://github.com/godotengine/godot/pull/85762)).
- Change how ImageTexture's image is defined ([GH-89983](https://github.com/godotengine/godot/pull/89983)).
- Clean up `String::find` and similar functions to remove duplicate code, and speed up comparison ([GH-101247](https://github.com/godotengine/godot/pull/101247)).
- Add `Image.load_exr_from_buffer` ([GH-101255](https://github.com/godotengine/godot/pull/101255)).
- Round AtlasTexture size ([GH-101342](https://github.com/godotengine/godot/pull/101342)).
- Remove `load_steps` from `resource_format_text.cpp` ([GH-103352](https://github.com/godotengine/godot/pull/103352)).
- Optimize `vformat` by using `Span` in `sprintf` ([GH-103917](https://github.com/godotengine/godot/pull/103917)).
- Add `Span` equality (`==` and `!=`) operators ([GH-104280](https://github.com/godotengine/godot/pull/104280)).
- Add 'Find Sequence' to `Span`s, and consolidate negative indexing behavior ([GH-104332](https://github.com/godotengine/godot/pull/104332)).
- Fix non-tool script check when emitting signals ([GH-104340](https://github.com/godotengine/godot/pull/104340)).
- Expose missing `String` encoding conversion functions ([GH-104781](https://github.com/godotengine/godot/pull/104781)).
- Add `recording_signals` to MissingNode, and rename `MTVIRTUAL` to `DEBUG_VIRTUAL` ([GH-105449](https://github.com/godotengine/godot/pull/105449)).
- Make `MissingNode`/`MissingResource` non-virtual and hide from dialogs ([GH-105450](https://github.com/godotengine/godot/pull/105450)).
- Add initial architecture for first-class `Object` types. Optimize `is_class` ([GH-105793](https://github.com/godotengine/godot/pull/105793)).
- Add `reserve` function to `Array`, `Vector`, and `String` ([GH-105928](https://github.com/godotengine/godot/pull/105928)).
- Add `reserve_exact` to `CowData`, and change growth factor to 1.5x ([GH-106039](https://github.com/godotengine/godot/pull/106039)).
- Fix `Dictionary::operator[]` from C++ accidentally modifying `const` dictionaries ([GH-106636](https://github.com/godotengine/godot/pull/106636)).
- Add unique Node IDs to support base and instantiated scene refactorings ([GH-106837](https://github.com/godotengine/godot/pull/106837)).
- Fix `FixedVector` move and copy semantics ([GH-106997](https://github.com/godotengine/godot/pull/106997)).
- Add `Node::iterate_children` as a fast way to iterate a node's children ([GH-107369](https://github.com/godotengine/godot/pull/107369)).
- Use `LocalVector` for `Node3D` and `CanvasItem` children ([GH-107481](https://github.com/godotengine/godot/pull/107481)).
- Provide quick access to `Object` ancestry ([GH-107868](https://github.com/godotengine/godot/pull/107868)).
- Improve error message when UID main scene is not found ([GH-108075](https://github.com/godotengine/godot/pull/108075)).
- Simplify `varray` ([GH-108118](https://github.com/godotengine/godot/pull/108118)).
- Avoid unnecessary copy in `ClassDB::get_property_list` ([GH-108504](https://github.com/godotengine/godot/pull/108504)).
- Optimize scene tree groups ([GH-108507](https://github.com/godotengine/godot/pull/108507)).
- Simplify `ScriptServer::get_global_class_list` ([GH-108577](https://github.com/godotengine/godot/pull/108577)).
- Optimize and clean up `HashSet::clear` ([GH-108698](https://github.com/godotengine/godot/pull/108698)).
- Add project setting and build option to disable `override.cfg` and related CLI arguments ([GH-108818](https://github.com/godotengine/godot/pull/108818)).
- Use `num_scientific` (Grisu2) when stringifying JSON with full precision ([GH-108836](https://github.com/godotengine/godot/pull/108836)).
- Do not zero elements and perform fast clear in `HashMap` ([GH-108932](https://github.com/godotengine/godot/pull/108932)).
- Ensure all MovieWriter frames have the same resolution as the first frame ([GH-108954](https://github.com/godotengine/godot/pull/108954)).
- Make getting a path from UID cache slightly faster ([GH-108981](https://github.com/godotengine/godot/pull/108981)).
- Round gradient colors ([GH-109012](https://github.com/godotengine/godot/pull/109012)).
- Add `has_extension()` method to String ([GH-109433](https://github.com/godotengine/godot/pull/109433)).
- Fix `FileAccess::create_temp()` default args error ([GH-109843](https://github.com/godotengine/godot/pull/109843)).
- Geometry2D minor optimization ([GH-109897](https://github.com/godotengine/godot/pull/109897)).
- Make `Node::orphan_node_count` thread-safe ([GH-109900](https://github.com/godotengine/godot/pull/109900)).
- Perform per-line or per-rect blits in `blit_rect` ([GH-110058](https://github.com/godotengine/godot/pull/110058)).
- Optimize data flushing for `FileAccessCompressed` and `FileAccessEncrypted` ([GH-110169](https://github.com/godotengine/godot/pull/110169)).
- Remove unused parameter in `__constant_get_enum_name`/`__constant_get_bitfield_name` ([GH-110206](https://github.com/godotengine/godot/pull/110206)).
- Image: Support generating mipmaps for all uncompressed formats ([GH-110257](https://github.com/godotengine/godot/pull/110257)).
- Image: Optimize manual format conversion ([GH-110271](https://github.com/godotengine/godot/pull/110271)).
- Fix duplicate minus in print output ([GH-110354](https://github.com/godotengine/godot/pull/110354)).
- Prevent JNI Variant conversion stack overflow ([GH-110452](https://github.com/godotengine/godot/pull/110452)).
- Add reverse UID cache ([GH-110464](https://github.com/godotengine/godot/pull/110464)).
- Optimize NodePath to String by using cached path ([GH-110478](https://github.com/godotengine/godot/pull/110478)).
- Avoid repeated `_copy_on_write()` calls in `Array::resize()` ([GH-110535](https://github.com/godotengine/godot/pull/110535)).
- Check for `NUL` characters in string parsing functions ([GH-110556](https://github.com/godotengine/godot/pull/110556)).
- Improve `Node::get_children` performance ([GH-110571](https://github.com/godotengine/godot/pull/110571)).
- Apply `rtos_fix` hack for handling 32-bit floats on all calls to `rtos_fix` ([GH-110616](https://github.com/godotengine/godot/pull/110616)).
- X11 input: prevent non-printable keys from producing empty strings ([GH-110635](https://github.com/godotengine/godot/pull/110635)).
- Optimize children cache updates and refine special-case handling ([GH-110650](https://github.com/godotengine/godot/pull/110650)).
- Add `GDSOFTCLASS` to `NetSocket` ([GH-110694](https://github.com/godotengine/godot/pull/110694)).
- Add ability to get list of Project Settings changed, similar to Editor Settings functionality ([GH-110748](https://github.com/godotengine/godot/pull/110748)).
- Add `GDSOFTCLASS` to six inheritors of `Object` ([GH-110752](https://github.com/godotengine/godot/pull/110752)).
- Use `AncestralClass` to speed up `Object::cast_to` when possible ([GH-110763](https://github.com/godotengine/godot/pull/110763)).
- Change "reserve called with a capacity smaller than the current size" error message to a verbose message ([GH-110826](https://github.com/godotengine/godot/pull/110826)).
- Add `GDSOFTCLASS` to deeper inheritors of `Object` ([GH-110837](https://github.com/godotengine/godot/pull/110837)).
- Add comments to `String::size` to lead people to `length()` and explain the difference ([GH-110932](https://github.com/godotengine/godot/pull/110932)).
- Remove unused `multiplayer` member from `Node` ([GH-111067](https://github.com/godotengine/godot/pull/111067)).
- Make `CowData::reserve` warn message when new capacity < size verbose, like other `reserve` methods ([GH-111084](https://github.com/godotengine/godot/pull/111084)).
- Optimize initial `Node::get_path` call by avoiding `Vector::reverse` ([GH-111126](https://github.com/godotengine/godot/pull/111126)).
- Speed up `Node::is_greater_than` by avoiding `alloca` ([GH-111163](https://github.com/godotengine/godot/pull/111163)).
- Remove `hash_map.h` include from `a_hash_map.h`, and remove cross conversion operators ([GH-111221](https://github.com/godotengine/godot/pull/111221)).
- Remove unused members from `Viewport` ([GH-111304](https://github.com/godotengine/godot/pull/111304)).
- Improve type registration order in `register_core_types.cpp` ([GH-111318](https://github.com/godotengine/godot/pull/111318)).
- Remove `Object::script` ([GH-111323](https://github.com/godotengine/godot/pull/111323)).
- Simplify `gdvirtual.gen.inc` `_get_method_info` arguments with a helper function ([GH-111327](https://github.com/godotengine/godot/pull/111327)).
- Abstract `Object` virtual pointer init into a method instead of duplicating it across `gdvirtual.gen.inc` ([GH-111337](https://github.com/godotengine/godot/pull/111337)).
- Bitpack more `Object` booleans ([GH-111339](https://github.com/godotengine/godot/pull/111339)).
- Assert that `dictionary.h` does not include `String`, and that neither of the fundamental containers include `Object` ([GH-111342](https://github.com/godotengine/godot/pull/111342)).
- Register core singleton types before instantiating them ([GH-111383](https://github.com/godotengine/godot/pull/111383)).
- Fix `load_threaded_get` returning `null` when used with `CACHE_MODE_IGNORE` ([GH-111387](https://github.com/godotengine/godot/pull/111387)).
- Reorder registration of types, to register supertypes before subtypes ([GH-111431](https://github.com/godotengine/godot/pull/111431)).
- Handle NaN and Infinity in JSON stringify function ([GH-111498](https://github.com/godotengine/godot/pull/111498)).
- Fix missing includes in `type_info.h` ([GH-111561](https://github.com/godotengine/godot/pull/111561)).
- Add missing initialization for bitpacked object members ([GH-111617](https://github.com/godotengine/godot/pull/111617)).
- Consolidate typed container logic with `type_info.h` ([GH-111661](https://github.com/godotengine/godot/pull/111661)).
- Fix false positive warning with `FixedVector` array bounds in gcc ([GH-111761](https://github.com/godotengine/godot/pull/111761)).
- Sidestep GCC false-positive ([GH-111771](https://github.com/godotengine/godot/pull/111771)).
- Fix buffer over-read in `FileAccessMemory::get_buffer` ([GH-111772](https://github.com/godotengine/godot/pull/111772)).
- Improve determinism of UIDs ([GH-111858](https://github.com/godotengine/godot/pull/111858)).
- Disable some unsafe CLI arguments in template builds by default ([GH-111909](https://github.com/godotengine/godot/pull/111909)).
- Fix `memnew_placement` with `char *` arguments ([GH-112033](https://github.com/godotengine/godot/pull/112033)).
- Fix duplicating node references of custom node type properties ([GH-112076](https://github.com/godotengine/godot/pull/112076)).
- Main: Fix typo in `--gpu-profile` CLI argument ([GH-112113](https://github.com/godotengine/godot/pull/112113)).
- ClassDB: Use `AHashMap` for `property_setget` and `constant/signal_map` ([GH-112129](https://github.com/godotengine/godot/pull/112129)).
- Explain `Dictionary.set()` return value in docs ([GH-112261](https://github.com/godotengine/godot/pull/112261)).
- Avoid extra copy in `Vector`/`CowData` `push_back`/`insert` ([GH-112630](https://github.com/godotengine/godot/pull/112630)).
- Add a const version of `List::find` ([GH-112660](https://github.com/godotengine/godot/pull/112660)).
- Add memory profiling macros for tracy profiler option ([GH-112702](https://github.com/godotengine/godot/pull/112702)).
- Fix scene argument parsing ([GH-112716](https://github.com/godotengine/godot/pull/112716)).
- Add some comments in the `profiling.h` header ([GH-112725](https://github.com/godotengine/godot/pull/112725)).
- Add `permissions/manage_media` to Android export options ([GH-112819](https://github.com/godotengine/godot/pull/112819)).
- Add error message when trying to load project from CWD ([GH-112844](https://github.com/godotengine/godot/pull/112844)).
- Include key in `Dictionary::operator[]` error message ([GH-112853](https://github.com/godotengine/godot/pull/112853)).
- Fix bug where optional argument is not validated before use ([GH-112969](https://github.com/godotengine/godot/pull/112969)).
- Correctly mark frame start for profilers (Tracy/Perfetto) on Linux ([GH-113023](https://github.com/godotengine/godot/pull/113023)).
- Fix `String::rfindn` for strings with only one character ([GH-113044](https://github.com/godotengine/godot/pull/113044)).
- Only call `GodotProfileAlloc` when the allocation actually happened ([GH-113061](https://github.com/godotengine/godot/pull/113061)).
- Fix a thread warning ([GH-113064](https://github.com/godotengine/godot/pull/113064)).
- Allow `override.cfg` to add autoloads to the front of the list ([GH-113078](https://github.com/godotengine/godot/pull/113078)).
- Ensure paths in autoload info ([GH-113088](https://github.com/godotengine/godot/pull/113088)).
- ResourceLoader: Fix potential infinite recursion in progress reporting ([GH-113114](https://github.com/godotengine/godot/pull/113114)).
- Skip ResourceLoader's progress query if not requested ([GH-113117](https://github.com/godotengine/godot/pull/113117)).
- Reuse/optimize common `OperatorEvaluator*::evaluate` logic ([GH-113132](https://github.com/godotengine/godot/pull/113132)).
- Fix memory alignment on 32-bit Windows ([GH-113145](https://github.com/godotengine/godot/pull/113145)).
- Add back I/O error-handling to `FileAccessPack` constructor ([GH-113150](https://github.com/godotengine/godot/pull/113150)).
- Do not attempt deleting local cache in `Resource::_teardown_duplicate_from_variant` ([GH-113179](https://github.com/godotengine/godot/pull/113179)).
- Make `Variant::get_type_by_name` `HashMap` initialization thread-safe ([GH-113211](https://github.com/godotengine/godot/pull/113211)).
- Mention the called function name in thread group error messages ([GH-113218](https://github.com/godotengine/godot/pull/113218)).
- Fix loading old-style translation files ([GH-113322](https://github.com/godotengine/godot/pull/113322)).
- Add Apple Instruments support ([GH-113342](https://github.com/godotengine/godot/pull/113342)).
- Android: Add method to take persistable URI permission ([GH-113367](https://github.com/godotengine/godot/pull/113367)).
- Optimize NodePath ([GH-113447](https://github.com/godotengine/godot/pull/113447)).
- Fix crash in `command_queue_mt` due to destruction of wrong object ([GH-113525](https://github.com/godotengine/godot/pull/113525)).
- Make `!configured` checks in `profiling.cpp` soft checks instead of crashing ([GH-113526](https://github.com/godotengine/godot/pull/113526)).
- Unix: Remove leading `..` from absolute paths and apply `simplify_path` to Unix current directory path ([GH-113575](https://github.com/godotengine/godot/pull/113575)).
- Add support for profiling system calls from GDScript with the tracy integration ([GH-113632](https://github.com/godotengine/godot/pull/113632)).
- CommandQueueMT: Make re-entrant again + Fix multiple flushers case ([GH-113802](https://github.com/godotengine/godot/pull/113802)).
- Make memory profiling optional ([GH-113807](https://github.com/godotengine/godot/pull/113807)).
- Fix building with Perfetto profiler ([GH-113812](https://github.com/godotengine/godot/pull/113812)).
- macOS: Remove duplicate profiler init call ([GH-113813](https://github.com/godotengine/godot/pull/113813)).
- Vector4: Fix loss of precision with division ([GH-113848](https://github.com/godotengine/godot/pull/113848)).
- Remove underscore from parameter name in `FileAccess::set_extended_attribute_string` ([GH-113934](https://github.com/godotengine/godot/pull/113934)).
- Fix potential DAP crash at startup ([GH-114196](https://github.com/godotengine/godot/pull/114196)).
- Add inline documentation to `Vector::reserve` and `Vector::reserve_exact` ([GH-114563](https://github.com/godotengine/godot/pull/114563)).
- Fix description for `resize_uninitialized` ([GH-114688](https://github.com/godotengine/godot/pull/114688)).
- Auto-release static GDTypes at exit ([GH-114790](https://github.com/godotengine/godot/pull/114790)).
- Restore period in loaded node paths ([GH-115231](https://github.com/godotengine/godot/pull/115231)).
#### Documentation
- Document RIDs that will be freed automatically when freeing their deps ([GH-103113](https://github.com/godotengine/godot/pull/103113)).
- Fix ItemList docs for the focus Stylebox's draw order ([GH-103672](https://github.com/godotengine/godot/pull/103672)).
- Update color encoding documentation ([GH-104666](https://github.com/godotengine/godot/pull/104666)).
- Update EditorImportPlugin docs and clarify which methods are required ([GH-104740](https://github.com/godotengine/godot/pull/104740)).
- Add notes about `InputEventKey` property usage ([GH-105366](https://github.com/godotengine/godot/pull/105366)).
- Fix `typeof` example in @GlobalScope docs ([GH-106768](https://github.com/godotengine/godot/pull/106768)).
- Document typed dictionaries and arrays in the class reference ([GH-107071](https://github.com/godotengine/godot/pull/107071)).
- Improve Texture*RD, RenderData and LightmapperRD class documentation ([GH-107326](https://github.com/godotengine/godot/pull/107326)).
- Fix miscellaneous oddities around the class reference (part 6) ([GH-107536](https://github.com/godotengine/godot/pull/107536)).
- Web: Add notice about issues with setting custom cursor shape every frame ([GH-107586](https://github.com/godotengine/godot/pull/107586)).
- Add missing required qualifier for various classes ([GH-107989](https://github.com/godotengine/godot/pull/107989)).
- Docs: Fix typo in `Object.get_signal_list` ([GH-108417](https://github.com/godotengine/godot/pull/108417)).
- Add documentation about logging from `Logger` not being supported ([GH-109174](https://github.com/godotengine/godot/pull/109174)).
- Clarify truncation behavior in file open modes ([GH-109632](https://github.com/godotengine/godot/pull/109632)).
- OpenXRExtensionWrapper: Document how to safely work when rendering with "Separate" thread model ([GH-109753](https://github.com/godotengine/godot/pull/109753)).
- Fix typos and link tutorial in WebRTCPeerConnection docs ([GH-109907](https://github.com/godotengine/godot/pull/109907)).
- Clarify that velocity doesn't need delta multiplication in CharacterBody documentation ([GH-109925](https://github.com/godotengine/godot/pull/109925)).
- Image: Improve `AlphaMode` documentation ([GH-110213](https://github.com/godotengine/godot/pull/110213)).
- Document `PhysicsServer3D` shapes ([GH-110223](https://github.com/godotengine/godot/pull/110223)).
- Fix minor grammar error in CollisionPolygon2D, CollisionPolygon3D, CollisionShape2D, and CollisionShape3D docs ([GH-110370](https://github.com/godotengine/godot/pull/110370)).
- Document the interaction between Light3D cull mask and GI/volumetric fog ([GH-110423](https://github.com/godotengine/godot/pull/110423)).
- Fix `Basis.determinant()` doc: uniform scale determinant is `scale^3` ([GH-110424](https://github.com/godotengine/godot/pull/110424)).
- Improve docs for pitch and volume variation in AudioStreamRandomizer ([GH-110435](https://github.com/godotengine/godot/pull/110435)).
- Fix documentation for `embed_subwindows` project setting ([GH-110448](https://github.com/godotengine/godot/pull/110448)).
- Fix typo in control node `_make_custom_tooltip` description ([GH-110504](https://github.com/godotengine/godot/pull/110504)).
- Document Label performance caveats with huge amounts of text ([GH-110533](https://github.com/godotengine/godot/pull/110533)).
- Add `accordion` and `details` search keywords to FoldableContainer ([GH-110572](https://github.com/godotengine/godot/pull/110572)).
- Document `TileMapLayer.get_coords_for_body_rid()` precision depending on quadrant size ([GH-110575](https://github.com/godotengine/godot/pull/110575)).
- Rephrase `Logger` documentation to be more explicit about thread-safety ([GH-110614](https://github.com/godotengine/godot/pull/110614)).
- Document CanvasItem visibility layers not being inherited from parent nodes ([GH-110705](https://github.com/godotengine/godot/pull/110705)).
- Fix and improve `Node2D.move_local_{x,y}()` description ([GH-110878](https://github.com/godotengine/godot/pull/110878)).
- Fix `/tutorial` added twice in offline docs ([GH-110881](https://github.com/godotengine/godot/pull/110881)).
- Document `compress()` not being supported in exported builds in Image ([GH-111004](https://github.com/godotengine/godot/pull/111004)).
- Fix description about CharacterBody velocity and delta ([GH-111102](https://github.com/godotengine/godot/pull/111102)).
- Drop the experimental label for the Jolt Physics integration ([GH-111115](https://github.com/godotengine/godot/pull/111115)).
- Fix typo "blocker" to "block" in AESContext ([GH-111133](https://github.com/godotengine/godot/pull/111133)).
- Document link between `Node2D.look_at()` and `Node2D.get_angle_to()` ([GH-111139](https://github.com/godotengine/godot/pull/111139)).
- Fix incorrect docs example in `Dictionary.set` description ([GH-111216](https://github.com/godotengine/godot/pull/111216)).
- Add "Ragdoll System" Tutorial to `PhysicalBone3D` ([GH-111267](https://github.com/godotengine/godot/pull/111267)).
- Update tutorial link for calling Javascript from script ([GH-111310](https://github.com/godotengine/godot/pull/111310)).
- Improve documentation for the `Environment` glow effect ([GH-111332](https://github.com/godotengine/godot/pull/111332)).
- Document relationship between refresh rate and V-Sync in DisplayServer ([GH-111334](https://github.com/godotengine/godot/pull/111334)).
- Replace deprecated `Color8` ([GH-111426](https://github.com/godotengine/godot/pull/111426)).
- Add note for some usages of Plane in APIs ([GH-111459](https://github.com/godotengine/godot/pull/111459)).
- Fix `text_editor/script_list/show_members_overview` editor setting docs/tooltip ([GH-111556](https://github.com/godotengine/godot/pull/111556)).
- Fix description of `Viewport::set_input_as_handled` ([GH-111591](https://github.com/godotengine/godot/pull/111591)).
- Fix typo in mutex documentation ([GH-111672](https://github.com/godotengine/godot/pull/111672)).
- Update documentation for `Engine.physics_ticks_per_second` and its project setting ([GH-111774](https://github.com/godotengine/godot/pull/111774)).
- Update note for `rendering/rendering_device/vsync/swapchain_image_count` ([GH-111782](https://github.com/godotengine/godot/pull/111782)).
- Improve Window content scale documentation ([GH-111804](https://github.com/godotengine/godot/pull/111804)).
- Correct Array `remove_at()` class reference ([GH-111817](https://github.com/godotengine/godot/pull/111817)).
- Add multilevel notes to methods ([GH-111830](https://github.com/godotengine/godot/pull/111830)).
- TileSetAtlasSource: Fix and/an docstring typo ([GH-111852](https://github.com/godotengine/godot/pull/111852)).
- Fix `NOTIFICATION_OS_IME_UPDATE` docs on platform availability ([GH-111863](https://github.com/godotengine/godot/pull/111863)).
- Document color format caveats in `Image.set_pixel()` ([GH-111896](https://github.com/godotengine/godot/pull/111896)).
- Document TextMesh performance caveats ([GH-111962](https://github.com/godotengine/godot/pull/111962)).
- Document popups being invisible by default ([GH-111963](https://github.com/godotengine/godot/pull/111963)).
- Fix copyright documentation oversights ([GH-112006](https://github.com/godotengine/godot/pull/112006)).
- Fix typo in ResourceImporterImageFont docs ([GH-112063](https://github.com/godotengine/godot/pull/112063)).
- Improve `PROPERTY_USAGE_ARRAY` description ([GH-112066](https://github.com/godotengine/godot/pull/112066)).
- Add search keywords for project settings ([GH-112107](https://github.com/godotengine/godot/pull/112107)).
- Improve HeightMapShape3D documentation ([GH-112120](https://github.com/godotengine/godot/pull/112120)).
- Improve documentation for Vector2's angle-related methods ([GH-112140](https://github.com/godotengine/godot/pull/112140)).
- Document `CharacterBody.get_last_slide_collision()` returning `null` with no collision ([GH-112180](https://github.com/godotengine/godot/pull/112180)).
- Fix `StringName` not documented for enum hint ([GH-112318](https://github.com/godotengine/godot/pull/112318)).
- Mention that SSAO is supported in the Compatibility renderer ([GH-112451](https://github.com/godotengine/godot/pull/112451)).
- Fix `OS.get_cmdline_args` documentation ([GH-112466](https://github.com/godotengine/godot/pull/112466)).
- Fix GDScript code sample for `@GlobalScope.instance_from_id()` ([GH-112486](https://github.com/godotengine/godot/pull/112486)).
- Document `Object.connect()` not supporting persistent connections with lambda functions ([GH-112487](https://github.com/godotengine/godot/pull/112487)).
- Clarify notification call order ([GH-112642](https://github.com/godotengine/godot/pull/112642)).
- Tweak CanvasGroup description to be more explicit about its purpose ([GH-112693](https://github.com/godotengine/godot/pull/112693)).
- Fix typo in `Array` docs ([GH-112708](https://github.com/godotengine/godot/pull/112708)).
- Fix typo in `MouseBehaviorRecursive` enum description in Control class ([GH-112714](https://github.com/godotengine/godot/pull/112714)).
- Clarify that `Node.duplicate()` duplicates entire subtree recursively ([GH-112907](https://github.com/godotengine/godot/pull/112907)).
- Fix incorrect equivalent method reference in screen-space transform methods doc ([GH-112952](https://github.com/godotengine/godot/pull/112952)).
- Fix `display/window/size/initial_position_type` project setting description ([GH-112962](https://github.com/godotengine/godot/pull/112962)).
- Fix SkeletonProfileHumanoid bone count documentation ([GH-112986](https://github.com/godotengine/godot/pull/112986)).
- Update docs to describe new `use_hdr_2d` behavior with Mobile renderer ([GH-112990](https://github.com/godotengine/godot/pull/112990)).
- Fix documentation typos and broken links ([GH-113073](https://github.com/godotengine/godot/pull/113073)).
- Clarify the purpose of MeshInstance2D and MultiMeshInstance2D ([GH-113122](https://github.com/godotengine/godot/pull/113122)).
- Add better clarification for accelerator support on Popup Menu ([GH-113197](https://github.com/godotengine/godot/pull/113197)).
- Fix miscellaneous oddities around the class reference (part 7) ([GH-113261](https://github.com/godotengine/godot/pull/113261)).
- Docs: Fix ParticleProcessMaterial code snippet in `alpha_curve` description ([GH-113268](https://github.com/godotengine/godot/pull/113268)).
- Doc: Add missing `func` keyword to `EditorDock._update_layout` example ([GH-113381](https://github.com/godotengine/godot/pull/113381)).
- Fix typos in VectorNi docs (float division examples) ([GH-113782](https://github.com/godotengine/godot/pull/113782)).
- Update documentation for `DisplayServer::FEATURE_ICON` ([GH-113875](https://github.com/godotengine/godot/pull/113875)).
- Update EditorDock shortcut documentation ([GH-113888](https://github.com/godotengine/godot/pull/113888)).
- Rename hinting mode 'Full' to 'Normal' to keep consistency ([GH-113927](https://github.com/godotengine/godot/pull/113927)).
- Add "Threaded Loading Demo" link to `ResourceLoader` tutorials ([GH-114087](https://github.com/godotengine/godot/pull/114087)).
- Document suffix hint in `PROPERTY_HINT_RANGE` ([GH-114116](https://github.com/godotengine/godot/pull/114116)).
- Fix outdated comment in `CanvasItem.draw_string()` code sample ([GH-114225](https://github.com/godotengine/godot/pull/114225)).
- Add Link to the Owner Tutorial ([GH-114243](https://github.com/godotengine/godot/pull/114243)).
- Document `RegEx.create_from_string()` in RegEx class description ([GH-114253](https://github.com/godotengine/godot/pull/114253)).
- Add missing method reference in `ShaderMaterial.set_shader_parameter` documentation ([GH-114262](https://github.com/godotengine/godot/pull/114262)).
- Document runtime alternative to Default Theme Scale project setting ([GH-114291](https://github.com/godotengine/godot/pull/114291)).
- Clarify using local variables with drawing methods ([GH-114551](https://github.com/godotengine/godot/pull/114551)).
- Clarify `align()` behavior regarding `force_update_scroll()` ([GH-114638](https://github.com/godotengine/godot/pull/114638)).
- Fix `EditorDock` documentation code example ([GH-114706](https://github.com/godotengine/godot/pull/114706)).
- Specify units for angles in the LookAtModifier3D documentation ([GH-114774](https://github.com/godotengine/godot/pull/114774)).
- README: Minor tweaks and remove broken badge ([GH-114960](https://github.com/godotengine/godot/pull/114960)).
- Remove link for consoles in EditorExportPlatform ([GH-114979](https://github.com/godotengine/godot/pull/114979)).
#### Editor
- Show a warning toast when saving a large text-based scene ([GH-53679](https://github.com/godotengine/godot/pull/53679)).
- Add a border to tooltips when using the Draw Extra Borders editor setting ([GH-76267](https://github.com/godotengine/godot/pull/76267)).
- Add Ctrl + A and Ctrl + Shift + A to (de)select all projects in project manager ([GH-77292](https://github.com/godotengine/godot/pull/77292)).
- Rework icons of noise-related classes ([GH-80427](https://github.com/godotengine/godot/pull/80427)).
- Add icons to some editor classes ([GH-82121](https://github.com/godotengine/godot/pull/82121)).
- Allow editing editor settings from project manager ([GH-82212](https://github.com/godotengine/godot/pull/82212)).
- Move script name to top ([GH-86468](https://github.com/godotengine/godot/pull/86468)).
- Allow rearranging translation list via drag and drop ([GH-89367](https://github.com/godotengine/godot/pull/89367)).
- Refactor SceneTreeDock context menu separators ([GH-92390](https://github.com/godotengine/godot/pull/92390)).
- Store script states for built-in scripts ([GH-93713](https://github.com/godotengine/godot/pull/93713)).
- Add `EditorResourcePreviewGenerator::request_draw_and_wait` ([GH-96897](https://github.com/godotengine/godot/pull/96897)).
- Add an ObjectDB Profiling Tool ([GH-97210](https://github.com/godotengine/godot/pull/97210)).
- Fix various editor easing property issues ([GH-97753](https://github.com/godotengine/godot/pull/97753)).
- Fix scripts panel state not being saved when toggle button is used ([GH-98936](https://github.com/godotengine/godot/pull/98936)).
- Fix ProjectManager import dialog error ([GH-100197](https://github.com/godotengine/godot/pull/100197)).
- Remove prompt to restart editor after changing custom theme ([GH-100876](https://github.com/godotengine/godot/pull/100876)).
- Show file when FileSystem is searched with UID ([GH-102789](https://github.com/godotengine/godot/pull/102789)).
- Condense Inspector layout for Arrays ([GH-103257](https://github.com/godotengine/godot/pull/103257)).
- Add switch on hover to TabBar ([GH-103478](https://github.com/godotengine/godot/pull/103478)).
- Fix `Color` precision error in the documentation generated on M4 macOS ([GH-104112](https://github.com/godotengine/godot/pull/104112)).
- Support keeping results in results of `Find in Files` and `Replace in Files` ([GH-104676](https://github.com/godotengine/godot/pull/104676)).
- Fix pressed keys reset when hiding a window on Windows ([GH-104802](https://github.com/godotengine/godot/pull/104802)).
- Fix inspector spacing issues ([GH-105773](https://github.com/godotengine/godot/pull/105773)).
- Optimize the `callback` argument of `popup_create_dialog()` ([GH-106071](https://github.com/godotengine/godot/pull/106071)).
- Fix editing resources in the inspector when inside an array or dictionary ([GH-106099](https://github.com/godotengine/godot/pull/106099)).
- Refactor editor `EditorBottomPanel` to be a `TabContainer` ([GH-106164](https://github.com/godotengine/godot/pull/106164)).
- Add drag and drop export variables ([GH-106341](https://github.com/godotengine/godot/pull/106341)).
- Rework editor docks ([GH-106503](https://github.com/godotengine/godot/pull/106503)).
- Add "Distraction Free Mode" button to `EditorBottomPanel` when bottom panel is expanded ([GH-106780](https://github.com/godotengine/godot/pull/106780)).
- Allow Quick Open dialog to preview change in scene ([GH-106947](https://github.com/godotengine/godot/pull/106947)).
- Fix the extra arguments of type `NodePath` in the connection dialog do not work ([GH-107013](https://github.com/godotengine/godot/pull/107013)).
- Allow closing all scene tabs via shortcut ([GH-107065](https://github.com/godotengine/godot/pu
Showing preview only (700K chars total). Download the full file or copy to clipboard to get everything.
gitextract_i1_cbks8/ ├── .clang-format ├── .clang-tidy ├── .clangd ├── .editorconfig ├── .git-blame-ignore-revs ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── config.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── actions/ │ │ ├── clangd-tidy/ │ │ │ └── action.yml │ │ ├── download-artifact/ │ │ │ └── action.yml │ │ ├── godot-build/ │ │ │ └── action.yml │ │ ├── godot-cache-restore/ │ │ │ └── action.yml │ │ ├── godot-cache-save/ │ │ │ └── action.yml │ │ ├── godot-compat-test/ │ │ │ └── action.yml │ │ ├── godot-converter-test/ │ │ │ └── action.yml │ │ ├── godot-cpp-build/ │ │ │ └── action.yml │ │ ├── godot-deps/ │ │ │ └── action.yml │ │ ├── godot-project-export/ │ │ │ └── action.yml │ │ ├── godot-project-test/ │ │ │ └── action.yml │ │ └── upload-artifact/ │ │ └── action.yml │ ├── changed_files.yml │ └── workflows/ │ ├── android_builds.yml │ ├── ios_builds.yml │ ├── linux_builds.yml │ ├── macos_builds.yml │ ├── runner.yml │ ├── static_checks.yml │ ├── web_builds.yml │ └── windows_builds.yml ├── .gitignore ├── .mailmap ├── .pre-commit-config.yaml ├── AUTHORS.md ├── CHANGELOG.md ├── CONTRIBUTING.md ├── COPYRIGHT.txt ├── DONORS.md ├── LICENSE.txt ├── LOGO_LICENSE.txt ├── README.md ├── SConstruct ├── core/ │ ├── SCsub │ ├── config/ │ │ ├── SCsub │ │ ├── engine.cpp │ │ ├── engine.h │ │ ├── project_settings.cpp │ │ └── project_settings.h │ ├── core_bind.compat.inc │ ├── core_bind.cpp │ ├── core_bind.h │ ├── core_builders.py │ ├── core_constants.cpp │ ├── core_constants.h │ ├── core_globals.h │ ├── core_string_names.h │ ├── crypto/ │ │ ├── SCsub │ │ ├── aes_context.cpp │ │ ├── aes_context.h │ │ ├── crypto.cpp │ │ ├── crypto.h │ │ ├── crypto_core.cpp │ │ ├── crypto_core.h │ │ ├── crypto_resource_format.cpp │ │ ├── crypto_resource_format.h │ │ ├── hashing_context.cpp │ │ └── hashing_context.h │ ├── debugger/ │ │ ├── SCsub │ │ ├── debugger_marshalls.cpp │ │ ├── debugger_marshalls.h │ │ ├── engine_debugger.cpp │ │ ├── engine_debugger.h │ │ ├── engine_profiler.cpp │ │ ├── engine_profiler.h │ │ ├── local_debugger.cpp │ │ ├── local_debugger.h │ │ ├── remote_debugger.cpp │ │ ├── remote_debugger.h │ │ ├── remote_debugger_peer.cpp │ │ ├── remote_debugger_peer.h │ │ ├── script_debugger.cpp │ │ └── script_debugger.h │ ├── doc_data.cpp │ ├── doc_data.h │ ├── error/ │ │ ├── SCsub │ │ ├── error_list.cpp │ │ ├── error_list.h │ │ ├── error_macros.cpp │ │ └── error_macros.h │ ├── extension/ │ │ ├── SCsub │ │ ├── extension_api_dump.cpp │ │ ├── extension_api_dump.h │ │ ├── gdextension.compat.inc │ │ ├── gdextension.cpp │ │ ├── gdextension.h │ │ ├── gdextension_function_loader.cpp │ │ ├── gdextension_function_loader.h │ │ ├── gdextension_interface.cpp │ │ ├── gdextension_interface.json │ │ ├── gdextension_interface.schema.json │ │ ├── gdextension_interface_header_generator.cpp │ │ ├── gdextension_interface_header_generator.h │ │ ├── gdextension_library_loader.cpp │ │ ├── gdextension_library_loader.h │ │ ├── gdextension_loader.h │ │ ├── gdextension_manager.cpp │ │ ├── gdextension_manager.h │ │ ├── gdextension_resource_format.cpp │ │ ├── gdextension_resource_format.h │ │ ├── gdextension_special_compat_hashes.cpp │ │ ├── gdextension_special_compat_hashes.h │ │ ├── godot_instance.cpp │ │ ├── godot_instance.h │ │ ├── libgodot.h │ │ ├── make_interface_dumper.py │ │ ├── make_interface_header.py │ │ └── make_wrappers.py │ ├── input/ │ │ ├── SCsub │ │ ├── default_controller_mappings.h │ │ ├── gamecontrollerdb.txt │ │ ├── godotcontrollerdb.txt │ │ ├── input.compat.inc │ │ ├── input.cpp │ │ ├── input.h │ │ ├── input_builders.py │ │ ├── input_enums.h │ │ ├── input_event.cpp │ │ ├── input_event.h │ │ ├── input_event_codec.cpp │ │ ├── input_event_codec.h │ │ ├── input_map.compat.inc │ │ ├── input_map.cpp │ │ ├── input_map.h │ │ ├── shortcut.cpp │ │ └── shortcut.h │ ├── io/ │ │ ├── SCsub │ │ ├── compression.cpp │ │ ├── compression.h │ │ ├── config_file.cpp │ │ ├── config_file.h │ │ ├── delta_encoding.cpp │ │ ├── delta_encoding.h │ │ ├── dir_access.cpp │ │ ├── dir_access.h │ │ ├── dtls_server.cpp │ │ ├── dtls_server.h │ │ ├── file_access.compat.inc │ │ ├── file_access.cpp │ │ ├── file_access.h │ │ ├── file_access_compressed.cpp │ │ ├── file_access_compressed.h │ │ ├── file_access_encrypted.cpp │ │ ├── file_access_encrypted.h │ │ ├── file_access_memory.cpp │ │ ├── file_access_memory.h │ │ ├── file_access_pack.cpp │ │ ├── file_access_pack.h │ │ ├── file_access_patched.cpp │ │ ├── file_access_patched.h │ │ ├── file_access_zip.cpp │ │ ├── file_access_zip.h │ │ ├── http_client.cpp │ │ ├── http_client.h │ │ ├── http_client_tcp.cpp │ │ ├── http_client_tcp.h │ │ ├── image.cpp │ │ ├── image.h │ │ ├── image_loader.cpp │ │ ├── image_loader.h │ │ ├── image_resource_format.cpp │ │ ├── image_resource_format.h │ │ ├── ip.cpp │ │ ├── ip.h │ │ ├── ip_address.cpp │ │ ├── ip_address.h │ │ ├── json.cpp │ │ ├── json.h │ │ ├── json_resource_format.cpp │ │ ├── json_resource_format.h │ │ ├── logger.cpp │ │ ├── logger.h │ │ ├── marshalls.cpp │ │ ├── marshalls.h │ │ ├── missing_resource.cpp │ │ ├── missing_resource.h │ │ ├── net_socket.cpp │ │ ├── net_socket.h │ │ ├── packed_data_container.cpp │ │ ├── packed_data_container.h │ │ ├── packet_peer.cpp │ │ ├── packet_peer.h │ │ ├── packet_peer_dtls.cpp │ │ ├── packet_peer_dtls.h │ │ ├── packet_peer_udp.cpp │ │ ├── packet_peer_udp.h │ │ ├── pck_packer.cpp │ │ ├── pck_packer.h │ │ ├── plist.cpp │ │ ├── plist.h │ │ ├── remote_filesystem_client.cpp │ │ ├── remote_filesystem_client.h │ │ ├── resource.cpp │ │ ├── resource.h │ │ ├── resource_format_binary.cpp │ │ ├── resource_format_binary.h │ │ ├── resource_importer.cpp │ │ ├── resource_importer.h │ │ ├── resource_loader.cpp │ │ ├── resource_loader.h │ │ ├── resource_loader_constants.h │ │ ├── resource_saver.cpp │ │ ├── resource_saver.h │ │ ├── resource_uid.cpp │ │ ├── resource_uid.h │ │ ├── socket_server.cpp │ │ ├── socket_server.h │ │ ├── stream_peer.cpp │ │ ├── stream_peer.h │ │ ├── stream_peer_gzip.cpp │ │ ├── stream_peer_gzip.h │ │ ├── stream_peer_socket.compat.inc │ │ ├── stream_peer_socket.cpp │ │ ├── stream_peer_socket.h │ │ ├── stream_peer_tcp.cpp │ │ ├── stream_peer_tcp.h │ │ ├── stream_peer_tls.cpp │ │ ├── stream_peer_tls.h │ │ ├── stream_peer_uds.cpp │ │ ├── stream_peer_uds.h │ │ ├── tcp_server.cpp │ │ ├── tcp_server.h │ │ ├── translation_loader_po.cpp │ │ ├── translation_loader_po.h │ │ ├── udp_server.cpp │ │ ├── udp_server.h │ │ ├── uds_server.cpp │ │ ├── uds_server.h │ │ ├── xml_parser.cpp │ │ ├── xml_parser.h │ │ ├── zip_io.cpp │ │ └── zip_io.h │ ├── math/ │ │ ├── SCsub │ │ ├── a_star.compat.inc │ │ ├── a_star.cpp │ │ ├── a_star.h │ │ ├── a_star_grid_2d.compat.inc │ │ ├── a_star_grid_2d.cpp │ │ ├── a_star_grid_2d.h │ │ ├── aabb.cpp │ │ ├── aabb.h │ │ ├── audio_frame.h │ │ ├── basis.cpp │ │ ├── basis.h │ │ ├── bvh.h │ │ ├── bvh_abb.h │ │ ├── bvh_cull.inc │ │ ├── bvh_debug.inc │ │ ├── bvh_integrity.inc │ │ ├── bvh_logic.inc │ │ ├── bvh_misc.inc │ │ ├── bvh_pair.inc │ │ ├── bvh_public.inc │ │ ├── bvh_refit.inc │ │ ├── bvh_split.inc │ │ ├── bvh_structs.inc │ │ ├── bvh_tree.h │ │ ├── color.cpp │ │ ├── color.h │ │ ├── color_names.inc │ │ ├── convex_hull.cpp │ │ ├── convex_hull.h │ │ ├── delaunay_2d.h │ │ ├── delaunay_3d.h │ │ ├── disjoint_set.h │ │ ├── dynamic_bvh.cpp │ │ ├── dynamic_bvh.h │ │ ├── expression.cpp │ │ ├── expression.h │ │ ├── face3.cpp │ │ ├── face3.h │ │ ├── geometry_2d.cpp │ │ ├── geometry_2d.h │ │ ├── geometry_3d.cpp │ │ ├── geometry_3d.h │ │ ├── math_defs.h │ │ ├── math_fieldwise.cpp │ │ ├── math_fieldwise.h │ │ ├── math_funcs.cpp │ │ ├── math_funcs.h │ │ ├── math_funcs_binary.h │ │ ├── plane.cpp │ │ ├── plane.h │ │ ├── projection.cpp │ │ ├── projection.h │ │ ├── quaternion.cpp │ │ ├── quaternion.h │ │ ├── quick_hull.cpp │ │ ├── quick_hull.h │ │ ├── random_number_generator.cpp │ │ ├── random_number_generator.h │ │ ├── random_pcg.cpp │ │ ├── random_pcg.h │ │ ├── rect2.cpp │ │ ├── rect2.h │ │ ├── rect2i.cpp │ │ ├── rect2i.h │ │ ├── static_raycaster.cpp │ │ ├── static_raycaster.h │ │ ├── transform_2d.cpp │ │ ├── transform_2d.h │ │ ├── transform_3d.cpp │ │ ├── transform_3d.h │ │ ├── transform_interpolator.cpp │ │ ├── transform_interpolator.h │ │ ├── triangle_mesh.cpp │ │ ├── triangle_mesh.h │ │ ├── triangulate.cpp │ │ ├── triangulate.h │ │ ├── vector2.cpp │ │ ├── vector2.h │ │ ├── vector2i.cpp │ │ ├── vector2i.h │ │ ├── vector3.cpp │ │ ├── vector3.h │ │ ├── vector3i.cpp │ │ ├── vector3i.h │ │ ├── vector4.cpp │ │ ├── vector4.h │ │ ├── vector4i.cpp │ │ └── vector4i.h │ ├── object/ │ │ ├── SCsub │ │ ├── callable_mp.cpp │ │ ├── callable_mp.h │ │ ├── class_db.cpp │ │ ├── class_db.h │ │ ├── gdtype.cpp │ │ ├── gdtype.h │ │ ├── make_virtuals.py │ │ ├── message_queue.cpp │ │ ├── message_queue.h │ │ ├── method_bind.cpp │ │ ├── method_bind.h │ │ ├── method_bind_common.h │ │ ├── method_info.cpp │ │ ├── method_info.h │ │ ├── object.cpp │ │ ├── object.h │ │ ├── object_id.h │ │ ├── property_info.cpp │ │ ├── property_info.h │ │ ├── ref_counted.cpp │ │ ├── ref_counted.h │ │ ├── script_backtrace.cpp │ │ ├── script_backtrace.h │ │ ├── script_instance.cpp │ │ ├── script_instance.h │ │ ├── script_language.cpp │ │ ├── script_language.h │ │ ├── script_language_extension.cpp │ │ ├── script_language_extension.h │ │ ├── undo_redo.cpp │ │ ├── undo_redo.h │ │ ├── worker_thread_pool.cpp │ │ └── worker_thread_pool.h │ ├── os/ │ │ ├── SCsub │ │ ├── condition_variable.h │ │ ├── keyboard.cpp │ │ ├── keyboard.h │ │ ├── main_loop.cpp │ │ ├── main_loop.h │ │ ├── memory.cpp │ │ ├── memory.h │ │ ├── midi_driver.cpp │ │ ├── midi_driver.h │ │ ├── mutex.cpp │ │ ├── mutex.h │ │ ├── os.cpp │ │ ├── os.h │ │ ├── process_id.h │ │ ├── rw_lock.h │ │ ├── safe_binary_mutex.h │ │ ├── semaphore.h │ │ ├── shared_object.h │ │ ├── spin_lock.h │ │ ├── thread.cpp │ │ ├── thread.h │ │ ├── thread_safe.cpp │ │ ├── thread_safe.h │ │ ├── time.cpp │ │ ├── time.h │ │ └── time_enums.h │ ├── profiling/ │ │ ├── SCsub │ │ ├── profiling.cpp │ │ ├── profiling.h │ │ └── profiling_builders.py │ ├── register_core_types.cpp │ ├── register_core_types.h │ ├── string/ │ │ ├── SCsub │ │ ├── alt_codes.h │ │ ├── char_range.cpp │ │ ├── char_utils.h │ │ ├── fuzzy_search.cpp │ │ ├── fuzzy_search.h │ │ ├── locales.h │ │ ├── node_path.cpp │ │ ├── node_path.h │ │ ├── optimized_translation.cpp │ │ ├── optimized_translation.h │ │ ├── plural_rules.cpp │ │ ├── plural_rules.h │ │ ├── print_string.cpp │ │ ├── print_string.h │ │ ├── string_buffer.h │ │ ├── string_builder.cpp │ │ ├── string_builder.h │ │ ├── string_name.cpp │ │ ├── string_name.h │ │ ├── translation.cpp │ │ ├── translation.h │ │ ├── translation_domain.cpp │ │ ├── translation_domain.h │ │ ├── translation_server.compat.inc │ │ ├── translation_server.cpp │ │ ├── translation_server.h │ │ ├── ucaps.h │ │ ├── ustring.cpp │ │ └── ustring.h │ ├── templates/ │ │ ├── SCsub │ │ ├── a_hash_map.cpp │ │ ├── a_hash_map.h │ │ ├── bin_sorted_array.h │ │ ├── bit_field.h │ │ ├── command_queue_mt.h │ │ ├── cowdata.h │ │ ├── fixed_vector.h │ │ ├── hash_map.h │ │ ├── hash_set.h │ │ ├── hashfuncs.cpp │ │ ├── hashfuncs.h │ │ ├── interpolated_property.cpp │ │ ├── interpolated_property.h │ │ ├── iterable.h │ │ ├── list.h │ │ ├── local_vector.h │ │ ├── lru.h │ │ ├── paged_allocator.h │ │ ├── paged_array.h │ │ ├── pair.h │ │ ├── pass_func.h │ │ ├── pooled_list.h │ │ ├── rb_map.h │ │ ├── rb_set.h │ │ ├── rid.h │ │ ├── rid_owner.h │ │ ├── ring_buffer.h │ │ ├── safe_list.h │ │ ├── safe_refcount.h │ │ ├── self_list.h │ │ ├── simple_type.h │ │ ├── sort_array.h │ │ ├── sort_list.h │ │ ├── span.h │ │ ├── tuple.h │ │ ├── vector.h │ │ └── vset.h │ ├── typedefs.h │ ├── variant/ │ │ ├── SCsub │ │ ├── array.cpp │ │ ├── array.h │ │ ├── binder_common.h │ │ ├── callable.cpp │ │ ├── callable.h │ │ ├── callable_bind.cpp │ │ ├── callable_bind.h │ │ ├── container_type_validate.h │ │ ├── dictionary.cpp │ │ ├── dictionary.h │ │ ├── method_ptrcall.h │ │ ├── native_ptr.h │ │ ├── type_info.h │ │ ├── typed_array.h │ │ ├── typed_dictionary.h │ │ ├── variant.cpp │ │ ├── variant.h │ │ ├── variant_call.cpp │ │ ├── variant_callable.cpp │ │ ├── variant_callable.h │ │ ├── variant_caster.h │ │ ├── variant_construct.cpp │ │ ├── variant_construct.h │ │ ├── variant_deep_duplicate.h │ │ ├── variant_destruct.cpp │ │ ├── variant_destruct.h │ │ ├── variant_internal.h │ │ ├── variant_op.cpp │ │ ├── variant_op.h │ │ ├── variant_parser.cpp │ │ ├── variant_parser.h │ │ ├── variant_pools.cpp │ │ ├── variant_pools.h │ │ ├── variant_setget.cpp │ │ ├── variant_setget.h │ │ ├── variant_utility.cpp │ │ └── variant_utility.h │ └── version.h ├── doc/ │ ├── Doxyfile │ ├── Makefile │ ├── class.xsd │ ├── classes/ │ │ ├── @GlobalScope.xml │ │ ├── AABB.xml │ │ ├── AESContext.xml │ │ ├── AStar2D.xml │ │ ├── AStar3D.xml │ │ ├── AStarGrid2D.xml │ │ ├── AcceptDialog.xml │ │ ├── AccessibilityServer.xml │ │ ├── AimModifier3D.xml │ │ ├── AnimatableBody2D.xml │ │ ├── AnimatableBody3D.xml │ │ ├── AnimatedSprite2D.xml │ │ ├── AnimatedSprite3D.xml │ │ ├── AnimatedTexture.xml │ │ ├── Animation.xml │ │ ├── AnimationLibrary.xml │ │ ├── AnimationMixer.xml │ │ ├── AnimationNode.xml │ │ ├── AnimationNodeAdd2.xml │ │ ├── AnimationNodeAdd3.xml │ │ ├── AnimationNodeAnimation.xml │ │ ├── AnimationNodeBlend2.xml │ │ ├── AnimationNodeBlend3.xml │ │ ├── AnimationNodeBlendSpace1D.xml │ │ ├── AnimationNodeBlendSpace2D.xml │ │ ├── AnimationNodeBlendTree.xml │ │ ├── AnimationNodeExtension.xml │ │ ├── AnimationNodeOneShot.xml │ │ ├── AnimationNodeOutput.xml │ │ ├── AnimationNodeStateMachine.xml │ │ ├── AnimationNodeStateMachinePlayback.xml │ │ ├── AnimationNodeStateMachineTransition.xml │ │ ├── AnimationNodeSub2.xml │ │ ├── AnimationNodeSync.xml │ │ ├── AnimationNodeTimeScale.xml │ │ ├── AnimationNodeTimeSeek.xml │ │ ├── AnimationNodeTransition.xml │ │ ├── AnimationPlayer.xml │ │ ├── AnimationRootNode.xml │ │ ├── AnimationTree.xml │ │ ├── Area2D.xml │ │ ├── Area3D.xml │ │ ├── Array.xml │ │ ├── ArrayMesh.xml │ │ ├── ArrayOccluder3D.xml │ │ ├── AspectRatioContainer.xml │ │ ├── AtlasTexture.xml │ │ ├── AudioBusLayout.xml │ │ ├── AudioEffect.xml │ │ ├── AudioEffectAmplify.xml │ │ ├── AudioEffectBandLimitFilter.xml │ │ ├── AudioEffectBandPassFilter.xml │ │ ├── AudioEffectCapture.xml │ │ ├── AudioEffectChorus.xml │ │ ├── AudioEffectCompressor.xml │ │ ├── AudioEffectDelay.xml │ │ ├── AudioEffectDistortion.xml │ │ ├── AudioEffectEQ.xml │ │ ├── AudioEffectEQ10.xml │ │ ├── AudioEffectEQ21.xml │ │ ├── AudioEffectEQ6.xml │ │ ├── AudioEffectFilter.xml │ │ ├── AudioEffectHardLimiter.xml │ │ ├── AudioEffectHighPassFilter.xml │ │ ├── AudioEffectHighShelfFilter.xml │ │ ├── AudioEffectInstance.xml │ │ ├── AudioEffectLimiter.xml │ │ ├── AudioEffectLowPassFilter.xml │ │ ├── AudioEffectLowShelfFilter.xml │ │ ├── AudioEffectNotchFilter.xml │ │ ├── AudioEffectPanner.xml │ │ ├── AudioEffectPhaser.xml │ │ ├── AudioEffectPitchShift.xml │ │ ├── AudioEffectRecord.xml │ │ ├── AudioEffectReverb.xml │ │ ├── AudioEffectSpectrumAnalyzer.xml │ │ ├── AudioEffectSpectrumAnalyzerInstance.xml │ │ ├── AudioEffectStereoEnhance.xml │ │ ├── AudioListener2D.xml │ │ ├── AudioListener3D.xml │ │ ├── AudioSample.xml │ │ ├── AudioSamplePlayback.xml │ │ ├── AudioServer.xml │ │ ├── AudioStream.xml │ │ ├── AudioStreamGenerator.xml │ │ ├── AudioStreamGeneratorPlayback.xml │ │ ├── AudioStreamMicrophone.xml │ │ ├── AudioStreamPlayback.xml │ │ ├── AudioStreamPlaybackPolyphonic.xml │ │ ├── AudioStreamPlaybackResampled.xml │ │ ├── AudioStreamPlayer.xml │ │ ├── AudioStreamPlayer2D.xml │ │ ├── AudioStreamPlayer3D.xml │ │ ├── AudioStreamPolyphonic.xml │ │ ├── AudioStreamRandomizer.xml │ │ ├── AudioStreamWAV.xml │ │ ├── AwaitTweener.xml │ │ ├── BackBufferCopy.xml │ │ ├── BaseButton.xml │ │ ├── BaseMaterial3D.xml │ │ ├── Basis.xml │ │ ├── BitMap.xml │ │ ├── BlitMaterial.xml │ │ ├── Bone2D.xml │ │ ├── BoneAttachment3D.xml │ │ ├── BoneConstraint3D.xml │ │ ├── BoneMap.xml │ │ ├── BoneTwistDisperser3D.xml │ │ ├── BoxContainer.xml │ │ ├── BoxMesh.xml │ │ ├── BoxOccluder3D.xml │ │ ├── BoxShape3D.xml │ │ ├── Button.xml │ │ ├── ButtonGroup.xml │ │ ├── CCDIK3D.xml │ │ ├── CPUParticles2D.xml │ │ ├── CPUParticles3D.xml │ │ ├── Callable.xml │ │ ├── CallbackTweener.xml │ │ ├── Camera2D.xml │ │ ├── Camera3D.xml │ │ ├── CameraAttributes.xml │ │ ├── CameraAttributesPhysical.xml │ │ ├── CameraAttributesPractical.xml │ │ ├── CameraFeed.xml │ │ ├── CameraServer.xml │ │ ├── CameraTexture.xml │ │ ├── CanvasGroup.xml │ │ ├── CanvasItem.xml │ │ ├── CanvasItemMaterial.xml │ │ ├── CanvasLayer.xml │ │ ├── CanvasModulate.xml │ │ ├── CanvasTexture.xml │ │ ├── CapsuleMesh.xml │ │ ├── CapsuleShape2D.xml │ │ ├── CapsuleShape3D.xml │ │ ├── CenterContainer.xml │ │ ├── ChainIK3D.xml │ │ ├── CharFXTransform.xml │ │ ├── CharacterBody2D.xml │ │ ├── CharacterBody3D.xml │ │ ├── CheckBox.xml │ │ ├── CheckButton.xml │ │ ├── CircleShape2D.xml │ │ ├── ClassDB.xml │ │ ├── CodeEdit.xml │ │ ├── CodeHighlighter.xml │ │ ├── CollisionObject2D.xml │ │ ├── CollisionObject3D.xml │ │ ├── CollisionPolygon2D.xml │ │ ├── CollisionPolygon3D.xml │ │ ├── CollisionShape2D.xml │ │ ├── CollisionShape3D.xml │ │ ├── Color.xml │ │ ├── ColorPalette.xml │ │ ├── ColorPicker.xml │ │ ├── ColorPickerButton.xml │ │ ├── ColorRect.xml │ │ ├── Compositor.xml │ │ ├── CompositorEffect.xml │ │ ├── CompressedCubemap.xml │ │ ├── CompressedCubemapArray.xml │ │ ├── CompressedTexture2D.xml │ │ ├── CompressedTexture2DArray.xml │ │ ├── CompressedTexture3D.xml │ │ ├── CompressedTextureLayered.xml │ │ ├── ConcavePolygonShape2D.xml │ │ ├── ConcavePolygonShape3D.xml │ │ ├── ConeTwistJoint3D.xml │ │ ├── ConfigFile.xml │ │ ├── ConfirmationDialog.xml │ │ ├── Container.xml │ │ ├── Control.xml │ │ ├── ConvertTransformModifier3D.xml │ │ ├── ConvexPolygonShape2D.xml │ │ ├── ConvexPolygonShape3D.xml │ │ ├── CopyTransformModifier3D.xml │ │ ├── Crypto.xml │ │ ├── CryptoKey.xml │ │ ├── Cubemap.xml │ │ ├── CubemapArray.xml │ │ ├── Curve.xml │ │ ├── Curve2D.xml │ │ ├── Curve3D.xml │ │ ├── CurveTexture.xml │ │ ├── CurveXYZTexture.xml │ │ ├── CylinderMesh.xml │ │ ├── CylinderShape3D.xml │ │ ├── DPITexture.xml │ │ ├── DTLSServer.xml │ │ ├── DampedSpringJoint2D.xml │ │ ├── Decal.xml │ │ ├── Dictionary.xml │ │ ├── DirAccess.xml │ │ ├── DirectionalLight2D.xml │ │ ├── DirectionalLight3D.xml │ │ ├── DisplayServer.xml │ │ ├── DrawableTexture2D.xml │ │ ├── EditorCommandPalette.xml │ │ ├── EditorContextMenuPlugin.xml │ │ ├── EditorDebuggerPlugin.xml │ │ ├── EditorDebuggerSession.xml │ │ ├── EditorDock.xml │ │ ├── EditorExportPlatform.xml │ │ ├── EditorExportPlatformAppleEmbedded.xml │ │ ├── EditorExportPlatformExtension.xml │ │ ├── EditorExportPlatformPC.xml │ │ ├── EditorExportPlugin.xml │ │ ├── EditorExportPreset.xml │ │ ├── EditorFeatureProfile.xml │ │ ├── EditorFileDialog.xml │ │ ├── EditorFileSystem.xml │ │ ├── EditorFileSystemDirectory.xml │ │ ├── EditorFileSystemImportFormatSupportQuery.xml │ │ ├── EditorImportPlugin.xml │ │ ├── EditorInspector.xml │ │ ├── EditorInspectorPlugin.xml │ │ ├── EditorInterface.xml │ │ ├── EditorNode3DGizmo.xml │ │ ├── EditorNode3DGizmoPlugin.xml │ │ ├── EditorPaths.xml │ │ ├── EditorPlugin.xml │ │ ├── EditorProperty.xml │ │ ├── EditorResourceConversionPlugin.xml │ │ ├── EditorResourcePicker.xml │ │ ├── EditorResourcePreview.xml │ │ ├── EditorResourcePreviewGenerator.xml │ │ ├── EditorResourceTooltipPlugin.xml │ │ ├── EditorSceneFormatImporter.xml │ │ ├── EditorScenePostImport.xml │ │ ├── EditorScenePostImportPlugin.xml │ │ ├── EditorScript.xml │ │ ├── EditorScriptPicker.xml │ │ ├── EditorSelection.xml │ │ ├── EditorSettings.xml │ │ ├── EditorSpinSlider.xml │ │ ├── EditorSyntaxHighlighter.xml │ │ ├── EditorToaster.xml │ │ ├── EditorTranslationParserPlugin.xml │ │ ├── EditorUndoRedoManager.xml │ │ ├── EditorVCSInterface.xml │ │ ├── EncodedObjectAsID.xml │ │ ├── Engine.xml │ │ ├── EngineDebugger.xml │ │ ├── EngineProfiler.xml │ │ ├── Environment.xml │ │ ├── Expression.xml │ │ ├── ExternalTexture.xml │ │ ├── FABRIK3D.xml │ │ ├── FileAccess.xml │ │ ├── FileDialog.xml │ │ ├── FileSystemDock.xml │ │ ├── FlowContainer.xml │ │ ├── FogMaterial.xml │ │ ├── FogVolume.xml │ │ ├── FoldableContainer.xml │ │ ├── FoldableGroup.xml │ │ ├── Font.xml │ │ ├── FontFile.xml │ │ ├── FontVariation.xml │ │ ├── FramebufferCacheRD.xml │ │ ├── GDExtension.xml │ │ ├── GDExtensionManager.xml │ │ ├── GPUParticles2D.xml │ │ ├── GPUParticles3D.xml │ │ ├── GPUParticlesAttractor3D.xml │ │ ├── GPUParticlesAttractorBox3D.xml │ │ ├── GPUParticlesAttractorSphere3D.xml │ │ ├── GPUParticlesAttractorVectorField3D.xml │ │ ├── GPUParticlesCollision3D.xml │ │ ├── GPUParticlesCollisionBox3D.xml │ │ ├── GPUParticlesCollisionHeightField3D.xml │ │ ├── GPUParticlesCollisionSDF3D.xml │ │ ├── GPUParticlesCollisionSphere3D.xml │ │ ├── Generic6DOFJoint3D.xml │ │ ├── Geometry2D.xml │ │ ├── Geometry3D.xml │ │ ├── GeometryInstance3D.xml │ │ ├── GodotInstance.xml │ │ ├── Gradient.xml │ │ ├── GradientTexture1D.xml │ │ ├── GradientTexture2D.xml │ │ ├── GraphEdit.xml │ │ ├── GraphElement.xml │ │ ├── GraphFrame.xml │ │ ├── GraphNode.xml │ │ ├── GridContainer.xml │ │ ├── GrooveJoint2D.xml │ │ ├── HBoxContainer.xml │ │ ├── HFlowContainer.xml │ │ ├── HMACContext.xml │ │ ├── HScrollBar.xml │ │ ├── HSeparator.xml │ │ ├── HSlider.xml │ │ ├── HSplitContainer.xml │ │ ├── HTTPClient.xml │ │ ├── HTTPRequest.xml │ │ ├── HashingContext.xml │ │ ├── HeightMapShape3D.xml │ │ ├── HingeJoint3D.xml │ │ ├── IKModifier3D.xml │ │ ├── IP.xml │ │ ├── Image.xml │ │ ├── ImageFormatLoader.xml │ │ ├── ImageFormatLoaderExtension.xml │ │ ├── ImageTexture.xml │ │ ├── ImageTexture3D.xml │ │ ├── ImageTextureLayered.xml │ │ ├── ImmediateMesh.xml │ │ ├── ImporterMesh.xml │ │ ├── ImporterMeshInstance3D.xml │ │ ├── Input.xml │ │ ├── InputEvent.xml │ │ ├── InputEventAction.xml │ │ ├── InputEventFromWindow.xml │ │ ├── InputEventGesture.xml │ │ ├── InputEventJoypadButton.xml │ │ ├── InputEventJoypadMotion.xml │ │ ├── InputEventKey.xml │ │ ├── InputEventMIDI.xml │ │ ├── InputEventMagnifyGesture.xml │ │ ├── InputEventMouse.xml │ │ ├── InputEventMouseButton.xml │ │ ├── InputEventMouseMotion.xml │ │ ├── InputEventPanGesture.xml │ │ ├── InputEventScreenDrag.xml │ │ ├── InputEventScreenTouch.xml │ │ ├── InputEventShortcut.xml │ │ ├── InputEventWithModifiers.xml │ │ ├── InputMap.xml │ │ ├── InstancePlaceholder.xml │ │ ├── IntervalTweener.xml │ │ ├── ItemList.xml │ │ ├── IterateIK3D.xml │ │ ├── JNISingleton.xml │ │ ├── JSON.xml │ │ ├── JSONRPC.xml │ │ ├── JacobianIK3D.xml │ │ ├── JavaClass.xml │ │ ├── JavaClassWrapper.xml │ │ ├── JavaObject.xml │ │ ├── JavaScriptBridge.xml │ │ ├── JavaScriptObject.xml │ │ ├── Joint2D.xml │ │ ├── Joint3D.xml │ │ ├── JointLimitation3D.xml │ │ ├── JointLimitationCone3D.xml │ │ ├── KinematicCollision2D.xml │ │ ├── KinematicCollision3D.xml │ │ ├── Label.xml │ │ ├── Label3D.xml │ │ ├── LabelSettings.xml │ │ ├── Light2D.xml │ │ ├── Light3D.xml │ │ ├── LightOccluder2D.xml │ │ ├── LightmapGI.xml │ │ ├── LightmapGIData.xml │ │ ├── LightmapProbe.xml │ │ ├── Lightmapper.xml │ │ ├── LightmapperRD.xml │ │ ├── LimitAngularVelocityModifier3D.xml │ │ ├── Line2D.xml │ │ ├── LineEdit.xml │ │ ├── LinkButton.xml │ │ ├── Logger.xml │ │ ├── LookAtModifier3D.xml │ │ ├── MainLoop.xml │ │ ├── MarginContainer.xml │ │ ├── Marker2D.xml │ │ ├── Marker3D.xml │ │ ├── Marshalls.xml │ │ ├── Material.xml │ │ ├── MenuBar.xml │ │ ├── MenuButton.xml │ │ ├── Mesh.xml │ │ ├── MeshConvexDecompositionSettings.xml │ │ ├── MeshDataTool.xml │ │ ├── MeshInstance2D.xml │ │ ├── MeshInstance3D.xml │ │ ├── MeshLibrary.xml │ │ ├── MeshTexture.xml │ │ ├── MethodTweener.xml │ │ ├── MissingNode.xml │ │ ├── MissingResource.xml │ │ ├── ModifierBoneTarget3D.xml │ │ ├── MovieWriter.xml │ │ ├── MultiMesh.xml │ │ ├── MultiMeshInstance2D.xml │ │ ├── MultiMeshInstance3D.xml │ │ ├── MultiplayerAPI.xml │ │ ├── MultiplayerAPIExtension.xml │ │ ├── MultiplayerPeer.xml │ │ ├── MultiplayerPeerExtension.xml │ │ ├── Mutex.xml │ │ ├── NativeMenu.xml │ │ ├── NavigationAgent2D.xml │ │ ├── NavigationAgent3D.xml │ │ ├── NavigationLink2D.xml │ │ ├── NavigationLink3D.xml │ │ ├── NavigationMesh.xml │ │ ├── NavigationMeshGenerator.xml │ │ ├── NavigationMeshSourceGeometryData2D.xml │ │ ├── NavigationMeshSourceGeometryData3D.xml │ │ ├── NavigationObstacle2D.xml │ │ ├── NavigationObstacle3D.xml │ │ ├── NavigationPathQueryParameters2D.xml │ │ ├── NavigationPathQueryParameters3D.xml │ │ ├── NavigationPathQueryResult2D.xml │ │ ├── NavigationPathQueryResult3D.xml │ │ ├── NavigationPolygon.xml │ │ ├── NavigationRegion2D.xml │ │ ├── NavigationRegion3D.xml │ │ ├── NavigationServer2D.xml │ │ ├── NavigationServer2DManager.xml │ │ ├── NavigationServer3D.xml │ │ ├── NavigationServer3DManager.xml │ │ ├── NinePatchRect.xml │ │ ├── Node.xml │ │ ├── Node2D.xml │ │ ├── Node3D.xml │ │ ├── Node3DGizmo.xml │ │ ├── NodePath.xml │ │ ├── ORMMaterial3D.xml │ │ ├── OS.xml │ │ ├── Object.xml │ │ ├── Occluder3D.xml │ │ ├── OccluderInstance3D.xml │ │ ├── OccluderPolygon2D.xml │ │ ├── OmniLight3D.xml │ │ ├── OptimizedTranslation.xml │ │ ├── OptionButton.xml │ │ ├── PCKPacker.xml │ │ ├── PackedByteArray.xml │ │ ├── PackedColorArray.xml │ │ ├── PackedDataContainer.xml │ │ ├── PackedDataContainerRef.xml │ │ ├── PackedFloat32Array.xml │ │ ├── PackedFloat64Array.xml │ │ ├── PackedInt32Array.xml │ │ ├── PackedInt64Array.xml │ │ ├── PackedScene.xml │ │ ├── PackedStringArray.xml │ │ ├── PackedVector2Array.xml │ │ ├── PackedVector3Array.xml │ │ ├── PackedVector4Array.xml │ │ ├── PacketPeer.xml │ │ ├── PacketPeerDTLS.xml │ │ ├── PacketPeerExtension.xml │ │ ├── PacketPeerStream.xml │ │ ├── PacketPeerUDP.xml │ │ ├── Panel.xml │ │ ├── PanelContainer.xml │ │ ├── PanoramaSkyMaterial.xml │ │ ├── Parallax2D.xml │ │ ├── ParallaxBackground.xml │ │ ├── ParallaxLayer.xml │ │ ├── ParticleProcessMaterial.xml │ │ ├── Path2D.xml │ │ ├── Path3D.xml │ │ ├── PathFollow2D.xml │ │ ├── PathFollow3D.xml │ │ ├── Performance.xml │ │ ├── PhysicalBone2D.xml │ │ ├── PhysicalBone3D.xml │ │ ├── PhysicalBoneSimulator3D.xml │ │ ├── PhysicalSkyMaterial.xml │ │ ├── PhysicsBody2D.xml │ │ ├── PhysicsBody3D.xml │ │ ├── PhysicsDirectBodyState2D.xml │ │ ├── PhysicsDirectBodyState2DExtension.xml │ │ ├── PhysicsDirectBodyState3D.xml │ │ ├── PhysicsDirectBodyState3DExtension.xml │ │ ├── PhysicsDirectSpaceState2D.xml │ │ ├── PhysicsDirectSpaceState2DExtension.xml │ │ ├── PhysicsDirectSpaceState3D.xml │ │ ├── PhysicsDirectSpaceState3DExtension.xml │ │ ├── PhysicsMaterial.xml │ │ ├── PhysicsPointQueryParameters2D.xml │ │ ├── PhysicsPointQueryParameters3D.xml │ │ ├── PhysicsRayQueryParameters2D.xml │ │ ├── PhysicsRayQueryParameters3D.xml │ │ ├── PhysicsServer2D.xml │ │ ├── PhysicsServer2DExtension.xml │ │ ├── PhysicsServer2DManager.xml │ │ ├── PhysicsServer3D.xml │ │ ├── PhysicsServer3DExtension.xml │ │ ├── PhysicsServer3DManager.xml │ │ ├── PhysicsServer3DRenderingServerHandler.xml │ │ ├── PhysicsShapeQueryParameters2D.xml │ │ ├── PhysicsShapeQueryParameters3D.xml │ │ ├── PhysicsTestMotionParameters2D.xml │ │ ├── PhysicsTestMotionParameters3D.xml │ │ ├── PhysicsTestMotionResult2D.xml │ │ ├── PhysicsTestMotionResult3D.xml │ │ ├── PinJoint2D.xml │ │ ├── PinJoint3D.xml │ │ ├── PlaceholderCubemap.xml │ │ ├── PlaceholderCubemapArray.xml │ │ ├── PlaceholderMaterial.xml │ │ ├── PlaceholderMesh.xml │ │ ├── PlaceholderTexture2D.xml │ │ ├── PlaceholderTexture2DArray.xml │ │ ├── PlaceholderTexture3D.xml │ │ ├── PlaceholderTextureLayered.xml │ │ ├── Plane.xml │ │ ├── PlaneMesh.xml │ │ ├── PointLight2D.xml │ │ ├── PointMesh.xml │ │ ├── Polygon2D.xml │ │ ├── PolygonOccluder3D.xml │ │ ├── PolygonPathFinder.xml │ │ ├── Popup.xml │ │ ├── PopupMenu.xml │ │ ├── PopupPanel.xml │ │ ├── PortableCompressedTexture2D.xml │ │ ├── PrimitiveMesh.xml │ │ ├── PrismMesh.xml │ │ ├── ProceduralSkyMaterial.xml │ │ ├── ProgressBar.xml │ │ ├── ProjectSettings.xml │ │ ├── Projection.xml │ │ ├── PropertyTweener.xml │ │ ├── QuadMesh.xml │ │ ├── QuadOccluder3D.xml │ │ ├── Quaternion.xml │ │ ├── RDAttachmentFormat.xml │ │ ├── RDFramebufferPass.xml │ │ ├── RDPipelineColorBlendState.xml │ │ ├── RDPipelineColorBlendStateAttachment.xml │ │ ├── RDPipelineDepthStencilState.xml │ │ ├── RDPipelineMultisampleState.xml │ │ ├── RDPipelineRasterizationState.xml │ │ ├── RDPipelineSpecializationConstant.xml │ │ ├── RDSamplerState.xml │ │ ├── RDShaderFile.xml │ │ ├── RDShaderSPIRV.xml │ │ ├── RDShaderSource.xml │ │ ├── RDTextureFormat.xml │ │ ├── RDTextureView.xml │ │ ├── RDUniform.xml │ │ ├── RDVertexAttribute.xml │ │ ├── RID.xml │ │ ├── RandomNumberGenerator.xml │ │ ├── Range.xml │ │ ├── RayCast2D.xml │ │ ├── RayCast3D.xml │ │ ├── Rect2.xml │ │ ├── Rect2i.xml │ │ ├── RectangleShape2D.xml │ │ ├── RefCounted.xml │ │ ├── ReferenceRect.xml │ │ ├── ReflectionProbe.xml │ │ ├── RemoteTransform2D.xml │ │ ├── RemoteTransform3D.xml │ │ ├── RenderData.xml │ │ ├── RenderDataExtension.xml │ │ ├── RenderDataRD.xml │ │ ├── RenderSceneBuffers.xml │ │ ├── RenderSceneBuffersConfiguration.xml │ │ ├── RenderSceneBuffersExtension.xml │ │ ├── RenderSceneBuffersRD.xml │ │ ├── RenderSceneData.xml │ │ ├── RenderSceneDataExtension.xml │ │ ├── RenderSceneDataRD.xml │ │ ├── RenderingDevice.xml │ │ ├── RenderingServer.xml │ │ ├── Resource.xml │ │ ├── ResourceFormatLoader.xml │ │ ├── ResourceFormatSaver.xml │ │ ├── ResourceImporter.xml │ │ ├── ResourceImporterBMFont.xml │ │ ├── ResourceImporterBitMap.xml │ │ ├── ResourceImporterCSVTranslation.xml │ │ ├── ResourceImporterDynamicFont.xml │ │ ├── ResourceImporterImage.xml │ │ ├── ResourceImporterImageFont.xml │ │ ├── ResourceImporterLayeredTexture.xml │ │ ├── ResourceImporterOBJ.xml │ │ ├── ResourceImporterSVG.xml │ │ ├── ResourceImporterScene.xml │ │ ├── ResourceImporterShaderFile.xml │ │ ├── ResourceImporterTexture.xml │ │ ├── ResourceImporterTextureAtlas.xml │ │ ├── ResourceImporterWAV.xml │ │ ├── ResourceLoader.xml │ │ ├── ResourcePreloader.xml │ │ ├── ResourceSaver.xml │ │ ├── ResourceUID.xml │ │ ├── RetargetModifier3D.xml │ │ ├── RibbonTrailMesh.xml │ │ ├── RichTextEffect.xml │ │ ├── RichTextLabel.xml │ │ ├── RigidBody2D.xml │ │ ├── RigidBody3D.xml │ │ ├── RootMotionView.xml │ │ ├── SceneState.xml │ │ ├── SceneTree.xml │ │ ├── SceneTreeTimer.xml │ │ ├── Script.xml │ │ ├── ScriptBacktrace.xml │ │ ├── ScriptCreateDialog.xml │ │ ├── ScriptEditor.xml │ │ ├── ScriptEditorBase.xml │ │ ├── ScriptExtension.xml │ │ ├── ScriptLanguage.xml │ │ ├── ScriptLanguageExtension.xml │ │ ├── ScrollBar.xml │ │ ├── ScrollContainer.xml │ │ ├── SegmentShape2D.xml │ │ ├── Semaphore.xml │ │ ├── SeparationRayShape2D.xml │ │ ├── SeparationRayShape3D.xml │ │ ├── Separator.xml │ │ ├── Shader.xml │ │ ├── ShaderGlobalsOverride.xml │ │ ├── ShaderInclude.xml │ │ ├── ShaderIncludeDB.xml │ │ ├── ShaderMaterial.xml │ │ ├── Shape2D.xml │ │ ├── Shape3D.xml │ │ ├── ShapeCast2D.xml │ │ ├── ShapeCast3D.xml │ │ ├── Shortcut.xml │ │ ├── Signal.xml │ │ ├── Skeleton2D.xml │ │ ├── Skeleton3D.xml │ │ ├── SkeletonIK3D.xml │ │ ├── SkeletonModification2D.xml │ │ ├── SkeletonModification2DCCDIK.xml │ │ ├── SkeletonModification2DFABRIK.xml │ │ ├── SkeletonModification2DJiggle.xml │ │ ├── SkeletonModification2DLookAt.xml │ │ ├── SkeletonModification2DPhysicalBones.xml │ │ ├── SkeletonModification2DStackHolder.xml │ │ ├── SkeletonModification2DTwoBoneIK.xml │ │ ├── SkeletonModificationStack2D.xml │ │ ├── SkeletonModifier3D.xml │ │ ├── SkeletonProfile.xml │ │ ├── SkeletonProfileHumanoid.xml │ │ ├── Skin.xml │ │ ├── SkinReference.xml │ │ ├── Sky.xml │ │ ├── Slider.xml │ │ ├── SliderJoint3D.xml │ │ ├── SocketServer.xml │ │ ├── SoftBody3D.xml │ │ ├── SphereMesh.xml │ │ ├── SphereOccluder3D.xml │ │ ├── SphereShape3D.xml │ │ ├── SpinBox.xml │ │ ├── SplineIK3D.xml │ │ ├── SplitContainer.xml │ │ ├── SpotLight3D.xml │ │ ├── SpringArm3D.xml │ │ ├── SpringBoneCollision3D.xml │ │ ├── SpringBoneCollisionCapsule3D.xml │ │ ├── SpringBoneCollisionPlane3D.xml │ │ ├── SpringBoneCollisionSphere3D.xml │ │ ├── SpringBoneSimulator3D.xml │ │ ├── Sprite2D.xml │ │ ├── Sprite3D.xml │ │ ├── SpriteBase3D.xml │ │ ├── SpriteFrames.xml │ │ ├── StandardMaterial3D.xml │ │ ├── StaticBody2D.xml │ │ ├── StaticBody3D.xml │ │ ├── StatusIndicator.xml │ │ ├── StreamPeer.xml │ │ ├── StreamPeerBuffer.xml │ │ ├── StreamPeerExtension.xml │ │ ├── StreamPeerGZIP.xml │ │ ├── StreamPeerSocket.xml │ │ ├── StreamPeerTCP.xml │ │ ├── StreamPeerTLS.xml │ │ ├── StreamPeerUDS.xml │ │ ├── String.xml │ │ ├── StringName.xml │ │ ├── StyleBox.xml │ │ ├── StyleBoxEmpty.xml │ │ ├── StyleBoxFlat.xml │ │ ├── StyleBoxLine.xml │ │ ├── StyleBoxTexture.xml │ │ ├── SubViewport.xml │ │ ├── SubViewportContainer.xml │ │ ├── SubtweenTweener.xml │ │ ├── SurfaceTool.xml │ │ ├── SyntaxHighlighter.xml │ │ ├── SystemFont.xml │ │ ├── TCPServer.xml │ │ ├── TLSOptions.xml │ │ ├── TabBar.xml │ │ ├── TabContainer.xml │ │ ├── TextEdit.xml │ │ ├── TextLine.xml │ │ ├── TextMesh.xml │ │ ├── TextParagraph.xml │ │ ├── TextServer.xml │ │ ├── TextServerDummy.xml │ │ ├── TextServerExtension.xml │ │ ├── TextServerManager.xml │ │ ├── Texture.xml │ │ ├── Texture2D.xml │ │ ├── Texture2DArray.xml │ │ ├── Texture2DArrayRD.xml │ │ ├── Texture2DRD.xml │ │ ├── Texture3D.xml │ │ ├── Texture3DRD.xml │ │ ├── TextureButton.xml │ │ ├── TextureCubemapArrayRD.xml │ │ ├── TextureCubemapRD.xml │ │ ├── TextureLayered.xml │ │ ├── TextureLayeredRD.xml │ │ ├── TextureProgressBar.xml │ │ ├── TextureRect.xml │ │ ├── Theme.xml │ │ ├── ThemeDB.xml │ │ ├── Thread.xml │ │ ├── TileData.xml │ │ ├── TileMap.xml │ │ ├── TileMapLayer.xml │ │ ├── TileMapPattern.xml │ │ ├── TileSet.xml │ │ ├── TileSetAtlasSource.xml │ │ ├── TileSetScenesCollectionSource.xml │ │ ├── TileSetSource.xml │ │ ├── Time.xml │ │ ├── Timer.xml │ │ ├── TorusMesh.xml │ │ ├── TouchScreenButton.xml │ │ ├── Transform2D.xml │ │ ├── Transform3D.xml │ │ ├── Translation.xml │ │ ├── TranslationDomain.xml │ │ ├── TranslationServer.xml │ │ ├── Tree.xml │ │ ├── TreeItem.xml │ │ ├── TriangleMesh.xml │ │ ├── TubeTrailMesh.xml │ │ ├── Tween.xml │ │ ├── Tweener.xml │ │ ├── TwoBoneIK3D.xml │ │ ├── UDPServer.xml │ │ ├── UDSServer.xml │ │ ├── UndoRedo.xml │ │ ├── UniformSetCacheRD.xml │ │ ├── VBoxContainer.xml │ │ ├── VFlowContainer.xml │ │ ├── VScrollBar.xml │ │ ├── VSeparator.xml │ │ ├── VSlider.xml │ │ ├── VSplitContainer.xml │ │ ├── Variant.xml │ │ ├── Vector2.xml │ │ ├── Vector2i.xml │ │ ├── Vector3.xml │ │ ├── Vector3i.xml │ │ ├── Vector4.xml │ │ ├── Vector4i.xml │ │ ├── VehicleBody3D.xml │ │ ├── VehicleWheel3D.xml │ │ ├── VideoStream.xml │ │ ├── VideoStreamPlayback.xml │ │ ├── VideoStreamPlayer.xml │ │ ├── Viewport.xml │ │ ├── ViewportTexture.xml │ │ ├── VirtualJoystick.xml │ │ ├── VisibleOnScreenEnabler2D.xml │ │ ├── VisibleOnScreenEnabler3D.xml │ │ ├── VisibleOnScreenNotifier2D.xml │ │ ├── VisibleOnScreenNotifier3D.xml │ │ ├── VisualInstance3D.xml │ │ ├── VisualShader.xml │ │ ├── VisualShaderNode.xml │ │ ├── VisualShaderNodeBillboard.xml │ │ ├── VisualShaderNodeBooleanConstant.xml │ │ ├── VisualShaderNodeBooleanParameter.xml │ │ ├── VisualShaderNodeClamp.xml │ │ ├── VisualShaderNodeColorConstant.xml │ │ ├── VisualShaderNodeColorFunc.xml │ │ ├── VisualShaderNodeColorOp.xml │ │ ├── VisualShaderNodeColorParameter.xml │ │ ├── VisualShaderNodeComment.xml │ │ ├── VisualShaderNodeCompare.xml │ │ ├── VisualShaderNodeConstant.xml │ │ ├── VisualShaderNodeCubemap.xml │ │ ├── VisualShaderNodeCubemapParameter.xml │ │ ├── VisualShaderNodeCurveTexture.xml │ │ ├── VisualShaderNodeCurveXYZTexture.xml │ │ ├── VisualShaderNodeCustom.xml │ │ ├── VisualShaderNodeDerivativeFunc.xml │ │ ├── VisualShaderNodeDeterminant.xml │ │ ├── VisualShaderNodeDistanceFade.xml │ │ ├── VisualShaderNodeDotProduct.xml │ │ ├── VisualShaderNodeExpression.xml │ │ ├── VisualShaderNodeFaceForward.xml │ │ ├── VisualShaderNodeFloatConstant.xml │ │ ├── VisualShaderNodeFloatFunc.xml │ │ ├── VisualShaderNodeFloatOp.xml │ │ ├── VisualShaderNodeFloatParameter.xml │ │ ├── VisualShaderNodeFrame.xml │ │ ├── VisualShaderNodeFresnel.xml │ │ ├── VisualShaderNodeGlobalExpression.xml │ │ ├── VisualShaderNodeGroupBase.xml │ │ ├── VisualShaderNodeIf.xml │ │ ├── VisualShaderNodeInput.xml │ │ ├── VisualShaderNodeIntConstant.xml │ │ ├── VisualShaderNodeIntFunc.xml │ │ ├── VisualShaderNodeIntOp.xml │ │ ├── VisualShaderNodeIntParameter.xml │ │ ├── VisualShaderNodeIs.xml │ │ ├── VisualShaderNodeLinearSceneDepth.xml │ │ ├── VisualShaderNodeMix.xml │ │ ├── VisualShaderNodeMultiplyAdd.xml │ │ ├── VisualShaderNodeOuterProduct.xml │ │ ├── VisualShaderNodeOutput.xml │ │ ├── VisualShaderNodeParameter.xml │ │ ├── VisualShaderNodeParameterRef.xml │ │ ├── VisualShaderNodeParticleAccelerator.xml │ │ ├── VisualShaderNodeParticleBoxEmitter.xml │ │ ├── VisualShaderNodeParticleConeVelocity.xml │ │ ├── VisualShaderNodeParticleEmit.xml │ │ ├── VisualShaderNodeParticleEmitter.xml │ │ ├── VisualShaderNodeParticleMeshEmitter.xml │ │ ├── VisualShaderNodeParticleMultiplyByAxisAngle.xml │ │ ├── VisualShaderNodeParticleOutput.xml │ │ ├── VisualShaderNodeParticleRandomness.xml │ │ ├── VisualShaderNodeParticleRingEmitter.xml │ │ ├── VisualShaderNodeParticleSphereEmitter.xml │ │ ├── VisualShaderNodeProximityFade.xml │ │ ├── VisualShaderNodeRandomRange.xml │ │ ├── VisualShaderNodeRemap.xml │ │ ├── VisualShaderNodeReroute.xml │ │ ├── VisualShaderNodeResizableBase.xml │ │ ├── VisualShaderNodeRotationByAxis.xml │ │ ├── VisualShaderNodeSDFRaymarch.xml │ │ ├── VisualShaderNodeSDFToScreenUV.xml │ │ ├── VisualShaderNodeSample3D.xml │ │ ├── VisualShaderNodeScreenNormalWorldSpace.xml │ │ ├── VisualShaderNodeScreenUVToSDF.xml │ │ ├── VisualShaderNodeSmoothStep.xml │ │ ├── VisualShaderNodeStep.xml │ │ ├── VisualShaderNodeSwitch.xml │ │ ├── VisualShaderNodeTexture.xml │ │ ├── VisualShaderNodeTexture2DArray.xml │ │ ├── VisualShaderNodeTexture2DArrayParameter.xml │ │ ├── VisualShaderNodeTexture2DParameter.xml │ │ ├── VisualShaderNodeTexture3D.xml │ │ ├── VisualShaderNodeTexture3DParameter.xml │ │ ├── VisualShaderNodeTextureParameter.xml │ │ ├── VisualShaderNodeTextureParameterTriplanar.xml │ │ ├── VisualShaderNodeTextureSDF.xml │ │ ├── VisualShaderNodeTextureSDFNormal.xml │ │ ├── VisualShaderNodeTransformCompose.xml │ │ ├── VisualShaderNodeTransformConstant.xml │ │ ├── VisualShaderNodeTransformDecompose.xml │ │ ├── VisualShaderNodeTransformFunc.xml │ │ ├── VisualShaderNodeTransformOp.xml │ │ ├── VisualShaderNodeTransformParameter.xml │ │ ├── VisualShaderNodeTransformVecMult.xml │ │ ├── VisualShaderNodeUIntConstant.xml │ │ ├── VisualShaderNodeUIntFunc.xml │ │ ├── VisualShaderNodeUIntOp.xml │ │ ├── VisualShaderNodeUIntParameter.xml │ │ ├── VisualShaderNodeUVFunc.xml │ │ ├── VisualShaderNodeUVPolarCoord.xml │ │ ├── VisualShaderNodeVarying.xml │ │ ├── VisualShaderNodeVaryingGetter.xml │ │ ├── VisualShaderNodeVaryingSetter.xml │ │ ├── VisualShaderNodeVec2Constant.xml │ │ ├── VisualShaderNodeVec2Parameter.xml │ │ ├── VisualShaderNodeVec3Constant.xml │ │ ├── VisualShaderNodeVec3Parameter.xml │ │ ├── VisualShaderNodeVec4Constant.xml │ │ ├── VisualShaderNodeVec4Parameter.xml │ │ ├── VisualShaderNodeVectorBase.xml │ │ ├── VisualShaderNodeVectorCompose.xml │ │ ├── VisualShaderNodeVectorDecompose.xml │ │ ├── VisualShaderNodeVectorDistance.xml │ │ ├── VisualShaderNodeVectorFunc.xml │ │ ├── VisualShaderNodeVectorLen.xml │ │ ├── VisualShaderNodeVectorOp.xml │ │ ├── VisualShaderNodeVectorRefract.xml │ │ ├── VisualShaderNodeWorldPositionFromDepth.xml │ │ ├── VoxelGI.xml │ │ ├── VoxelGIData.xml │ │ ├── WeakRef.xml │ │ ├── Window.xml │ │ ├── WorkerThreadPool.xml │ │ ├── World2D.xml │ │ ├── World3D.xml │ │ ├── WorldBoundaryShape2D.xml │ │ ├── WorldBoundaryShape3D.xml │ │ ├── WorldEnvironment.xml │ │ ├── X509Certificate.xml │ │ ├── XMLParser.xml │ │ ├── XRAnchor3D.xml │ │ ├── XRBodyModifier3D.xml │ │ ├── XRBodyTracker.xml │ │ ├── XRCamera3D.xml │ │ ├── XRController3D.xml │ │ ├── XRControllerTracker.xml │ │ ├── XRFaceModifier3D.xml │ │ ├── XRFaceTracker.xml │ │ ├── XRHandModifier3D.xml │ │ ├── XRHandTracker.xml │ │ ├── XRInterface.xml │ │ ├── XRInterfaceExtension.xml │ │ ├── XRNode3D.xml │ │ ├── XROrigin3D.xml │ │ ├── XRPose.xml │ │ ├── XRPositionalTracker.xml │ │ ├── XRServer.xml │ │ ├── XRTracker.xml │ │ ├── XRVRS.xml │ │ ├── bool.xml │ │ ├── float.xml │ │ └── int.xml │ ├── tools/ │ │ ├── doc_status.py │ │ └── make_rst.py │ └── translations/ │ ├── de.po │ ├── es.po │ ├── fr.po │ ├── ga.po │ ├── it.po │ ├── ko.po │ ├── ru.po │ ├── ta.po │ ├── uk.po │ ├── zh_Hans.po │ └── zh_Hant.po ├── drivers/ │ ├── SCsub │ ├── accesskit/ │ │ ├── SCsub │ │ ├── accessibility_server_accesskit.cpp │ │ └── accessibility_server_accesskit.h │ ├── alsa/ │ │ ├── SCsub │ │ ├── asound-so_wrap.c │ │ ├── asound-so_wrap.h │ │ ├── audio_driver_alsa.cpp │ │ └── audio_driver_alsa.h │ ├── alsamidi/ │ │ ├── SCsub │ │ ├── midi_driver_alsamidi.cpp │ │ └── midi_driver_alsamidi.h │ ├── apple/ │ │ ├── SCsub │ │ ├── foundation_helpers.h │ │ ├── foundation_helpers.mm │ │ ├── os_log_logger.cpp │ │ ├── os_log_logger.h │ │ ├── thread_apple.cpp │ │ └── thread_apple.h │ ├── apple_embedded/ │ │ ├── SCsub │ │ ├── app.swift │ │ ├── app_delegate_service.h │ │ ├── app_delegate_service.mm │ │ ├── apple_embedded.h │ │ ├── apple_embedded.mm │ │ ├── bridging_header_apple_embedded.h │ │ ├── display_layer_apple_embedded.h │ │ ├── display_server_apple_embedded.h │ │ ├── display_server_apple_embedded.mm │ │ ├── godot_app_delegate.h │ │ ├── godot_app_delegate.mm │ │ ├── godot_keyboard_input_view.h │ │ ├── godot_keyboard_input_view.mm │ │ ├── godot_view_apple_embedded.h │ │ ├── godot_view_apple_embedded.mm │ │ ├── godot_view_controller.h │ │ ├── godot_view_controller.mm │ │ ├── godot_view_renderer.h │ │ ├── godot_view_renderer.mm │ │ ├── key_mapping_apple_embedded.h │ │ ├── key_mapping_apple_embedded.mm │ │ ├── main_utilities.h │ │ ├── main_utilities.mm │ │ ├── os_apple_embedded.h │ │ ├── os_apple_embedded.mm │ │ ├── platform_config.h │ │ ├── rendering_context_driver_vulkan_apple_embedded.h │ │ ├── rendering_context_driver_vulkan_apple_embedded.mm │ │ ├── tts_apple_embedded.h │ │ └── tts_apple_embedded.mm │ ├── backtrace/ │ │ └── SCsub │ ├── coreaudio/ │ │ ├── SCsub │ │ ├── audio_driver_coreaudio.h │ │ └── audio_driver_coreaudio.mm │ ├── coremidi/ │ │ ├── SCsub │ │ ├── midi_driver_coremidi.h │ │ └── midi_driver_coremidi.mm │ ├── d3d12/ │ │ ├── SCsub │ │ ├── d3d12_godot_nir_bridge.h │ │ ├── d3d12_hooks.cpp │ │ ├── d3d12_hooks.h │ │ ├── dxil_hash.cpp │ │ ├── dxil_hash.h │ │ ├── godot_d3d12ma.h │ │ ├── godot_d3dx12.h │ │ ├── godot_nir.h │ │ ├── rendering_context_driver_d3d12.cpp │ │ ├── rendering_context_driver_d3d12.h │ │ ├── rendering_device_driver_d3d12.cpp │ │ ├── rendering_device_driver_d3d12.h │ │ ├── rendering_shader_container_d3d12.cpp │ │ └── rendering_shader_container_d3d12.h │ ├── egl/ │ │ ├── SCsub │ │ ├── egl_manager.cpp │ │ └── egl_manager.h │ ├── gl_context/ │ │ └── SCsub │ ├── gles3/ │ │ ├── SCsub │ │ ├── effects/ │ │ │ ├── SCsub │ │ │ ├── copy_effects.cpp │ │ │ ├── copy_effects.h │ │ │ ├── cubemap_filter.cpp │ │ │ ├── cubemap_filter.h │ │ │ ├── feed_effects.cpp │ │ │ ├── feed_effects.h │ │ │ ├── glow.cpp │ │ │ ├── glow.h │ │ │ ├── post_effects.cpp │ │ │ └── post_effects.h │ │ ├── environment/ │ │ │ ├── SCsub │ │ │ ├── fog.cpp │ │ │ ├── fog.h │ │ │ ├── gi.cpp │ │ │ └── gi.h │ │ ├── rasterizer_canvas_gles3.cpp │ │ ├── rasterizer_canvas_gles3.h │ │ ├── rasterizer_gles3.cpp │ │ ├── rasterizer_gles3.h │ │ ├── rasterizer_scene_gles3.cpp │ │ ├── rasterizer_scene_gles3.h │ │ ├── rasterizer_util_gles3.cpp │ │ ├── rasterizer_util_gles3.h │ │ ├── shader_gles3.cpp │ │ ├── shader_gles3.h │ │ ├── shaders/ │ │ │ ├── SCsub │ │ │ ├── canvas.glsl │ │ │ ├── canvas_occlusion.glsl │ │ │ ├── canvas_sdf.glsl │ │ │ ├── canvas_uniforms_inc.glsl │ │ │ ├── cube_to_dp.glsl │ │ │ ├── effect_blur.glsl │ │ │ ├── effects/ │ │ │ │ ├── SCsub │ │ │ │ ├── copy.glsl │ │ │ │ ├── cubemap_filter.glsl │ │ │ │ ├── glow.glsl │ │ │ │ └── post.glsl │ │ │ ├── feed.glsl │ │ │ ├── lens_distorted.glsl │ │ │ ├── particles.glsl │ │ │ ├── particles_copy.glsl │ │ │ ├── s4ao_inc.glsl │ │ │ ├── s4ao_mega_inc.glsl │ │ │ ├── s4ao_micro_inc.glsl │ │ │ ├── scene.glsl │ │ │ ├── skeleton.glsl │ │ │ ├── sky.glsl │ │ │ ├── stdlib_inc.glsl │ │ │ ├── tex_blit.glsl │ │ │ └── tonemap_inc.glsl │ │ └── storage/ │ │ ├── SCsub │ │ ├── config.cpp │ │ ├── config.h │ │ ├── light_storage.cpp │ │ ├── light_storage.h │ │ ├── material_storage.cpp │ │ ├── material_storage.h │ │ ├── mesh_storage.cpp │ │ ├── mesh_storage.h │ │ ├── particles_storage.cpp │ │ ├── particles_storage.h │ │ ├── render_scene_buffers_gles3.cpp │ │ ├── render_scene_buffers_gles3.h │ │ ├── texture_storage.cpp │ │ ├── texture_storage.h │ │ ├── utilities.cpp │ │ └── utilities.h │ ├── metal/ │ │ ├── README.md │ │ ├── SCsub │ │ ├── inflection_map.h │ │ ├── metal3_objects.cpp │ │ ├── metal3_objects.h │ │ ├── metal_device_profile.cpp │ │ ├── metal_device_profile.h │ │ ├── metal_device_properties.cpp │ │ ├── metal_device_properties.h │ │ ├── metal_objects_shared.cpp │ │ ├── metal_objects_shared.h │ │ ├── metal_utils.h │ │ ├── pixel_formats.cpp │ │ ├── pixel_formats.h │ │ ├── rendering_context_driver_metal.cpp │ │ ├── rendering_context_driver_metal.h │ │ ├── rendering_device_driver_metal.cpp │ │ ├── rendering_device_driver_metal.h │ │ ├── rendering_device_driver_metal3.cpp │ │ ├── rendering_device_driver_metal3.h │ │ ├── rendering_shader_container_metal.cpp │ │ ├── rendering_shader_container_metal.h │ │ └── sha256_digest.h │ ├── png/ │ │ ├── SCsub │ │ ├── image_loader_png.cpp │ │ ├── image_loader_png.h │ │ ├── png_driver_common.cpp │ │ ├── png_driver_common.h │ │ ├── resource_saver_png.cpp │ │ └── resource_saver_png.h │ ├── pulseaudio/ │ │ ├── SCsub │ │ ├── audio_driver_pulseaudio.cpp │ │ ├── audio_driver_pulseaudio.h │ │ ├── pulse-so_wrap.c │ │ └── pulse-so_wrap.h │ ├── register_driver_types.cpp │ ├── register_driver_types.h │ ├── sdl/ │ │ ├── SCsub │ │ ├── SDL_build_config_private.h │ │ ├── joypad_sdl.cpp │ │ └── joypad_sdl.h │ ├── unix/ │ │ ├── SCsub │ │ ├── dir_access_unix.cpp │ │ ├── dir_access_unix.h │ │ ├── file_access_unix.cpp │ │ ├── file_access_unix.h │ │ ├── file_access_unix_pipe.cpp │ │ ├── file_access_unix_pipe.h │ │ ├── ip_unix.cpp │ │ ├── ip_unix.h │ │ ├── net_socket_unix.cpp │ │ ├── net_socket_unix.h │ │ ├── os_unix.cpp │ │ ├── os_unix.h │ │ ├── syslog_logger.cpp │ │ ├── syslog_logger.h │ │ ├── thread_posix.cpp │ │ └── thread_posix.h │ ├── vulkan/ │ │ ├── SCsub │ │ ├── godot_vulkan.h │ │ ├── rendering_context_driver_vulkan.cpp │ │ ├── rendering_context_driver_vulkan.h │ │ ├── rendering_device_driver_vulkan.cpp │ │ ├── rendering_device_driver_vulkan.h │ │ ├── rendering_shader_container_vulkan.cpp │ │ ├── rendering_shader_container_vulkan.h │ │ ├── vulkan_hooks.cpp │ │ └── vulkan_hooks.h │ ├── wasapi/ │ │ ├── SCsub │ │ ├── audio_driver_wasapi.cpp │ │ └── audio_driver_wasapi.h │ ├── windows/ │ │ ├── SCsub │ │ ├── dir_access_windows.cpp │ │ ├── dir_access_windows.h │ │ ├── file_access_windows.cpp │ │ ├── file_access_windows.h │ │ ├── file_access_windows_pipe.cpp │ │ ├── file_access_windows_pipe.h │ │ ├── ip_windows.cpp │ │ ├── ip_windows.h │ │ ├── net_socket_winsock.cpp │ │ ├── net_socket_winsock.h │ │ ├── thread_windows.cpp │ │ └── thread_windows.h │ ├── winmidi/ │ │ ├── SCsub │ │ ├── midi_driver_winmidi.cpp │ │ └── midi_driver_winmidi.h │ └── xaudio2/ │ ├── SCsub │ ├── audio_driver_xaudio2.cpp │ └── audio_driver_xaudio2.h ├── editor/ │ ├── SCsub │ ├── animation/ │ │ ├── SCsub │ │ ├── animation_bezier_editor.cpp │ │ ├── animation_bezier_editor.h │ │ ├── animation_blend_space_1d_editor.cpp │ │ ├── animation_blend_space_1d_editor.h │ │ ├── animation_blend_space_2d_editor.cpp │ │ ├── animation_blend_space_2d_editor.h │ │ ├── animation_blend_tree_editor_plugin.cpp │ │ ├── animation_blend_tree_editor_plugin.h │ │ ├── animation_library_editor.cpp │ │ ├── animation_library_editor.h │ │ ├── animation_player_editor_plugin.cpp │ │ ├── animation_player_editor_plugin.h │ │ ├── animation_state_machine_editor.cpp │ │ ├── animation_state_machine_editor.h │ │ ├── animation_track_editor.cpp │ │ ├── animation_track_editor.h │ │ ├── animation_track_editor_plugins.cpp │ │ ├── animation_track_editor_plugins.h │ │ ├── animation_tree_editor_plugin.cpp │ │ └── animation_tree_editor_plugin.h │ ├── asset_library/ │ │ ├── SCsub │ │ ├── asset_library_editor_plugin.cpp │ │ ├── asset_library_editor_plugin.h │ │ ├── editor_asset_installer.cpp │ │ └── editor_asset_installer.h │ ├── audio/ │ │ ├── SCsub │ │ ├── audio_stream_editor_plugin.cpp │ │ ├── audio_stream_editor_plugin.h │ │ ├── audio_stream_preview.cpp │ │ ├── audio_stream_preview.h │ │ ├── audio_stream_randomizer_editor_plugin.cpp │ │ ├── audio_stream_randomizer_editor_plugin.h │ │ ├── editor_audio_buses.cpp │ │ └── editor_audio_buses.h │ ├── debugger/ │ │ ├── SCsub │ │ ├── debug_adapter/ │ │ │ ├── SCsub │ │ │ ├── debug_adapter_parser.cpp │ │ │ ├── debug_adapter_parser.h │ │ │ ├── debug_adapter_protocol.cpp │ │ │ ├── debug_adapter_protocol.h │ │ │ ├── debug_adapter_server.cpp │ │ │ ├── debug_adapter_server.h │ │ │ └── debug_adapter_types.h │ │ ├── debugger_editor_plugin.cpp │ │ ├── debugger_editor_plugin.h │ │ ├── editor_debugger_inspector.cpp │ │ ├── editor_debugger_inspector.h │ │ ├── editor_debugger_node.cpp │ │ ├── editor_debugger_node.h │ │ ├── editor_debugger_plugin.cpp │ │ ├── editor_debugger_plugin.h │ │ ├── editor_debugger_server.cpp │ │ ├── editor_debugger_server.h │ │ ├── editor_debugger_tree.cpp │ │ ├── editor_debugger_tree.h │ │ ├── editor_expression_evaluator.cpp │ │ ├── editor_expression_evaluator.h │ │ ├── editor_file_server.cpp │ │ ├── editor_file_server.h │ │ ├── editor_performance_profiler.cpp │ │ ├── editor_performance_profiler.h │ │ ├── editor_profiler.cpp │ │ ├── editor_profiler.h │ │ ├── editor_visual_profiler.cpp │ │ ├── editor_visual_profiler.h │ │ ├── script_editor_debugger.cpp │ │ └── script_editor_debugger.h │ ├── doc/ │ │ ├── SCsub │ │ ├── doc_tools.cpp │ │ ├── doc_tools.h │ │ ├── editor_help.cpp │ │ ├── editor_help.h │ │ ├── editor_help_search.cpp │ │ └── editor_help_search.h │ ├── docks/ │ │ ├── SCsub │ │ ├── dock_tab_container.cpp │ │ ├── dock_tab_container.h │ │ ├── editor_dock.cpp │ │ ├── editor_dock.h │ │ ├── editor_dock_manager.cpp │ │ ├── editor_dock_manager.h │ │ ├── filesystem_dock.cpp │ │ ├── filesystem_dock.h │ │ ├── groups_dock.cpp │ │ ├── groups_dock.h │ │ ├── groups_editor.cpp │ │ ├── groups_editor.h │ │ ├── history_dock.cpp │ │ ├── history_dock.h │ │ ├── import_dock.cpp │ │ ├── import_dock.h │ │ ├── inspector_dock.cpp │ │ ├── inspector_dock.h │ │ ├── scene_tree_dock.cpp │ │ ├── scene_tree_dock.h │ │ ├── signals_dock.cpp │ │ └── signals_dock.h │ ├── editor_builders.py │ ├── editor_data.cpp │ ├── editor_data.h │ ├── editor_interface.compat.inc │ ├── editor_interface.cpp │ ├── editor_interface.h │ ├── editor_log.cpp │ ├── editor_log.h │ ├── editor_main_screen.cpp │ ├── editor_main_screen.h │ ├── editor_node.cpp │ ├── editor_node.h │ ├── editor_string_names.h │ ├── editor_undo_redo_manager.compat.inc │ ├── editor_undo_redo_manager.cpp │ ├── editor_undo_redo_manager.h │ ├── export/ │ │ ├── SCsub │ │ ├── codesign.cpp │ │ ├── codesign.h │ │ ├── dedicated_server_export_plugin.cpp │ │ ├── dedicated_server_export_plugin.h │ │ ├── editor_export.cpp │ │ ├── editor_export.h │ │ ├── editor_export_platform.compat.inc │ │ ├── editor_export_platform.cpp │ │ ├── editor_export_platform.h │ │ ├── editor_export_platform_apple_embedded.cpp │ │ ├── editor_export_platform_apple_embedded.h │ │ ├── editor_export_platform_extension.cpp │ │ ├── editor_export_platform_extension.h │ │ ├── editor_export_platform_pc.cpp │ │ ├── editor_export_platform_pc.h │ │ ├── editor_export_plugin.cpp │ │ ├── editor_export_plugin.h │ │ ├── editor_export_preset.compat.inc │ │ ├── editor_export_preset.cpp │ │ ├── editor_export_preset.h │ │ ├── export_template_manager.cpp │ │ ├── export_template_manager.h │ │ ├── gdextension_export_plugin.h │ │ ├── lipo.cpp │ │ ├── lipo.h │ │ ├── macho.cpp │ │ ├── macho.h │ │ ├── plugin_config_apple_embedded.cpp │ │ ├── plugin_config_apple_embedded.h │ │ ├── project_export.cpp │ │ ├── project_export.h │ │ ├── project_zip_packer.cpp │ │ ├── project_zip_packer.h │ │ ├── register_exporters.h │ │ ├── shader_baker_export_plugin.cpp │ │ └── shader_baker_export_plugin.h │ ├── file_system/ │ │ ├── SCsub │ │ ├── dependency_editor.cpp │ │ ├── dependency_editor.h │ │ ├── editor_file_system.cpp │ │ ├── editor_file_system.h │ │ ├── editor_paths.cpp │ │ ├── editor_paths.h │ │ ├── file_info.cpp │ │ └── file_info.h │ ├── gui/ │ │ ├── SCsub │ │ ├── code_editor.cpp │ │ ├── code_editor.h │ │ ├── create_dialog.cpp │ │ ├── create_dialog.h │ │ ├── credits_roll.cpp │ │ ├── credits_roll.h │ │ ├── directory_create_dialog.cpp │ │ ├── directory_create_dialog.h │ │ ├── editor_about.cpp │ │ ├── editor_about.h │ │ ├── editor_bottom_panel.cpp │ │ ├── editor_bottom_panel.h │ │ ├── editor_dir_dialog.cpp │ │ ├── editor_dir_dialog.h │ │ ├── editor_file_dialog.cpp │ │ ├── editor_file_dialog.h │ │ ├── editor_object_selector.cpp │ │ ├── editor_object_selector.h │ │ ├── editor_quick_open_dialog.cpp │ │ ├── editor_quick_open_dialog.h │ │ ├── editor_spin_slider.cpp │ │ ├── editor_spin_slider.h │ │ ├── editor_title_bar.cpp │ │ ├── editor_title_bar.h │ │ ├── editor_toaster.cpp │ │ ├── editor_toaster.h │ │ ├── editor_validation_panel.cpp │ │ ├── editor_validation_panel.h │ │ ├── editor_variant_type_selectors.cpp │ │ ├── editor_variant_type_selectors.h │ │ ├── editor_version_button.cpp │ │ ├── editor_version_button.h │ │ ├── editor_zoom_widget.cpp │ │ ├── editor_zoom_widget.h │ │ ├── filter_line_edit.cpp │ │ ├── filter_line_edit.h │ │ ├── progress_dialog.cpp │ │ ├── progress_dialog.h │ │ ├── touch_actions_panel.cpp │ │ ├── touch_actions_panel.h │ │ ├── window_wrapper.cpp │ │ └── window_wrapper.h │ ├── icons/ │ │ ├── README.md │ │ ├── SCsub │ │ └── editor_icons_builders.py │ ├── import/ │ │ ├── 3d/ │ │ │ ├── collada.cpp │ │ │ ├── collada.h │ │ │ ├── editor_import_collada.cpp │ │ │ ├── editor_import_collada.h │ │ │ ├── post_import_plugin_skeleton_renamer.cpp │ │ │ ├── post_import_plugin_skeleton_renamer.h │ │ │ ├── post_import_plugin_skeleton_rest_fixer.cpp │ │ │ ├── post_import_plugin_skeleton_rest_fixer.h │ │ │ ├── post_import_plugin_skeleton_track_organizer.cpp │ │ │ ├── post_import_plugin_skeleton_track_organizer.h │ │ │ ├── resource_importer_obj.cpp │ │ │ ├── resource_importer_obj.h │ │ │ ├── resource_importer_scene.cpp │ │ │ ├── resource_importer_scene.h │ │ │ ├── scene_import_settings.cpp │ │ │ └── scene_import_settings.h │ │ ├── SCsub │ │ ├── atlas_import_failed.xpm │ │ ├── audio_stream_import_settings.cpp │ │ ├── audio_stream_import_settings.h │ │ ├── dynamic_font_import_settings.cpp │ │ ├── dynamic_font_import_settings.h │ │ ├── editor_atlas_packer.cpp │ │ ├── editor_atlas_packer.h │ │ ├── editor_import_plugin.cpp │ │ ├── editor_import_plugin.h │ │ ├── fbx_importer_manager.cpp │ │ ├── fbx_importer_manager.h │ │ ├── import_defaults_editor.cpp │ │ ├── import_defaults_editor.h │ │ ├── resource_importer_bitmask.cpp │ │ ├── resource_importer_bitmask.h │ │ ├── resource_importer_bmfont.cpp │ │ ├── resource_importer_bmfont.h │ │ ├── resource_importer_csv_translation.cpp │ │ ├── resource_importer_csv_translation.h │ │ ├── resource_importer_dynamic_font.cpp │ │ ├── resource_importer_dynamic_font.h │ │ ├── resource_importer_image.cpp │ │ ├── resource_importer_image.h │ │ ├── resource_importer_imagefont.cpp │ │ ├── resource_importer_imagefont.h │ │ ├── resource_importer_layered_texture.cpp │ │ ├── resource_importer_layered_texture.h │ │ ├── resource_importer_shader_file.cpp │ │ ├── resource_importer_shader_file.h │ │ ├── resource_importer_svg.cpp │ │ ├── resource_importer_svg.h │ │ ├── resource_importer_texture.cpp │ │ ├── resource_importer_texture.h │ │ ├── resource_importer_texture_atlas.cpp │ │ ├── resource_importer_texture_atlas.h │ │ ├── resource_importer_texture_settings.cpp │ │ ├── resource_importer_texture_settings.h │ │ ├── resource_importer_wav.cpp │ │ ├── resource_importer_wav.h │ │ └── unicode_ranges.inc │ ├── inspector/ │ │ ├── SCsub │ │ ├── add_metadata_dialog.cpp │ │ ├── add_metadata_dialog.h │ │ ├── editor_context_menu_plugin.cpp │ │ ├── editor_context_menu_plugin.h │ │ ├── editor_inspector.compat.inc │ │ ├── editor_inspector.cpp │ │ ├── editor_inspector.h │ │ ├── editor_preview_plugins.cpp │ │ ├── editor_preview_plugins.h │ │ ├── editor_properties.cpp │ │ ├── editor_properties.h │ │ ├── editor_properties_array_dict.cpp │ │ ├── editor_properties_array_dict.h │ │ ├── editor_properties_vector.cpp │ │ ├── editor_properties_vector.h │ │ ├── editor_property_name_processor.cpp │ │ ├── editor_property_name_processor.h │ │ ├── editor_resource_picker.cpp │ │ ├── editor_resource_picker.h │ │ ├── editor_resource_preview.cpp │ │ ├── editor_resource_preview.h │ │ ├── editor_resource_tooltip_plugins.cpp │ │ ├── editor_resource_tooltip_plugins.h │ │ ├── editor_sectioned_inspector.cpp │ │ ├── editor_sectioned_inspector.h │ │ ├── input_event_editor_plugin.cpp │ │ ├── input_event_editor_plugin.h │ │ ├── multi_node_edit.cpp │ │ ├── multi_node_edit.h │ │ ├── property_selector.cpp │ │ ├── property_selector.h │ │ ├── sub_viewport_preview_editor_plugin.cpp │ │ ├── sub_viewport_preview_editor_plugin.h │ │ ├── tool_button_editor_plugin.cpp │ │ └── tool_button_editor_plugin.h │ ├── plugins/ │ │ ├── SCsub │ │ ├── editor_plugin.compat.inc │ │ ├── editor_plugin.cpp │ │ ├── editor_plugin.h │ │ ├── editor_plugin_list.cpp │ │ ├── editor_plugin_list.h │ │ ├── editor_plugin_settings.cpp │ │ ├── editor_plugin_settings.h │ │ ├── editor_resource_conversion_plugin.cpp │ │ ├── editor_resource_conversion_plugin.h │ │ ├── plugin_config_dialog.cpp │ │ └── plugin_config_dialog.h │ ├── project_manager/ │ │ ├── SCsub │ │ ├── engine_update_label.cpp │ │ ├── engine_update_label.h │ │ ├── project_dialog.cpp │ │ ├── project_dialog.h │ │ ├── project_list.cpp │ │ ├── project_list.h │ │ ├── project_manager.cpp │ │ ├── project_manager.h │ │ ├── project_tag.cpp │ │ ├── project_tag.h │ │ ├── quick_settings_dialog.cpp │ │ └── quick_settings_dialog.h │ ├── project_upgrade/ │ │ ├── SCsub │ │ ├── project_converter_3_to_4.cpp │ │ ├── project_converter_3_to_4.h │ │ ├── project_upgrade_tool.cpp │ │ ├── project_upgrade_tool.h │ │ ├── renames_map_3_to_4.cpp │ │ └── renames_map_3_to_4.h │ ├── register_editor_types.cpp │ ├── register_editor_types.h │ ├── run/ │ │ ├── SCsub │ │ ├── editor_run.cpp │ │ ├── editor_run.h │ │ ├── editor_run_bar.cpp │ │ ├── editor_run_bar.h │ │ ├── editor_run_native.cpp │ │ ├── editor_run_native.h │ │ ├── embedded_process.cpp │ │ ├── embedded_process.h │ │ ├── game_view_plugin.cpp │ │ ├── game_view_plugin.h │ │ ├── run_instances_dialog.cpp │ │ └── run_instances_dialog.h │ ├── scene/ │ │ ├── 2d/ │ │ │ ├── SCsub │ │ │ ├── abstract_polygon_2d_editor.cpp │ │ │ ├── abstract_polygon_2d_editor.h │ │ │ ├── camera_2d_editor_plugin.cpp │ │ │ ├── camera_2d_editor_plugin.h │ │ │ ├── light_occluder_2d_editor_plugin.cpp │ │ │ ├── light_occluder_2d_editor_plugin.h │ │ │ ├── line_2d_editor_plugin.cpp │ │ │ ├── line_2d_editor_plugin.h │ │ │ ├── parallax_background_editor_plugin.cpp │ │ │ ├── parallax_background_editor_plugin.h │ │ │ ├── particles_2d_editor_plugin.cpp │ │ │ ├── particles_2d_editor_plugin.h │ │ │ ├── path_2d_editor_plugin.cpp │ │ │ ├── path_2d_editor_plugin.h │ │ │ ├── physics/ │ │ │ │ ├── SCsub │ │ │ │ ├── cast_2d_editor_plugin.cpp │ │ │ │ ├── cast_2d_editor_plugin.h │ │ │ │ ├── collision_polygon_2d_editor_plugin.cpp │ │ │ │ ├── collision_polygon_2d_editor_plugin.h │ │ │ │ ├── collision_shape_2d_editor_plugin.cpp │ │ │ │ └── collision_shape_2d_editor_plugin.h │ │ │ ├── polygon_2d_editor_plugin.cpp │ │ │ ├── polygon_2d_editor_plugin.h │ │ │ ├── scene_paint_2d_editor_plugin.cpp │ │ │ ├── scene_paint_2d_editor_plugin.h │ │ │ ├── skeleton_2d_editor_plugin.cpp │ │ │ ├── skeleton_2d_editor_plugin.h │ │ │ ├── sprite_2d_editor_plugin.cpp │ │ │ ├── sprite_2d_editor_plugin.h │ │ │ └── tiles/ │ │ │ ├── SCsub │ │ │ ├── atlas_merging_dialog.cpp │ │ │ ├── atlas_merging_dialog.h │ │ │ ├── tile_atlas_view.cpp │ │ │ ├── tile_atlas_view.h │ │ │ ├── tile_data_editors.cpp │ │ │ ├── tile_data_editors.h │ │ │ ├── tile_map_layer_editor.cpp │ │ │ ├── tile_map_layer_editor.h │ │ │ ├── tile_proxies_manager_dialog.cpp │ │ │ ├── tile_proxies_manager_dialog.h │ │ │ ├── tile_set_atlas_source_editor.cpp │ │ │ ├── tile_set_atlas_source_editor.h │ │ │ ├── tile_set_editor.cpp │ │ │ ├── tile_set_editor.h │ │ │ ├── tile_set_scenes_collection_source_editor.cpp │ │ │ ├── tile_set_scenes_collection_source_editor.h │ │ │ ├── tiles_editor_plugin.cpp │ │ │ └── tiles_editor_plugin.h │ │ ├── 3d/ │ │ │ ├── SCsub │ │ │ ├── bone_map_editor_plugin.cpp │ │ │ ├── bone_map_editor_plugin.h │ │ │ ├── camera_3d_editor_plugin.cpp │ │ │ ├── camera_3d_editor_plugin.h │ │ │ ├── gizmos/ │ │ │ │ ├── SCsub │ │ │ │ ├── audio_listener_3d_gizmo_plugin.cpp │ │ │ │ ├── audio_listener_3d_gizmo_plugin.h │ │ │ │ ├── audio_stream_player_3d_gizmo_plugin.cpp │ │ │ │ ├── audio_stream_player_3d_gizmo_plugin.h │ │ │ │ ├── camera_3d_gizmo_plugin.cpp │ │ │ │ ├── camera_3d_gizmo_plugin.h │ │ │ │ ├── chain_ik_3d_gizmo_plugin.cpp │ │ │ │ ├── chain_ik_3d_gizmo_plugin.h │ │ │ │ ├── cpu_particles_3d_gizmo_plugin.cpp │ │ │ │ ├── cpu_particles_3d_gizmo_plugin.h │ │ │ │ ├── decal_gizmo_plugin.cpp │ │ │ │ ├── decal_gizmo_plugin.h │ │ │ │ ├── fog_volume_gizmo_plugin.cpp │ │ │ │ ├── fog_volume_gizmo_plugin.h │ │ │ │ ├── geometry_instance_3d_gizmo_plugin.cpp │ │ │ │ ├── geometry_instance_3d_gizmo_plugin.h │ │ │ │ ├── gizmo_3d_helper.cpp │ │ │ │ ├── gizmo_3d_helper.h │ │ │ │ ├── gpu_particles_3d_gizmo_plugin.cpp │ │ │ │ ├── gpu_particles_3d_gizmo_plugin.h │ │ │ │ ├── gpu_particles_collision_3d_gizmo_plugin.cpp │ │ │ │ ├── gpu_particles_collision_3d_gizmo_plugin.h │ │ │ │ ├── label_3d_gizmo_plugin.cpp │ │ │ │ ├── label_3d_gizmo_plugin.h │ │ │ │ ├── light_3d_gizmo_plugin.cpp │ │ │ │ ├── light_3d_gizmo_plugin.h │ │ │ │ ├── lightmap_gi_gizmo_plugin.cpp │ │ │ │ ├── lightmap_gi_gizmo_plugin.h │ │ │ │ ├── lightmap_probe_gizmo_plugin.cpp │ │ │ │ ├── lightmap_probe_gizmo_plugin.h │ │ │ │ ├── marker_3d_gizmo_plugin.cpp │ │ │ │ ├── marker_3d_gizmo_plugin.h │ │ │ │ ├── mesh_instance_3d_gizmo_plugin.cpp │ │ │ │ ├── mesh_instance_3d_gizmo_plugin.h │ │ │ │ ├── occluder_instance_3d_gizmo_plugin.cpp │ │ │ │ ├── occluder_instance_3d_gizmo_plugin.h │ │ │ │ ├── particles_3d_emission_shape_gizmo_plugin.cpp │ │ │ │ ├── particles_3d_emission_shape_gizmo_plugin.h │ │ │ │ ├── physics/ │ │ │ │ │ ├── SCsub │ │ │ │ │ ├── collision_object_3d_gizmo_plugin.cpp │ │ │ │ │ ├── collision_object_3d_gizmo_plugin.h │ │ │ │ │ ├── collision_polygon_3d_gizmo_plugin.cpp │ │ │ │ │ ├── collision_polygon_3d_gizmo_plugin.h │ │ │ │ │ ├── collision_shape_3d_gizmo_plugin.cpp │ │ │ │ │ ├── collision_shape_3d_gizmo_plugin.h │ │ │ │ │ ├── joint_3d_gizmo_plugin.cpp │ │ │ │ │ ├── joint_3d_gizmo_plugin.h │ │ │ │ │ ├── physics_bone_3d_gizmo_plugin.cpp │ │ │ │ │ ├── physics_bone_3d_gizmo_plugin.h │ │ │ │ │ ├── ray_cast_3d_gizmo_plugin.cpp │ │ │ │ │ ├── ray_cast_3d_gizmo_plugin.h │ │ │ │ │ ├── shape_cast_3d_gizmo_plugin.cpp │ │ │ │ │ ├── shape_cast_3d_gizmo_plugin.h │ │ │ │ │ ├── soft_body_3d_gizmo_plugin.cpp │ │ │ │ │ ├── soft_body_3d_gizmo_plugin.h │ │ │ │ │ ├── spring_arm_3d_gizmo_plugin.cpp │ │ │ │ │ ├── spring_arm_3d_gizmo_plugin.h │ │ │ │ │ ├── vehicle_body_3d_gizmo_plugin.cpp │ │ │ │ │ └── vehicle_body_3d_gizmo_plugin.h │ │ │ │ ├── reflection_probe_gizmo_plugin.cpp │ │ │ │ ├── reflection_probe_gizmo_plugin.h │ │ │ │ ├── spring_bone_3d_gizmo_plugin.cpp │ │ │ │ ├── spring_bone_3d_gizmo_plugin.h │ │ │ │ ├── sprite_base_3d_gizmo_plugin.cpp │ │ │ │ ├── sprite_base_3d_gizmo_plugin.h │ │ │ │ ├── two_bone_ik_3d_gizmo_plugin.cpp │ │ │ │ ├── two_bone_ik_3d_gizmo_plugin.h │ │ │ │ ├── visible_on_screen_notifier_3d_gizmo_plugin.cpp │ │ │ │ ├── visible_on_screen_notifier_3d_gizmo_plugin.h │ │ │ │ ├── voxel_gi_gizmo_plugin.cpp │ │ │ │ └── voxel_gi_gizmo_plugin.h │ │ │ ├── gpu_particles_collision_sdf_editor_plugin.cpp │ │ │ ├── gpu_particles_collision_sdf_editor_plugin.h │ │ │ ├── lightmap_gi_editor_plugin.cpp │ │ │ ├── lightmap_gi_editor_plugin.h │ │ │ ├── material_3d_conversion_plugins.cpp │ │ │ ├── material_3d_conversion_plugins.h │ │ │ ├── mesh_editor_plugin.cpp │ │ │ ├── mesh_editor_plugin.h │ │ │ ├── mesh_instance_3d_editor_plugin.cpp │ │ │ ├── mesh_instance_3d_editor_plugin.h │ │ │ ├── mesh_library_editor_plugin.cpp │ │ │ ├── mesh_library_editor_plugin.h │ │ │ ├── multimesh_editor_plugin.cpp │ │ │ ├── multimesh_editor_plugin.h │ │ │ ├── node_3d_editor_gizmos.cpp │ │ │ ├── node_3d_editor_gizmos.h │ │ │ ├── node_3d_editor_plugin.cpp │ │ │ ├── node_3d_editor_plugin.h │ │ │ ├── occluder_instance_3d_editor_plugin.cpp │ │ │ ├── occluder_instance_3d_editor_plugin.h │ │ │ ├── particles_3d_editor_plugin.cpp │ │ │ ├── particles_3d_editor_plugin.h │ │ │ ├── path_3d_editor_plugin.cpp │ │ │ ├── path_3d_editor_plugin.h │ │ │ ├── physics/ │ │ │ │ ├── SCsub │ │ │ │ ├── physical_bone_3d_editor_plugin.cpp │ │ │ │ └── physical_bone_3d_editor_plugin.h │ │ │ ├── polygon_3d_editor_plugin.cpp │ │ │ ├── polygon_3d_editor_plugin.h │ │ │ ├── root_motion_editor_plugin.cpp │ │ │ ├── root_motion_editor_plugin.h │ │ │ ├── skeleton_3d_editor_plugin.cpp │ │ │ ├── skeleton_3d_editor_plugin.h │ │ │ ├── skeleton_ik_3d_editor_plugin.cpp │ │ │ ├── skeleton_ik_3d_editor_plugin.h │ │ │ ├── voxel_gi_editor_plugin.cpp │ │ │ └── voxel_gi_editor_plugin.h │ │ ├── SCsub │ │ ├── canvas_item_editor_plugin.cpp │ │ ├── canvas_item_editor_plugin.h │ │ ├── connections_dialog.cpp │ │ ├── connections_dialog.h │ │ ├── curve_editor_plugin.cpp │ │ ├── curve_editor_plugin.h │ │ ├── editor_scene_tabs.cpp │ │ ├── editor_scene_tabs.h │ │ ├── gradient_editor_plugin.cpp │ │ ├── gradient_editor_plugin.h │ │ ├── group_settings_editor.cpp │ │ ├── group_settings_editor.h │ │ ├── gui/ │ │ │ ├── SCsub │ │ │ ├── control_editor_plugin.cpp │ │ │ ├── control_editor_plugin.h │ │ │ ├── font_config_plugin.cpp │ │ │ ├── font_config_plugin.h │ │ │ ├── margin_container_editor_plugin.cpp │ │ │ ├── margin_container_editor_plugin.h │ │ │ ├── style_box_editor_plugin.cpp │ │ │ ├── style_box_editor_plugin.h │ │ │ ├── theme_editor_plugin.cpp │ │ │ ├── theme_editor_plugin.h │ │ │ ├── theme_editor_preview.cpp │ │ │ ├── theme_editor_preview.h │ │ │ ├── virtual_joystick_editor_plugin.cpp │ │ │ └── virtual_joystick_editor_plugin.h │ │ ├── material_editor_plugin.cpp │ │ ├── material_editor_plugin.h │ │ ├── packed_scene_editor_plugin.cpp │ │ ├── packed_scene_editor_plugin.h │ │ ├── particle_process_material_editor_plugin.cpp │ │ ├── particle_process_material_editor_plugin.h │ │ ├── particles_editor_plugin.cpp │ │ ├── particles_editor_plugin.h │ │ ├── rename_dialog.cpp │ │ ├── rename_dialog.h │ │ ├── reparent_dialog.cpp │ │ ├── reparent_dialog.h │ │ ├── resource_preloader_editor_plugin.cpp │ │ ├── resource_preloader_editor_plugin.h │ │ ├── scene_create_dialog.cpp │ │ ├── scene_create_dialog.h │ │ ├── scene_tree_editor.cpp │ │ ├── scene_tree_editor.h │ │ ├── sprite_frames_editor_plugin.cpp │ │ ├── sprite_frames_editor_plugin.h │ │ └── texture/ │ │ ├── SCsub │ │ ├── bit_map_editor_plugin.cpp │ │ ├── bit_map_editor_plugin.h │ │ ├── color_channel_selector.cpp │ │ ├── color_channel_selector.h │ │ ├── gradient_texture_2d_editor_plugin.cpp │ │ ├── gradient_texture_2d_editor_plugin.h │ │ ├── texture_3d_editor_plugin.cpp │ │ ├── texture_3d_editor_plugin.h │ │ ├── texture_editor_plugin.cpp │ │ ├── texture_editor_plugin.h │ │ ├── texture_layered_editor_plugin.cpp │ │ ├── texture_layered_editor_plugin.h │ │ ├── texture_region_editor_plugin.cpp │ │ └── texture_region_editor_plugin.h │ ├── script/ │ │ ├── SCsub │ │ ├── editor_script.cpp │ │ ├── editor_script.h │ │ ├── editor_script_plugin.cpp │ │ ├── editor_script_plugin.h │ │ ├── find_in_files.cpp │ │ ├── find_in_files.h │ │ ├── script_create_dialog.cpp │ │ ├── script_create_dialog.h │ │ ├── script_editor_base.cpp │ │ ├── script_editor_base.h │ │ ├── script_editor_plugin.cpp │ │ ├── script_editor_plugin.h │ │ ├── script_text_editor.cpp │ │ ├── script_text_editor.h │ │ ├── syntax_highlighters.cpp │ │ ├── syntax_highlighters.h │ │ ├── text_editor.cpp │ │ └── text_editor.h │ ├── settings/ │ │ ├── SCsub │ │ ├── action_map_editor.cpp │ │ ├── action_map_editor.h │ │ ├── editor_autoload_settings.cpp │ │ ├── editor_autoload_settings.h │ │ ├── editor_build_profile.cpp │ │ ├── editor_build_profile.h │ │ ├── editor_command_palette.cpp │ │ ├── editor_command_palette.h │ │ ├── editor_event_search_bar.cpp │ │ ├── editor_event_search_bar.h │ │ ├── editor_feature_profile.cpp │ │ ├── editor_feature_profile.h │ │ ├── editor_folding.cpp │ │ ├── editor_folding.h │ │ ├── editor_layouts_dialog.cpp │ │ ├── editor_layouts_dialog.h │ │ ├── editor_settings.cpp │ │ ├── editor_settings.h │ │ ├── editor_settings_dialog.cpp │ │ ├── editor_settings_dialog.h │ │ ├── event_listener_line_edit.cpp │ │ ├── event_listener_line_edit.h │ │ ├── input_event_configuration_dialog.cpp │ │ ├── input_event_configuration_dialog.h │ │ ├── project_settings_editor.cpp │ │ └── project_settings_editor.h │ ├── shader/ │ │ ├── SCsub │ │ ├── editor_native_shader_source_visualizer.cpp │ │ ├── editor_native_shader_source_visualizer.h │ │ ├── editor_shader_language_plugin.cpp │ │ ├── editor_shader_language_plugin.h │ │ ├── shader_baker/ │ │ │ ├── SCsub │ │ │ ├── shader_baker_export_plugin_platform_d3d12.cpp │ │ │ ├── shader_baker_export_plugin_platform_d3d12.h │ │ │ ├── shader_baker_export_plugin_platform_metal.cpp │ │ │ ├── shader_baker_export_plugin_platform_metal.h │ │ │ ├── shader_baker_export_plugin_platform_vulkan.cpp │ │ │ └── shader_baker_export_plugin_platform_vulkan.h │ │ ├── shader_create_dialog.cpp │ │ ├── shader_create_dialog.h │ │ ├── shader_editor.h │ │ ├── shader_editor_plugin.cpp │ │ ├── shader_editor_plugin.h │ │ ├── shader_file_editor_plugin.cpp │ │ ├── shader_file_editor_plugin.h │ │ ├── shader_globals_editor.cpp │ │ ├── shader_globals_editor.h │ │ ├── text_shader_editor.cpp │ │ ├── text_shader_editor.h │ │ ├── text_shader_language_plugin.cpp │ │ ├── text_shader_language_plugin.h │ │ ├── visual_shader_editor_plugin.cpp │ │ ├── visual_shader_editor_plugin.h │ │ ├── visual_shader_language_plugin.cpp │ │ └── visual_shader_language_plugin.h │ ├── template_builders.py │ ├── themes/ │ │ ├── SCsub │ │ ├── editor_color_map.cpp │ │ ├── editor_color_map.h │ │ ├── editor_fonts.cpp │ │ ├── editor_fonts.h │ │ ├── editor_icons.cpp │ │ ├── editor_icons.h │ │ ├── editor_scale.cpp │ │ ├── editor_scale.h │ │ ├── editor_theme.cpp │ │ ├── editor_theme.h │ │ ├── editor_theme_builders.py │ │ ├── editor_theme_manager.cpp │ │ ├── editor_theme_manager.h │ │ ├── theme_classic.cpp │ │ ├── theme_classic.h │ │ ├── theme_modern.cpp │ │ └── theme_modern.h │ ├── translations/ │ │ ├── SCsub │ │ ├── editor/ │ │ │ ├── ar.po │ │ │ ├── bg.po │ │ │ ├── bn.po │ │ │ ├── ca.po │ │ │ ├── cs.po │ │ │ ├── de.po │ │ │ ├── el.po │ │ │ ├── eo.po │ │ │ ├── es.po │ │ │ ├── es_AR.po │ │ │ ├── et.po │ │ │ ├── fa.po │ │ │ ├── fi.po │ │ │ ├── fr.po │ │ │ ├── ga.po │ │ │ ├── gl.po │ │ │ ├── he.po │ │ │ ├── hu.po │ │ │ ├── id.po │ │ │ ├── it.po │ │ │ ├── ja.po │ │ │ ├── ka.po │ │ │ ├── ko.po │ │ │ ├── lv.po │ │ │ ├── ms.po │ │ │ ├── nl.po │ │ │ ├── pl.po │ │ │ ├── pt.po │ │ │ ├── pt_BR.po │ │ │ ├── ro.po │ │ │ ├── ru.po │ │ │ ├── sk.po │ │ │ ├── sv.po │ │ │ ├── ta.po │ │ │ ├── th.po │ │ │ ├── tok.po │ │ │ ├── tr.po │ │ │ ├── uk.po │ │ │ ├── vi.po │ │ │ ├── zh_Hans.po │ │ │ └── zh_Hant.po │ │ ├── editor_locale_dialog.cpp │ │ ├── editor_locale_dialog.h │ │ ├── editor_translation.cpp │ │ ├── editor_translation.h │ │ ├── editor_translation_parser.cpp │ │ ├── editor_translation_parser.h │ │ ├── editor_translation_preview_button.cpp │ │ ├── editor_translation_preview_button.h │ │ ├── editor_translation_preview_menu.cpp │ │ ├── editor_translation_preview_menu.h │ │ ├── extractable/ │ │ │ ├── ar.po │ │ │ ├── bg.po │ │ │ ├── ca.po │ │ │ ├── cs.po │ │ │ ├── de.po │ │ │ ├── el.po │ │ │ ├── eo.po │ │ │ ├── es.po │ │ │ ├── es_AR.po │ │ │ ├── et.po │ │ │ ├── extractable.pot │ │ │ ├── fa.po │ │ │ ├── fi.po │ │ │ ├── fr.po │ │ │ ├── gl.po │ │ │ ├── he.po │ │ │ ├── hu.po │ │ │ ├── id.po │ │ │ ├── it.po │ │ │ ├── ja.po │ │ │ ├── ko.po │ │ │ ├── lv.po │ │ │ ├── ms.po │ │ │ ├── nl.po │ │ │ ├── pl.po │ │ │ ├── pt.po │ │ │ ├── pt_BR.po │ │ │ ├── ru.po │ │ │ ├── sk.po │ │ │ ├── sv.po │ │ │ ├── th.po │ │ │ ├── tl.po │ │ │ ├── tr.po │ │ │ ├── uk.po │ │ │ ├── vi.po │ │ │ ├── zh_Hans.po │ │ │ └── zh_Hant.po │ │ ├── localization_editor.cpp │ │ ├── localization_editor.h │ │ ├── packed_scene_translation_parser_plugin.cpp │ │ ├── packed_scene_translation_parser_plugin.h │ │ ├── properties/ │ │ │ ├── bg.po │ │ │ ├── cs.po │ │ │ ├── de.po │ │ │ ├── es.po │ │ │ ├── et.po │ │ │ ├── fa.po │ │ │ ├── fr.po │ │ │ ├── ga.po │ │ │ ├── hi.po │ │ │ ├── id.po │ │ │ ├── it.po │ │ │ ├── ja.po │ │ │ ├── ka.po │ │ │ ├── ko.po │ │ │ ├── pl.po │ │ │ ├── pt.po │ │ │ ├── pt_BR.po │ │ │ ├── ru.po │ │ │ ├── sv.po │ │ │ ├── ta.po │ │ │ ├── tr.po │ │ │ ├── uk.po │ │ │ ├── vi.po │ │ │ ├── zh_Hans.po │ │ │ └── zh_Hant.po │ │ ├── template_generator.cpp │ │ └── template_generator.h │ └── version_control/ │ ├── SCsub │ ├── editor_vcs_interface.cpp │ ├── editor_vcs_interface.h │ ├── version_control_editor_plugin.cpp │ └── version_control_editor_plugin.h ├── gles3_builders.py ├── glsl_builders.py ├── main/ │ ├── SCsub │ ├── main.cpp │ ├── main.h │ ├── main_builders.py │ ├── main_timer_sync.cpp │ ├── main_timer_sync.h │ ├── performance.compat.inc │ ├── performance.cpp │ ├── performance.h │ ├── steam_tracker.cpp │ └── steam_tracker.h ├── methods.py ├── misc/ │ ├── dist/ │ │ ├── apple_embedded_xcode/ │ │ │ ├── PrivacyInfo.xcprivacy │ │ │ ├── data.pck │ │ │ ├── godot_apple_embedded/ │ │ │ │ ├── Images.xcassets/ │ │ │ │ │ └── SplashImage.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Launch Screen.storyboard │ │ │ │ ├── dummy.cpp │ │ │ │ ├── dummy.h │ │ │ │ ├── dummy.swift │ │ │ │ ├── dylibs/ │ │ │ │ │ └── empty │ │ │ │ ├── en.lproj/ │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── export_options.plist │ │ │ │ ├── godot_apple_embedded-Info.plist │ │ │ │ └── godot_apple_embedded.entitlements │ │ │ ├── godot_apple_embedded.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ └── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── godot_apple_embedded.xcscheme │ │ │ ├── libgodot.ios.debug.xcframework/ │ │ │ │ ├── Info.plist │ │ │ │ ├── ios-arm64/ │ │ │ │ │ └── empty │ │ │ │ └── ios-arm64_x86_64-simulator/ │ │ │ │ └── empty │ │ │ ├── libgodot.ios.release.xcframework/ │ │ │ │ ├── Info.plist │ │ │ │ ├── ios-arm64/ │ │ │ │ │ └── empty │ │ │ │ └── ios-arm64_x86_64-simulator/ │ │ │ │ └── empty │ │ │ ├── libgodot.visionos.debug.xcframework/ │ │ │ │ ├── Info.plist │ │ │ │ ├── xros-arm64/ │ │ │ │ │ └── empty │ │ │ │ └── xros-arm64-simulator/ │ │ │ │ └── empty │ │ │ ├── libgodot.visionos.release.xcframework/ │ │ │ │ ├── Info.plist │ │ │ │ ├── xros-arm64/ │ │ │ │ │ └── empty │ │ │ │ └── xros-arm64-simulator/ │ │ │ │ └── empty │ │ │ ├── libgodot_camera.ios.debug.xcframework/ │ │ │ │ ├── Info.plist │ │ │ │ ├── ios-arm64/ │ │ │ │ │ └── empty │ │ │ │ └── ios-arm64_x86_64-simulator/ │ │ │ │ └── empty │ │ │ ├── libgodot_camera.ios.release.xcframework/ │ │ │ │ ├── Info.plist │ │ │ │ ├── ios-arm64/ │ │ │ │ │ └── empty │ │ │ │ └── ios-arm64_x86_64-simulator/ │ │ │ │ └── empty │ │ │ ├── libgodot_camera.visionos.debug.xcframework/ │ │ │ │ ├── Info.plist │ │ │ │ ├── xros-arm64/ │ │ │ │ │ └── empty │ │ │ │ └── xros-arm64-simulator/ │ │ │ │ └── empty │ │ │ └── libgodot_camera.visionos.release.xcframework/ │ │ │ ├── Info.plist │ │ │ ├── xros-arm64/ │ │ │ │ └── empty │ │ │ └── xros-arm64-simulator/ │ │ │ └── empty │ │ ├── html/ │ │ │ ├── editor.html │ │ │ ├── full-size.html │ │ │ ├── manifest.json │ │ │ ├── offline-export.html │ │ │ ├── offline.html │ │ │ └── service-worker.js │ │ ├── linux/ │ │ │ ├── godot.6 │ │ │ ├── org.godotengine.Godot.appdata.xml │ │ │ ├── org.godotengine.Godot.desktop │ │ │ └── org.godotengine.Godot.xml │ │ ├── macos/ │ │ │ ├── GodotLG.icon/ │ │ │ │ └── icon.json │ │ │ ├── editor.entitlements │ │ │ ├── editor_debug.entitlements │ │ │ └── editor_info_plist.template │ │ ├── macos_template.app/ │ │ │ └── Contents/ │ │ │ ├── Info.plist │ │ │ ├── PkgInfo │ │ │ └── Resources/ │ │ │ ├── PrivacyInfo.xcprivacy │ │ │ └── icon.icns │ │ ├── macos_tools.app/ │ │ │ └── Contents/ │ │ │ ├── Info.plist │ │ │ ├── PkgInfo │ │ │ └── Resources/ │ │ │ ├── Assets.car │ │ │ ├── GDScript.icns │ │ │ ├── GodotLG.icns │ │ │ ├── Project.icns │ │ │ ├── Resource.icns │ │ │ ├── Scene.icns │ │ │ ├── Shader.icns │ │ │ ├── af.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ar.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── az.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── bg.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── bn.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── br.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ca.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── cs.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── da.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── de.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── el.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── en.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── eo.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── es.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── es_AR.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── et.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── eu.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── fa.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── fi.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── fil.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── fr.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ga.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── gl.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── he.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── hi.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── hr.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── hu.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── id.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── is.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── it.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ja.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ka.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── km.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ko.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── lt.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── lv.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── mi.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── mk.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ml.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── mr.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ms.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── nb.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── nl.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── or.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── pl.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── pt.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── pt_BR.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ro.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ru.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── si.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── sk.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── sl.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── sq.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── sr-Cyrl.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── sr-Latn.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── sv.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ta.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── te.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── th.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── tr.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── tt.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── tzm.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── uk.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── ur_PK.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── vi.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── zh_CN.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ ├── zh_HK.lproj/ │ │ │ │ └── InfoPlist.strings │ │ │ └── zh_TW.lproj/ │ │ │ └── InfoPlist.strings │ │ ├── shell/ │ │ │ ├── _godot.zsh-completion │ │ │ ├── godot.bash-completion │ │ │ └── godot.fish │ │ └── windows/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── godot.iss │ │ └── modpath.pas │ ├── error_suppressions/ │ │ ├── asan.txt │ │ ├── lsan.txt │ │ ├── tsan.txt │ │ └── ubsan.txt │ ├── extension_api_validation/ │ │ ├── 4.0-stable_4.1-stable/ │ │ │ ├── GH-64628.txt │ │ │ ├── GH-69988.txt │ │ │ ├── GH-72152.txt │ │ │ ├── GH-72749.txt │ │ │ ├── GH-72842.txt │ │ │ ├── GH-74242.txt │ │ │ ├── GH-74600.txt │ │ │ ├── GH-74671.txt │ │ │ ├── GH-74707.txt │ │ │ ├── GH-74736.txt │ │ │ ├── GH-75017.txt │ │ │ ├── GH-75250-76401.txt │ │ │ ├── GH-75260.txt │ │ │ ├── GH-75746.txt │ │ │ ├── GH-75759.txt │ │ │ ├── GH-75777.txt │ │ │ ├── GH-76026.txt │ │ │ ├── GH-76082.txt │ │ │ ├── GH-76176.txt │ │ │ ├── GH-76413.txt │ │ │ ├── GH-76418.txt │ │ │ ├── GH-76688.txt │ │ │ ├── GH-76794.txt │ │ │ ├── GH-77143.txt │ │ │ ├── GH-77411.txt │ │ │ ├── GH-77413.txt │ │ │ ├── GH-77757.txt │ │ │ ├── GH-78237.txt │ │ │ └── GH-78517.txt │ │ ├── 4.1-stable_4.2-stable/ │ │ │ ├── GH-36493.txt │ │ │ ├── GH-73196.txt │ │ │ ├── GH-78266.txt │ │ │ ├── GH-78328.txt │ │ │ ├── GH-79308.txt │ │ │ ├── GH-79311.txt │ │ │ ├── GH-79527.txt │ │ │ ├── GH-79606.txt │ │ │ ├── GH-79911.txt │ │ │ ├── GH-79965.txt │ │ │ ├── GH-80410.txt │ │ │ ├── GH-80813.txt │ │ │ ├── GH-80852.txt │ │ │ ├── GH-80954.txt │ │ │ ├── GH-81070.txt │ │ │ ├── GH-81138.txt │ │ │ ├── GH-81298.txt │ │ │ ├── GH-81582.txt │ │ │ ├── GH-82403.txt │ │ │ ├── GH-84113.txt │ │ │ └── GH-84419.txt │ │ ├── 4.2-stable_4.3-stable/ │ │ │ ├── GH-80214.txt │ │ │ ├── GH-81746.txt │ │ │ ├── GH-81996.txt │ │ │ ├── GH-84472.txt │ │ │ ├── GH-84523.txt │ │ │ ├── GH-84660.txt │ │ │ ├── GH-84792.txt │ │ │ ├── GH-84906.txt │ │ │ ├── GH-84976.txt │ │ │ ├── GH-85393.txt │ │ │ ├── GH-86158.txt │ │ │ ├── GH-86629.txt │ │ │ ├── GH-86687.txt │ │ │ ├── GH-86907.txt │ │ │ ├── GH-86978.txt │ │ │ ├── GH-87115.txt │ │ │ ├── GH-87340.txt │ │ │ ├── GH-87668.txt │ │ │ ├── GH-88014.txt │ │ │ ├── GH-88047.txt │ │ │ ├── GH-88081.txt │ │ │ ├── GH-88418.txt │ │ │ ├── GH-88791.txt │ │ │ ├── GH-89024.txt │ │ │ ├── GH-89419.txt │ │ │ ├── GH-90575.txt │ │ │ ├── GH-90645.txt │ │ │ ├── GH-90732.txt │ │ │ ├── GH-90747.txt │ │ │ ├── GH-91098.txt │ │ │ ├── GH-91143.txt │ │ │ ├── GH-91382.txt │ │ │ ├── GH-92322.txt │ │ │ ├── GH-92861.txt │ │ │ ├── GH-93982.txt │ │ │ └── GH-94243.txt │ │ ├── 4.3-stable_4.4-stable/ │ │ │ ├── GH-100129.txt │ │ │ ├── GH-100913.txt │ │ │ ├── GH-101482.txt │ │ │ ├── GH-101531.txt │ │ │ ├── GH-101561.txt │ │ │ ├── GH-102796.txt │ │ │ ├── GH-78289.txt │ │ │ ├── GH-88349.txt │ │ │ ├── GH-90057.txt │ │ │ ├── GH-90993.txt │ │ │ ├── GH-91201.txt │ │ │ ├── GH-92089.txt │ │ │ ├── GH-93605.txt │ │ │ ├── GH-94322.txt │ │ │ ├── GH-94434.txt │ │ │ ├── GH-94684.txt │ │ │ ├── GH-95126.txt │ │ │ ├── GH-95212.txt │ │ │ ├── GH-95374.txt │ │ │ ├── GH-95375.txt │ │ │ ├── GH-97020.txt │ │ │ ├── GH-97257.txt │ │ │ ├── GH-97281.txt │ │ │ ├── GH-97449.txt │ │ │ ├── GH-98441.txt │ │ │ ├── GH-98443.txt │ │ │ ├── GH-98670.txt │ │ │ ├── GH-98918.txt │ │ │ ├── GH-98972.txt │ │ │ ├── GH-99297.txt │ │ │ ├── GH-99424.txt │ │ │ ├── GH-99455.txt │ │ │ └── GH-99481.txt │ │ ├── 4.4-stable_4.5-stable/ │ │ │ ├── GH-104087.txt │ │ │ ├── GH-104269.txt │ │ │ ├── GH-104872.txt │ │ │ ├── GH-104890.txt │ │ │ ├── GH-105570.txt │ │ │ ├── GH-106121.txt │ │ │ ├── GH-106220.txt │ │ │ ├── GH-106300.txt │ │ │ ├── GH-106848.txt │ │ │ ├── GH-107347.txt │ │ │ ├── GH-108825.txt │ │ │ ├── GH-71542.txt │ │ │ ├── GH-76560.txt │ │ │ ├── GH-76829.txt │ │ │ ├── GH-98194.txt │ │ │ └── GH-98750.txt │ │ ├── 4.5-stable_4.6-stable/ │ │ │ ├── GH-107167.txt │ │ │ ├── GH-107954.txt │ │ │ ├── GH-109302.txt │ │ │ ├── GH-110120.txt │ │ │ ├── GH-110250.txt │ │ │ ├── GH-110433.txt │ │ │ ├── GH-110767.txt │ │ │ ├── GH-110867.txt │ │ │ ├── GH-111117.txt │ │ │ ├── GH-111212.txt │ │ │ ├── GH-111439.txt │ │ │ ├── GH-112290.txt │ │ │ ├── GH-112379.txt │ │ │ ├── GH-112539.txt │ │ │ ├── GH-113172.txt │ │ │ ├── GH-113459.txt │ │ │ ├── GH-114053.txt │ │ │ └── GH-90411.txt │ │ ├── 4.6-stable/ │ │ │ ├── GH-104736.txt │ │ │ ├── GH-109004.txt │ │ │ ├── GH-109892.txt │ │ │ ├── GH-110369.txt │ │ │ ├── GH-114355.txt │ │ │ ├── GH-115799.txt │ │ │ ├── GH-115946.txt │ │ │ ├── GH-116394.txt │ │ │ ├── GH-116839.txt │ │ │ ├── GH-117149.txt │ │ │ └── GH-XXXXXX.txt │ │ └── README.md │ ├── msvs/ │ │ ├── nmake.substitution.props │ │ ├── props.template │ │ ├── sln.template │ │ ├── vcxproj.filters.template │ │ └── vcxproj.template │ ├── scripts/ │ │ ├── char_range_fetch.py │ │ ├── check_ci_log.py │ │ ├── copyright_headers.py │ │ ├── dotnet_format.py │ │ ├── file_format.py │ │ ├── gitignore_check.sh │ │ ├── header_guards.py │ │ ├── install_accesskit.py │ │ ├── install_angle.py │ │ ├── install_d3d12_sdk_windows.py │ │ ├── install_swappy_android.py │ │ ├── install_vulkan_sdk_macos.sh │ │ ├── install_winrt.py │ │ ├── make_icons.sh │ │ ├── make_tarball.sh │ │ ├── purge_cache.py │ │ ├── ucaps_fetch.py │ │ ├── unicode_ranges_fetch.py │ │ ├── validate_codeowners.py │ │ ├── validate_extension_api.sh │ │ ├── validate_includes.py │ │ └── validate_xml.py │ └── utility/ │ ├── clang_format_glsl.yml │ ├── color.py │ ├── godot_gdb_pretty_print.py │ ├── problem-matchers.json │ ├── scons_hints.py │ └── svgo.config.mjs ├── modules/ │ ├── SCsub │ ├── astcenc/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── image_compress_astcenc.cpp │ │ ├── image_compress_astcenc.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── basis_universal/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── image_compress_basisu.cpp │ │ ├── image_compress_basisu.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── bcdec/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── image_decompress_bcdec.cpp │ │ ├── image_decompress_bcdec.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── betsy/ │ │ ├── LICENSE.Betsy.md │ │ ├── SCsub │ │ ├── alpha_stitch.glsl │ │ ├── bc1.glsl │ │ ├── bc4.glsl │ │ ├── bc6h.glsl │ │ ├── betsy_bc1.h │ │ ├── config.py │ │ ├── image_compress_betsy.cpp │ │ ├── image_compress_betsy.h │ │ ├── register_types.cpp │ │ ├── register_types.h │ │ └── rgb_to_rgba.glsl │ ├── bmp/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── image_loader_bmp.cpp │ │ ├── image_loader_bmp.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── camera/ │ │ ├── SCsub │ │ ├── buffer_decoder.cpp │ │ ├── buffer_decoder.h │ │ ├── camera_android.cpp │ │ ├── camera_android.h │ │ ├── camera_apple.h │ │ ├── camera_apple.mm │ │ ├── camera_feed_linux.cpp │ │ ├── camera_feed_linux.h │ │ ├── camera_linux.cpp │ │ ├── camera_linux.h │ │ ├── camera_win.cpp │ │ ├── camera_win.h │ │ ├── config.py │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── csg/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── csg.cpp │ │ ├── csg.h │ │ ├── csg_shape.cpp │ │ ├── csg_shape.h │ │ ├── doc_classes/ │ │ │ ├── CSGBox3D.xml │ │ │ ├── CSGCombiner3D.xml │ │ │ ├── CSGCylinder3D.xml │ │ │ ├── CSGMesh3D.xml │ │ │ ├── CSGPolygon3D.xml │ │ │ ├── CSGPrimitive3D.xml │ │ │ ├── CSGShape3D.xml │ │ │ ├── CSGSphere3D.xml │ │ │ └── CSGTorus3D.xml │ │ ├── editor/ │ │ │ ├── csg_gizmos.cpp │ │ │ └── csg_gizmos.h │ │ ├── register_types.cpp │ │ ├── register_types.h │ │ └── tests/ │ │ └── test_csg.h │ ├── cvtt/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── image_compress_cvtt.cpp │ │ ├── image_compress_cvtt.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── dds/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── dds_enums.h │ │ ├── image_saver_dds.cpp │ │ ├── image_saver_dds.h │ │ ├── register_types.cpp │ │ ├── register_types.h │ │ ├── tests/ │ │ │ └── test_dds.h │ │ ├── texture_loader_dds.cpp │ │ └── texture_loader_dds.h │ ├── enet/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── doc_classes/ │ │ │ ├── ENetConnection.xml │ │ │ ├── ENetMultiplayerPeer.xml │ │ │ └── ENetPacketPeer.xml │ │ ├── enet_connection.cpp │ │ ├── enet_connection.h │ │ ├── enet_multiplayer_peer.cpp │ │ ├── enet_multiplayer_peer.h │ │ ├── enet_packet_peer.cpp │ │ ├── enet_packet_peer.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── etcpak/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── image_compress_etcpak.cpp │ │ ├── image_compress_etcpak.h │ │ ├── image_decompress_etcpak.cpp │ │ ├── image_decompress_etcpak.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── fbx/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── doc_classes/ │ │ │ ├── EditorSceneFormatImporterFBX2GLTF.xml │ │ │ ├── EditorSceneFormatImporterUFBX.xml │ │ │ ├── FBXDocument.xml │ │ │ └── FBXState.xml │ │ ├── editor/ │ │ │ ├── editor_scene_importer_fbx2gltf.cpp │ │ │ ├── editor_scene_importer_fbx2gltf.h │ │ │ ├── editor_scene_importer_ufbx.cpp │ │ │ └── editor_scene_importer_ufbx.h │ │ ├── extensions/ │ │ │ └── SCsub │ │ ├── fbx_document.cpp │ │ ├── fbx_document.h │ │ ├── fbx_state.cpp │ │ ├── fbx_state.h │ │ ├── register_types.cpp │ │ └── register_types.h │ ├── freetype/ │ │ ├── SCsub │ │ ├── config.py │ │ └── register_types.h │ ├── gdscript/ │ │ ├── README.md │ │ ├── SCsub │ │ ├── config.py │ │ ├── doc_classes/ │ │ │ ├── @GDScript.xml │ │ │ ├── GDScript.xml │ │ │ ├── GDScriptLanguageProtocol.xml │ │ │ ├── GDScriptSyntaxHighlighter.xml │ │ │ ├── GDScriptTextDocument.xml │ │ │ └── GDScriptWorkspace.xml │ │ ├── editor/ │ │ │ ├── gdscript_docgen.cpp │ │ │ ├── gdscript_docgen.h │ │ │ ├── gdscript_highlighter.cpp │ │ │ ├── gdscript_highlighter.h │ │ │ ├── gdscript_translation_parser_plugin.cpp │ │ │ ├── gdscript_translation_parser_plugin.h │ │ │ └── script_templates/ │ │ │ ├── CharacterBody2D/ │ │ │ │ └── basic_movement.gd │ │ │ ├── CharacterBody3D/ │ │ │ │ └── basic_movement.gd │ │ │ ├── EditorPlugin/ │ │ │ │ └── plugin.gd │ │ │ ├── EditorScenePostImport/ │ │ │ │ ├── basic_import_script.gd │ │ │ │ └── no_comments.gd │ │ │ ├── EditorScript/ │ │ │ │ └── basic_editor_script.gd │ │ │ ├── Node/ │ │ │ │ └── default.gd │ │ │ ├── Object/ │ │ │ │ └── empty.gd │ │ │ ├── RichTextEffect/ │ │ │ │ └── default.gd │ │ │ ├── SCsub │ │ │ └── VisualShaderNodeCustom/ │ │ │ └── basic.gd │ │ ├── gdscript.cpp │ │ ├── gdscript.h │ │ ├── gdscript_analyzer.cpp │ │ ├── gdscript_analyzer.h │ │ ├── gdscript_byte_codegen.cpp │ │ ├── gdscript_byte_codegen.h │ │ ├── gdscript_cache.cpp │ │ ├── gdscript_cache.h │ │ ├── gdscript_codegen.h │ │ ├── gdscript_compiler.cpp │ │ ├── gdscript_compiler.h │ │ ├── gdscript_disassembler.cpp │ │ ├── gdscript_editor.cpp │ │ ├── gdscript_function.cpp │ │ ├── gdscript_function.h │ │ ├── gdscript_lambda_callable.cpp │ │ ├── gdscript_lambda_callable.h │ │ ├── gdscript_parser.cpp │ │ ├── gdscript_parser.h │ │ ├── gdscript_resource_format.cpp │ │ ├── gdscript_resource_format.h │ │ ├── gdscript_rpc_callable.cpp │ │ ├── gdscript_rpc_callable.h │ │ ├── gdscript_tokenizer.cpp │ │ ├── gdscript_tokenizer.h │ │ ├── gdscript_tokenizer_buffer.cpp │ │ ├── gdscript_tokenizer_buffer.h │ │ ├── gdscript_utility_callable.cpp │ │ ├── gdscript_utility_callable.h │ │ ├── gdscript_utility_functions.cpp │ │ ├── gdscript_utility_functions.h │ │ ├── gdscript_vm.cpp │ │ ├── gdscript_warning.cpp │ │ ├── gdscript_warning.h │ │ ├── language_server/ │ │ │ ├── gdscript_extend_parser.cpp │ │ │ ├── gdscript_extend_parser.h │ │ │ ├── gdscript_language_protocol.cpp │ │ │ ├── gdscript_language_protocol.h │ │ │ ├── gdscript_language_server.cpp │ │ │ ├── gdscript_language_server.h │ │ │ ├── gdscript_text_document.cpp │ │ │ ├── gdscript_text_document.h │ │ │ ├── gdscript_workspace.cpp │ │ │ ├── gdscript_workspace.h │ │ │ ├── godot_lsp.h │ │ │ ├── scene_cache.cpp │ │ │ └── scene_cache.h │ │ ├── register_types.cpp │ │ ├── register_types.h │ │ └── tests/ │ │ ├── README.md │ │ ├── gdscript_test_runner.cpp │ │ ├── gdscript_test_runner.h │ │ ├── gdscript_test_runner_suite.h │ │ ├── scripts/ │ │ │ ├── .editorconfig │ │ │ ├── .gitignore │ │ │ ├── analyzer/ │ │ │ │ ├── errors/ │ │ │ │ │ ├── abstract_class_instantiate.gd │ │ │ │ │ ├── abstract_class_instantiate.out │ │ │ │ │ ├── abstract_methods.gd │ │ │ │ │ ├── abstract_methods.out │ │ │ │ │ ├── annotation_non_constant_parameter.gd │ │ │ │ │ ├── annotation_non_constant_parameter.out │ │ │ │ │ ├── assign_enum.gd │ │ │ │ │ ├── assign_enum.out │ │ │ │ │ ├── assign_named_enum.gd │ │ │ │ │ ├── assign_named_enum.out │ │ │ │ │ ├── assign_signal.gd │ │ │ │ │ ├── assign_signal.out │ │ │ │ │ ├── assign_to_read_only_property.gd │ │ │ │ │ ├── assign_to_read_only_property.out │ │ │ │ │ ├── assign_to_read_only_property_indirectly.gd │ │ │ │ │ ├── assign_to_read_only_property_indirectly.out │ │ │ │ │ ├── assymetric_assignment_bad.gd │ │ │ │ │ ├── assymetric_assignment_bad.out │ │ │ │ │ ├── await_signal_no_infer.gd │ │ │ │ │ ├── await_signal_no_infer.out │ │ │ │ │ ├── bitwise_float_left_operand.gd │ │ │ │ │ ├── bitwise_float_left_operand.out │ │ │ │ │ ├── bitwise_float_right_operand.gd │ │ │ │ │ ├── bitwise_float_right_operand.out │ │ │ │ │ ├── call_not_existing_static_method.gd │ │ │ │ │ ├── call_not_existing_static_method.out │ │ │ │ │ ├── cast_int_to_array.gd │ │ │ │ │ ├── cast_int_to_array.out │ │ │ │ │ ├── cast_int_to_object.gd │ │ │ │ │ ├── cast_int_to_object.out │ │ │ │ │ ├── cast_object_to_int.gd │ │ │ │ │ ├── cast_object_to_int.out │ │ │ │ │ ├── class_name_shadows_builtin_type.gd │ │ │ │ │ ├── class_name_shadows_builtin_type.out │ │ │ │ │ ├── constant_array_index_assign.gd │ │ │ │ │ ├── constant_array_index_assign.out │ │ │ │ │ ├── constant_dictionary_index_assign.gd │ │ │ │ │ ├── constant_dictionary_index_assign.out │ │ │ │ │ ├── constant_name_shadows_builtin_type.gd │ │ │ │ │ ├── constant_name_shadows_builtin_type.out │ │ │ │ │ ├── constant_subscript_type.gd │ │ │ │ │ ├── constant_subscript_type.out │ │ │ │ │ ├── constant_used_as_function.gd │ │ │ │ │ ├── constant_used_as_function.out │ │ │ │ │ ├── construct_abstract_class.gd │ │ │ │ │ ├── construct_abstract_class.out │ │ │ │ │ ├── construct_abstract_script.notest.gd │ │ │ │ │ ├── constructor_call_type.gd │ │ │ │ │ ├── constructor_call_type.out │ │ │ │ │ ├── cyclic_inheritance.gd │ │ │ │ │ ├── cyclic_inheritance.out │ │ │ │ │ ├── cyclic_ref_const.gd │ │ │ │ │ ├── cyclic_ref_const.out │ │ │ │ │ ├── cyclic_ref_enum.gd │ │ │ │ │ ├── cyclic_ref_enum.out │ │ │ │ │ ├── cyclic_ref_enum_value.gd │ │ │ │ │ ├── cyclic_ref_enum_value.out │ │ │ │ │ ├── cyclic_ref_external.gd │ │ │ │ │ ├── cyclic_ref_external.out │ │ │ │ │ ├── cyclic_ref_external_a.notest.gd │ │ │ │ │ ├── cyclic_ref_func.gd │ │ │ │ │ ├── cyclic_ref_func.out │ │ │ │ │ ├── cyclic_ref_override.gd │ │ │ │ │ ├── cyclic_ref_override.out │ │ │ │ │ ├── cyclic_ref_var.gd │ │ │ │ │ ├── cyclic_ref_var.out │ │ │ │ │ ├── cyclic_ref_var_self.gd │ │ │ │ │ ├── cyclic_ref_var_self.out │ │ │ │ │ ├── dictionary_duplicate_key_lua.gd │ │ │ │ │ ├── dictionary_duplicate_key_lua.out │ │ │ │ │ ├── dictionary_duplicate_key_lua_with_string.gd │ │ │ │ │ ├── dictionary_duplicate_key_lua_with_string.out │ │ │ │ │ ├── dictionary_duplicate_key_python.gd │ │ │ │ │ ├── dictionary_duplicate_key_python.out │ │ │ │ │ ├── dictionary_string_stringname_equivalent.gd │ │ │ │ │ ├── dictionary_string_stringname_equivalent.out │ │ │ │ │ ├── engine_singleton_instantiate.gd │ │ │ │ │ ├── engine_singleton_instantiate.out │ │ │ │ │ ├── enum_bad_method.gd │ │ │ │ │ ├── enum_bad_method.out │ │ │ │ │ ├── enum_bad_value.gd │ │ │ │ │ ├── enum_bad_value.out │ │ │ │ │ ├── enum_builtin_access.gd │ │ │ │ │ ├── enum_builtin_access.out │ │ │ │ │ ├── enum_class_var_assign_with_wrong_enum_type.gd │ │ │ │ │ ├── enum_class_var_assign_with_wrong_enum_type.out │ │ │ │ │ ├── enum_class_var_init_with_wrong_enum_type.gd │ │ │ │ │ ├── enum_class_var_init_with_wrong_enum_type.out │ │ │ │ │ ├── enum_duplicate_bad_method.gd │ │ │ │ │ ├── enum_duplicate_bad_method.out │ │ │ │ │ ├── enum_float_value.gd │ │ │ │ │ ├── enum_float_value.out │ │ │ │ │ ├── enum_function_parameter_wrong_type.gd │ │ │ │ │ ├── enum_function_parameter_wrong_type.out │ │ │ │ │ ├── enum_function_return_wrong_type.gd │ │ │ │ │ ├── enum_function_return_wrong_type.out │ │ │ │ │ ├── enum_global_access.gd │ │ │ │ │ ├── enum_global_access.out │ │ │ │ │ ├── enum_local_var_assign_outer_with_wrong_enum_type.gd │ │ │ │ │ ├── enum_local_var_assign_outer_with_wrong_enum_type.out │ │ │ │ │ ├── enum_local_var_assign_with_wrong_enum_type.gd │ │ │ │ │ ├── enum_local_var_assign_with_wrong_enum_type.out │ │ │ │ │ ├── enum_local_var_init_with_wrong_enum_type.gd │ │ │ │ │ ├── enum_local_var_init_with_wrong_enum_type.out │ │ │ │ │ ├── enum_name_shadows_builtin_type.gd │ │ │ │ │ ├── enum_name_shadows_builtin_type.out │ │ │ │ │ ├── enum_native_access.gd │ │ │ │ │ ├── enum_native_access.out │ │ │ │ │ ├── enum_native_bad_value.gd │ │ │ │ │ ├── enum_native_bad_value.out │ │ │ │ │ ├── enum_preload_unnamed_assign_to_named.gd │ │ │ │ │ ├── enum_preload_unnamed_assign_to_named.out │ │ │ │ │ ├── enum_shadows_base_enum.gd │ │ │ │ │ ├── enum_shadows_base_enum.out │ │ │ │ │ ├── enum_string_value.gd │ │ │ │ │ ├── enum_string_value.out │ │ │ │ │ ├── enum_unnamed_assign_to_named.gd │ │ │ │ │ ├── enum_unnamed_assign_to_named.out │ │ │ │ │ ├── export_node_in_non_node_derived_class_1.gd │ │ │ │ │ ├── export_node_in_non_node_derived_class_1.out │ │ │ │ │ ├── export_node_in_non_node_derived_class_2.gd │ │ │ │ │ ├── export_node_in_non_node_derived_class_2.out │ │ │ │ │ ├── export_node_in_non_node_derived_class_3.gd │ │ │ │ │ ├── export_node_in_non_node_derived_class_3.out │ │ │ │ │ ├── extend_engine_singleton.gd │ │ │ │ │ ├── extend_engine_singleton.out │ │ │ │ │ ├── extend_non_class_constant_1.gd │ │ │ │ │ ├── extend_non_class_constant_1.out │ │ │ │ │ ├── extend_non_class_constant_2.gd │ │ │ │ │ ├── extend_non_class_constant_2.out │ │ │ │ │ ├── extend_non_gdscript_nested.gd │ │ │ │ │ ├── extend_non_gdscript_nested.out │ │ │ │ │ ├── extend_unknown.gd │ │ │ │ │ ├── extend_unknown.out │ │ │ │ │ ├── extend_variable.gd │ │ │ │ │ ├── extend_variable.out │ │ │ │ │ ├── for_loop_on_constant_float.gd │ │ │ │ │ ├── for_loop_on_constant_float.out │ │ │ │ │ ├── for_loop_on_constant_int.gd │ │ │ │ │ ├── for_loop_on_constant_int.out │ │ │ │ │ ├── for_loop_on_enum_value.gd │ │ │ │ │ ├── for_loop_on_enum_value.out │ │ │ │ │ ├── for_loop_on_hard_float.gd │ │ │ │ │ ├── for_loop_on_hard_float.out │ │ │ │ │ ├── for_loop_on_hard_int.gd │ │ │ │ │ ├── for_loop_on_hard_int.out │ │ │ │ │ ├── for_loop_on_hard_iterator.gd │ │ │ │ │ ├── for_loop_on_hard_iterator.out │ │ │ │ │ ├── for_loop_on_hard_string.gd │ │ │ │ │ ├── for_loop_on_hard_string.out │ │ │ │ │ ├── for_loop_on_literal_bool.gd │ │ │ │ │ ├── for_loop_on_literal_bool.out │ │ │ │ │ ├── for_loop_on_literal_int.gd │ │ │ │ │ ├── for_loop_on_literal_int.out │ │ │ │ │ ├── for_loop_wrong_specified_type.gd │ │ │ │ │ ├── for_loop_wrong_specified_type.out │ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_array.gd │ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_array.out │ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_dictionary.gd │ │ │ │ │ ├── for_loop_wrong_specified_type_with_literal_dictionary.out │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_less.gd │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_less.out │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_more.gd │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_count_more.out │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_default_values.gd │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_default_values.out │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_type.gd │ │ │ │ │ ├── function_dont_match_parent_signature_parameter_type.out │ │ │ │ │ ├── function_dont_match_parent_signature_return_type.gd │ │ │ │ │ ├── function_dont_match_parent_signature_return_type.out │ │ │ │ │ ├── function_param_type_invalid_contravariance_1.gd │ │ │ │ │ ├── function_param_type_invalid_contravariance_1.out │ │ │ │ │ ├── function_param_type_invalid_contravariance_2.gd │ │ │ │ │ ├── function_param_type_invalid_contravariance_2.out │ │ │ │ │ ├── function_param_type_invalid_contravariance_3.gd │ │ │ │ │ ├── function_param_type_invalid_contravariance_3.out │ │ │ │ │ ├── function_return_type_invalid_covariance_1.gd │ │ │ │ │ ├── function_return_type_invalid_covariance_1.out │ │ │ │ │ ├── function_return_type_invalid_covariance_2.gd │ │ │ │ │ ├── function_return_type_invalid_covariance_2.out │ │ │ │ │ ├── function_return_type_invalid_covariance_3.gd │ │ │ │ │ ├── function_return_type_invalid_covariance_3.out │ │ │ │ │ ├── function_return_type_invalid_covariance_4.gd │ │ │ │ │ ├── function_return_type_invalid_covariance_4.out │ │ │ │ │ ├── function_used_as_property.gd │ │ │ │ │ ├── function_used_as_property.out │ │ │ │ │ ├── gd_utility_function_wrong_arg.gd │ │ │ │ │ ├── gd_utility_function_wrong_arg.out │ │ │ │ │ ├── get_node_shorthand_in_static_function.gd │ │ │ │ │ ├── get_node_shorthand_in_static_function.out │ │ │ │ │ ├── get_node_shorthand_within_non_node.gd │ │ │ │ │ ├── get_node_shorthand_within_non_node.out │ │ │ │ │ ├── incompatible_assignment.gd │ │ │ │ │ ├── incompatible_assignment.out │ │ │ │ │ ├── inferring_with_weak_type_local_variable.gd │ │ │ │ │ ├── inferring_with_weak_type_local_variable.out │ │ │ │ │ ├── inferring_with_weak_type_member_variable.gd │ │ │ │ │ ├── inferring_with_weak_type_member_variable.out │ │ │ │ │ ├── inferring_with_weak_type_parameter.gd │ │ │ │ │ ├── inferring_with_weak_type_parameter.out │ │ │ │ │ ├── invalid_array_index.gd │ │ │ │ │ ├── invalid_array_index.out │ │ │ │ │ ├── invalid_concatenation_bool.gd │ │ │ │ │ ├── invalid_concatenation_bool.out │ │ │ │ │ ├── invalid_concatenation_dictionary.gd │ │ │ │ │ ├── invalid_concatenation_dictionary.out │ │ │ │ │ ├── invalid_concatenation_mixed.gd │ │ │ │ │ ├── invalid_concatenation_mixed.out │ │ │ │ │ ├── invalid_constant.gd │ │ │ │ │ ├── invalid_constant.out │ │ │ │ │ ├── lambda_cyclic_ref_call_arg.gd │ │ │ │ │ ├── lambda_cyclic_ref_call_arg.out │ │ │ │ │ ├── lambda_cyclic_ref_param.gd │ │ │ │ │ ├── lambda_cyclic_ref_param.out │ │ │ │ │ ├── lambda_no_return.gd │ │ │ │ │ ├── lambda_no_return.out │ │ │ │ │ ├── lambda_wrong_return.gd │ │ │ │ │ ├── lambda_wrong_return.out │ │ │ │ │ ├── leading_number_separator.gd │ │ │ │ │ ├── leading_number_separator.out │ │ │ │ │ ├── local_const_as_type_use_before_declared.gd │ │ │ │ │ ├── local_const_as_type_use_before_declared.out │ │ │ │ │ ├── local_const_as_type_use_not_const.gd │ │ │ │ │ ├── local_const_as_type_use_not_const.out │ │ │ │ │ ├── local_const_as_type_use_not_type.gd │ │ │ │ │ ├── local_const_as_type_use_not_type.out │ │ │ │ │ ├── match_guard_invalid_expression.gd │ │ │ │ │ ├── match_guard_invalid_expression.out │ │ │ │ │ ├── match_with_subscript.gd │ │ │ │ │ ├── match_with_subscript.out │ │ │ │ │ ├── match_with_variable_expression.gd │ │ │ │ │ ├── match_with_variable_expression.out │ │ │ │ │ ├── missing_argument.gd │ │ │ │ │ ├── missing_argument.out │ │ │ │ │ ├── native_type_errors.gd │ │ │ │ │ ├── native_type_errors.out │ │ │ │ │ ├── not_found_type.gd │ │ │ │ │ ├── not_found_type.out │ │ │ │ │ ├── object_invalid_constructor.gd │ │ │ │ │ ├── object_invalid_constructor.out │ │ │ │ │ ├── onready_within_non_node.gd │ │ │ │ │ ├── onready_within_non_node.out │ │ │ │ │ ├── onready_within_non_node_inner_class.gd │ │ │ │ │ ├── onready_within_non_node_inner_class.out │ │ │ │ │ ├── outer_class_lookup.gd │ │ │ │ │ ├── outer_class_lookup.out │ │ │ │ │ ├── overload_script_variable.gd │ │ │ │ │ ├── overload_script_variable.out │ │ │ │ │ ├── params_default_forward_reference.gd │ │ │ │ │ ├── params_default_forward_reference.out │ │ │ │ │ ├── preload_enum_error.gd │ │ │ │ │ ├── preload_enum_error.out │ │ │ │ │ ├── prints_base_type_not_found.gd │ │ │ │ │ ├── prints_base_type_not_found.out │ │ │ │ │ ├── property_function_get_type_error.gd │ │ │ │ │ ├── property_function_get_type_error.out │ │ │ │ │ ├── property_function_set_type_error.gd │ │ │ │ │ ├── property_function_set_type_error.out │ │ │ │ │ ├── property_inline_get_type_error.gd │ │ │ │ │ ├── property_inline_get_type_error.out │ │ │ │ │ ├── property_inline_set_type_error.gd │ │ │ │ │ ├── property_inline_set_type_error.out │ │ │ │ │ ├── property_used_as_function.gd │ │ │ │ │ ├── property_used_as_function.out │ │ │ │ │ ├── redefine_class_constant.gd │ │ │ │ │ ├── redefine_class_constant.out │ │ │ │ │ ├── redefine_local_constant.gd │ │ │ │ │ ├── redefine_local_constant.out │ │ │ │ │ ├── return_null_in_void_func.gd │ │ │ │ │ ├── return_null_in_void_func.out │ │ │ │ │ ├── return_variant_in_void_func.gd │ │ │ │ │ ├── return_variant_in_void_func.out │ │ │ │ │ ├── setter_parameter_uses_property_type.gd │ │ │ │ │ ├── setter_parameter_uses_property_type.out │ │ │ │ │ ├── static_constructor_with_return_type.gd │ │ │ │ │ ├── static_constructor_with_return_type.out │ │ │ │ │ ├── static_func_access_non_static.gd │ │ │ │ │ ├── static_func_access_non_static.out │ │ │ │ │ ├── static_func_access_non_static_in_lambda_param.gd │ │ │ │ │ ├── static_func_access_non_static_in_lambda_param.out │ │ │ │ │ ├── static_func_call_non_static.gd │ │ │ │ │ ├── static_func_call_non_static.out │ │ │ │ │ ├── static_func_call_non_static_in_lambda.gd │ │ │ │ │ ├── static_func_call_non_static_in_lambda.out │ │ │ │ │ ├── static_func_call_non_static_in_lambda_param.gd │ │ │ │ │ ├── static_func_call_non_static_in_lambda_param.out │ │ │ │ │ ├── static_var_export_annotation.gd │ │ │ │ │ ├── static_var_export_annotation.out │ │ │ │ │ ├── static_var_init_access_non_static_in_lambda.gd │ │ │ │ │ ├── static_var_init_access_non_static_in_lambda.out │ │ │ │ │ ├── static_var_init_access_non_static_in_lambda_setter.gd │ │ │ │ │ ├── static_var_init_access_non_static_in_lambda_setter.out │ │ │ │ │ ├── static_var_init_call_non_static_in_lambda.gd │ │ │ │ │ ├── static_var_init_call_non_static_in_lambda.out │ │ │ │ │ ├── static_var_init_call_non_static_in_lambda_setter.gd │ │ │ │ │ ├── static_var_init_call_non_static_in_lambda_setter.out │ │ │ │ │ ├── static_var_init_non_static_access.gd │ │ │ │ │ ├── static_var_init_non_static_access.out │ │ │ │ │ ├── static_var_init_non_static_call.gd │ │ │ │ │ ├── static_var_init_non_static_call.out │ │ │ │ │ ├── super_nonexistent_base_method.gd │ │ │ │ │ ├── super_nonexistent_base_method.out │ │ │ │ │ ├── ternary_weak_infer.gd │ │ │ │ │ ├── ternary_weak_infer.out │ │ │ │ │ ├── typed_array_assign_differently_typed.gd │ │ │ │ │ ├── typed_array_assign_differently_typed.out │ │ │ │ │ ├── typed_array_assignment.gd │ │ │ │ │ ├── typed_array_assignment.out │ │ │ │ │ ├── typed_array_init_with_unconvertable_in_literal.gd │ │ │ │ │ ├── typed_array_init_with_unconvertable_in_literal.out │ │ │ │ │ ├── typed_array_pass_differently_to_typed.gd │ │ │ │ │ ├── typed_array_pass_differently_to_typed.out │ │ │ │ │ ├── typed_dictionary_assign_differently_typed.gd │ │ │ │ │ ├── typed_dictionary_assign_differently_typed.out │ │ │ │ │ ├── typed_dictionary_assignment.gd │ │ │ │ │ ├── typed_dictionary_assignment.out │ │ │ │ │ ├── typed_dictionary_init_with_unconvertible_in_literal.gd │ │ │ │ │ ├── typed_dictionary_init_with_unconvertible_in_literal.out │ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.gd │ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.out │ │ │ │ │ ├── untyped_override_return_incompatible_type.gd │ │ │ │ │ ├── untyped_override_return_incompatible_type.out │ │ │ │ │ ├── use_value_of_void_function_builtin_method.gd │ │ │ │ │ ├── use_value_of_void_function_builtin_method.out │ │ │ │ │ ├── use_value_of_void_function_custom_method.gd │ │ │ │ │ ├── use_value_of_void_function_custom_method.out │ │ │ │ │ ├── use_value_of_void_function_gd_utility.gd │ │ │ │ │ ├── use_value_of_void_function_gd_utility.out │ │ │ │ │ ├── use_value_of_void_function_native_method.gd │ │ │ │ │ ├── use_value_of_void_function_native_method.out │ │ │ │ │ ├── use_value_of_void_function_utility.gd │ │ │ │ │ ├── use_value_of_void_function_utility.out │ │ │ │ │ ├── utility_function_wrong_arg.gd │ │ │ │ │ ├── utility_function_wrong_arg.out │ │ │ │ │ ├── variable_name_shadows_builtin_type.gd │ │ │ │ │ ├── variable_name_shadows_builtin_type.out │ │ │ │ │ ├── variable_overloads_superclass_function.gd │ │ │ │ │ ├── variable_overloads_superclass_function.out │ │ │ │ │ ├── variadic_functions.gd │ │ │ │ │ ├── variadic_functions.out │ │ │ │ │ ├── virtual_super_not_implemented.gd │ │ │ │ │ └── virtual_super_not_implemented.out │ │ │ │ ├── features/ │ │ │ │ │ ├── allow_get_node_with_onready.gd │ │ │ │ │ ├── allow_get_node_with_onready.out │ │ │ │ │ ├── allow_void_function_to_return_void.gd │ │ │ │ │ ├── allow_void_function_to_return_void.out │ │ │ │ │ ├── annotation_constant_expression_parameters.gd │ │ │ │ │ ├── annotation_constant_expression_parameters.out │ │ │ │ │ ├── array_string_stringname_equivalent.gd │ │ │ │ │ ├── array_string_stringname_equivalent.out │ │ │ │ │ ├── as.gd │ │ │ │ │ ├── as.out │ │ │ │ │ ├── assert_literal_false.gd │ │ │ │ │ ├── assert_literal_false.out │ │ │ │ │ ├── assign_to_native_enum_property.gd │ │ │ │ │ ├── assign_to_native_enum_property.out │ │ │ │ │ ├── assignments_with_untyped.gd │ │ │ │ │ ├── assignments_with_untyped.out │ │ │ │ │ ├── assymetric_assignment_good.gd │ │ │ │ │ ├── assymetric_assignment_good.out │ │ │ │ │ ├── auto_inferred_type_dont_error.gd │ │ │ │ │ ├── auto_inferred_type_dont_error.out │ │ │ │ │ ├── await_type_inference.gd │ │ │ │ │ ├── await_type_inference.out │ │ │ │ │ ├── await_with_signals_no_warning.gd │ │ │ │ │ ├── await_with_signals_no_warning.out │ │ │ │ │ ├── base_outer_resolution.gd │ │ │ │ │ ├── base_outer_resolution.out │ │ │ │ │ ├── base_outer_resolution_a.notest.gd │ │ │ │ │ ├── base_outer_resolution_b.notest.gd │ │ │ │ │ ├── base_outer_resolution_base.notest.gd │ │ │ │ │ ├── base_outer_resolution_c.notest.gd │ │ │ │ │ ├── base_outer_resolution_extend.notest.gd │ │ │ │ │ ├── boolean_operators_for_all_types.gd │ │ │ │ │ ├── boolean_operators_for_all_types.out │ │ │ │ │ ├── call_self_get_name.gd │ │ │ │ │ ├── call_self_get_name.out │ │ │ │ │ ├── call_static_builtin_function.gd │ │ │ │ │ ├── call_static_builtin_function.out │ │ │ │ │ ├── cast_enum_to_int.gd │ │ │ │ │ ├── cast_enum_to_int.out │ │ │ │ │ ├── cast_non_null.gd │ │ │ │ │ ├── cast_non_null.out │ │ │ │ │ ├── class_from_parent.gd │ │ │ │ │ ├── class_from_parent.out │ │ │ │ │ ├── class_inference_is_weak.gd │ │ │ │ │ ├── class_inference_is_weak.out │ │ │ │ │ ├── const_array_and_dictionary_constructors.gd │ │ │ │ │ ├── const_array_and_dictionary_constructors.out │ │ │ │ │ ├── const_conversions.gd │ │ │ │ │ ├── const_conversions.out │ │ │ │ │ ├── constant_expressions.gd │ │ │ │ │ ├── constant_expressions.out │ │ │ │ │ ├── constants_from_parent.gd │ │ │ │ │ ├── constants_from_parent.out │ │ │ │ │ ├── default_arg_convertable.gd │ │ │ │ │ ├── default_arg_convertable.out │ │ │ │ │ ├── enum_access_types.gd │ │ │ │ │ ├── enum_access_types.out │ │ │ │ │ ├── enum_as_const.gd │ │ │ │ │ ├── enum_as_const.out │ │ │ │ │ ├── enum_assign_enum_to_int_typed_var.gd │ │ │ │ │ ├── enum_assign_enum_to_int_typed_var.out │ │ │ │ │ ├── enum_assign_int_cast_to_same_enum.gd │ │ │ │ │ ├── enum_assign_int_cast_to_same_enum.out │ │ │ │ │ ├── enum_assign_other_enum_cast_to_same_enum.gd │ │ │ │ │ ├── enum_assign_other_enum_cast_to_same_enum.out │ │ │ │ │ ├── enum_assign_same_enum.gd │ │ │ │ │ ├── enum_assign_same_enum.out │ │ │ │ │ ├── enum_duplicate_into_dict.gd │ │ │ │ │ ├── enum_duplicate_into_dict.out │ │ │ │ │ ├── enum_from_base.gd │ │ │ │ │ ├── enum_from_base.out │ │ │ │ │ ├── enum_from_outer.gd │ │ │ │ │ ├── enum_from_outer.out │ │ │ │ │ ├── enum_function_typecheck.gd │ │ │ │ │ ├── enum_function_typecheck.out │ │ │ │ │ ├── enum_is_treated_as_int.gd │ │ │ │ │ ├── enum_is_treated_as_int.out │ │ │ │ │ ├── enum_named_no_shadow.gd │ │ │ │ │ ├── enum_named_no_shadow.out │ │ │ │ │ ├── enum_native_access_types.gd │ │ │ │ │ ├── enum_native_access_types.out │ │ │ │ │ ├── enum_type_is_treated_as_dictionary.gd │ │ │ │ │ ├── enum_type_is_treated_as_dictionary.out │ │ │ │ │ ├── enum_typecheck_inner_class.gd │ │ │ │ │ ├── enum_typecheck_inner_class.out │ │ │ │ │ ├── enum_unnamed_depend.gd │ │ │ │ │ ├── enum_unnamed_depend.out │ │ │ │ │ ├── enum_value_from_parent.gd │ │ │ │ │ ├── enum_value_from_parent.out │ │ │ │ │ ├── enums_in_range_call.gd │ │ │ │ │ ├── enums_in_range_call.out │ │ │ │ │ ├── export_enum_as_dictionary.gd │ │ │ │ │ ├── export_enum_as_dictionary.out │ │ │ │ │ ├── extend_abstract_class.gd │ │ │ │ │ ├── extend_abstract_class.out │ │ │ │ │ ├── external_enum_as_constant.gd │ │ │ │ │ ├── external_enum_as_constant.out │ │ │ │ │ ├── external_enum_as_constant_external.notest.gd │ │ │ │ │ ├── external_inner_base.gd │ │ │ │ │ ├── external_inner_base.out │ │ │ │ │ ├── external_inner_class_as_constant.gd │ │ │ │ │ ├── external_inner_class_as_constant.out │ │ │ │ │ ├── external_inner_class_as_constant_external.notest.gd │ │ │ │ │ ├── external_parser.gd │ │ │ │ │ ├── external_parser.out │ │ │ │ │ ├── external_parser_base1.notest.gd │ │ │ │ │ ├── external_parser_base2.notest.gd │ │ │ │ │ ├── external_parser_script1.notest.gd │ │ │ │ │ ├── external_parser_script1_base.notest.gd │ │ │ │ │ ├── external_parser_script1c.notest.gd │ │ │ │ │ ├── external_parser_script1d.notest.gd │ │ │ │ │ ├── external_parser_script1e.notest.gd │ │ │ │ │ ├── external_parser_script1f.notest.gd │ │ │ │ │ ├── external_parser_script2.notest.gd │ │ │ │ │ ├── external_parser_script3.notest.gd │ │ │ │ │ ├── for_loop_on_variant.gd │ │ │ │ │ ├── for_loop_on_variant.out │ │ │ │ │ ├── for_range_usage.gd │ │ │ │ │ ├── for_range_usage.out │ │ │ │ │ ├── function_match_parent_signature_with_default_dict_void.gd │ │ │ │ │ ├── function_match_parent_signature_with_default_dict_void.out │ │ │ │ │ ├── function_match_parent_signature_with_extra_parameters.gd │ │ │ │ │ ├── function_match_parent_signature_with_extra_parameters.out │ │ │ │ │ ├── function_param_type_contravariance.gd │ │ │ │ │ ├── function_param_type_contravariance.out │ │ │ │ │ ├── function_return_type_covariance.gd │ │ │ │ │ ├── function_return_type_covariance.out │ │ │ │ │ ├── gdscript_to_preload.notest.gd │ │ │ │ │ ├── getter_return_type.gd │ │ │ │ │ ├── getter_return_type.out │ │ │ │ │ ├── global_builtin_and_native_enums.gd │ │ │ │ │ ├── global_builtin_and_native_enums.out │ │ │ │ │ ├── global_enums.gd │ │ │ │ │ ├── global_enums.out │ │ │ │ │ ├── hard_variants.gd │ │ │ │ │ ├── hard_variants.out │ │ │ │ │ ├── infer_type_on_string_format.gd │ │ │ │ │ ├── infer_type_on_string_format.out │ │ │ │ │ ├── inferred_return_type.gd │ │ │ │ │ ├── inferred_return_type.out │ │ │ │ │ ├── inheritance_signature_check_no_meta.gd │ │ │ │ │ ├── inheritance_signature_check_no_meta.out │ │ │ │ │ ├── inner_base.gd │ │ │ │ │ ├── inner_base.out │ │ │ │ │ ├── inner_class_access_from_inside.gd │ │ │ │ │ ├── inner_class_access_from_inside.out │ │ │ │ │ ├── inner_class_as_return_type.gd │ │ │ │ │ ├── inner_class_as_return_type.out │ │ │ │ │ ├── lambda_cyclic_ref_body.gd │ │ │ │ │ ├── lambda_cyclic_ref_body.out │ │ │ │ │ ├── lambda_typed.gd │ │ │ │ │ ├── lambda_typed.out │ │ │ │ │ ├── local_const_as_type.gd │ │ │ │ │ ├── local_const_as_type.notest.gd │ │ │ │ │ ├── local_const_as_type.out │ │ │ │ │ ├── local_inference_is_weak.gd │ │ │ │ │ ├── local_inference_is_weak.out │ │ │ │ │ ├── lookup_class.gd │ │ │ │ │ ├── lookup_class.out │ │ │ │ │ ├── lookup_class_external.notest.gd │ │ │ │ │ ├── lookup_signal.gd │ │ │ │ │ ├── lookup_signal.out │ │ │ │ │ ├── native_typed_assign_null.gd │ │ │ │ │ ├── native_typed_assign_null.out │ │ │ │ │ ├── null_initializer.gd │ │ │ │ │ ├── null_initializer.out │ │ │ │ │ ├── onready_on_inner_class_with_non_node_outer.gd │ │ │ │ │ ├── onready_on_inner_class_with_non_node_outer.out │ │ │ │ │ ├── out_of_order.gd │ │ │ │ │ ├── out_of_order.out │ │ │ │ │ ├── out_of_order_external.gd │ │ │ │ │ ├── out_of_order_external.out │ │ │ │ │ ├── out_of_order_external_a.notest.gd │ │ │ │ │ ├── preload_constant_types_are_inferred.gd │ │ │ │ │ ├── preload_constant_types_are_inferred.out │ │ │ │ │ ├── preload_cyclic_reference.gd │ │ │ │ │ ├── preload_cyclic_reference.out │ │ │ │ │ ├── preload_cyclic_reference_a.notest.gd │ │ │ │ │ ├── preload_cyclic_reference_b.notest.gd │ │ │ │ │ ├── preload_script_native_type.gd │ │ │ │ │ ├── preload_script_native_type.notest.gd │ │ │ │ │ ├── preload_script_native_type.out │ │ │ │ │ ├── property_functions.gd │ │ │ │ │ ├── property_functions.out │ │ │ │ │ ├── property_inline.gd │ │ │ │ │ ├── property_inline.out │ │ │ │ │ ├── return_conversions.gd │ │ │ │ │ ├── return_conversions.out │ │ │ │ │ ├── return_variant_typed.gd │ │ │ │ │ ├── return_variant_typed.out │ │ │ │ │ ├── script_typed_assign_null.gd │ │ │ │ │ ├── script_typed_assign_null.out │ │ │ │ │ ├── static_method_builtin_type.gd │ │ │ │ │ ├── static_method_builtin_type.out │ │ │ │ │ ├── static_non_static_access.gd │ │ │ │ │ ├── static_non_static_access.out │ │ │ │ │ ├── subscript_self.gd │ │ │ │ │ ├── subscript_self.out │ │ │ │ │ ├── ternary_hard_infer.gd │ │ │ │ │ ├── ternary_hard_infer.out │ │ │ │ │ ├── type_test_usage.gd │ │ │ │ │ ├── type_test_usage.out │ │ │ │ │ ├── typed_array_as_default_parameter.gd │ │ │ │ │ ├── typed_array_as_default_parameter.out │ │ │ │ │ ├── typed_array_dont_make_literal_typed_with_weak_type.gd │ │ │ │ │ ├── typed_array_dont_make_literal_typed_with_weak_type.out │ │ │ │ │ ├── typed_array_inferred_access_isnt_constant.gd │ │ │ │ │ ├── typed_array_inferred_access_isnt_constant.out │ │ │ │ │ ├── typed_array_usage.gd │ │ │ │ │ ├── typed_array_usage.out │ │ │ │ │ ├── typed_array_with_custom_class.gd │ │ │ │ │ ├── typed_array_with_custom_class.out │ │ │ │ │ ├── typed_dictionary_as_default_parameter.gd │ │ │ │ │ ├── typed_dictionary_as_default_parameter.out │ │ │ │ │ ├── typed_dictionary_inferred_access_isnt_constant.gd │ │ │ │ │ ├── typed_dictionary_inferred_access_isnt_constant.out │ │ │ │ │ ├── typed_dictionary_usage.gd │ │ │ │ │ ├── typed_dictionary_usage.out │ │ │ │ │ ├── typed_dictionary_with_custom_class.gd │ │ │ │ │ ├── typed_dictionary_with_custom_class.out │ │ │ │ │ ├── unassigned_builtin_typed.gd │ │ │ │ │ ├── unassigned_builtin_typed.out │ │ │ │ │ ├── untyped_override_return_compatible_type.gd │ │ │ │ │ ├── untyped_override_return_compatible_type.out │ │ │ │ │ ├── use_preload_script_as_type.gd │ │ │ │ │ ├── use_preload_script_as_type.out │ │ │ │ │ ├── vararg_call.gd │ │ │ │ │ ├── vararg_call.out │ │ │ │ │ ├── variant_arg_in_virtual_method.gd │ │ │ │ │ ├── variant_arg_in_virtual_method.out │ │ │ │ │ ├── virtual_method_implemented.gd │ │ │ │ │ ├── virtual_method_implemented.out │ │ │ │ │ ├── warning_ignore_targets.gd │ │ │ │ │ ├── warning_ignore_targets.out │ │ │ │ │ ├── warning_ignore_warnings.gd │ │ │ │ │ ├── warning_ignore_warnings.out │ │ │ │ │ ├── weak_initializer.gd │ │ │ │ │ └── weak_initializer.out │ │ │ │ └── warnings/ │ │ │ │ ├── cast_enum_bad_enum.gd │ │ │ │ ├── cast_enum_bad_enum.out │ │ │ │ ├── cast_enum_bad_int.gd │ │ │ │ ├── cast_enum_bad_int.out │ │ │ │ ├── confusable_capture_reassignment.gd │ │ │ │ ├── confusable_capture_reassignment.out │ │ │ │ ├── confusable_local_declaration.gd │ │ │ │ ├── confusable_local_declaration.out │ │ │ │ ├── confusable_local_usage.gd │ │ │ │ ├── confusable_local_usage.out │ │ │ │ ├── confusable_local_usage_initializer.gd │ │ │ │ ├── confusable_local_usage_initializer.out │ │ │ │ ├── confusable_local_usage_loop.gd │ │ │ │ ├── confusable_local_usage_loop.out │ │ │ │ ├── enum_without_default_value.gd │ │ │ │ ├── enum_without_default_value.out │ │ │ │ ├── get_node_without_onready.gd │ │ │ │ ├── get_node_without_onready.out │ │ │ │ ├── inference_with_variant.gd │ │ │ │ ├── inference_with_variant.out │ │ │ │ ├── lambda_shadowing_arg.gd │ │ │ │ ├── lambda_shadowing_arg.out │ │ │ │ ├── lambda_unused_arg.gd │ │ │ │ ├── lambda_unused_arg.out │ │ │ │ ├── missing_await.gd │ │ │ │ ├── missing_await.out │ │ │ │ ├── non_tool_extends_tool.gd │ │ │ │ ├── non_tool_extends_tool.notest.gd │ │ │ │ ├── non_tool_extends_tool.out │ │ │ │ ├── non_tool_extends_tool_ignored.gd │ │ │ │ ├── non_tool_extends_tool_ignored.out │ │ │ │ ├── onready_with_export.gd │ │ │ │ ├── onready_with_export.out │ │ │ │ ├── overriding_native_method.gd │ │ │ │ ├── overriding_native_method.out │ │ │ │ ├── redundant_await.gd │ │ │ │ ├── redundant_await.out │ │ │ │ ├── shadowing_base.notest.gd │ │ │ │ ├── shadowning.gd │ │ │ │ ├── shadowning.out │ │ │ │ ├── unsafe_call_argument.gd │ │ │ │ ├── unsafe_call_argument.out │ │ │ │ ├── unsafe_cast.gd │ │ │ │ ├── unsafe_cast.out │ │ │ │ ├── unused_private_class_variable.gd │ │ │ │ ├── unused_private_class_variable.out │ │ │ │ ├── unused_signal.gd │ │ │ │ └── unused_signal.out │ │ │ ├── completion/ │ │ │ │ ├── argument_options/ │ │ │ │ │ ├── argument_options.tscn │ │ │ │ │ ├── connect.cfg │ │ │ │ │ ├── connect.gd │ │ │ │ │ ├── play_inferred.cfg │ │ │ │ │ ├── play_inferred.gd │ │ │ │ │ ├── play_typed.cfg │ │ │ │ │ ├── play_typed.gd │ │ │ │ │ ├── play_untyped.cfg │ │ │ │ │ ├── play_untyped.gd │ │ │ │ │ └── string_literals/ │ │ │ │ │ ├── add_node_path_tween.cfg │ │ │ │ │ ├── add_node_path_tween.gd │ │ │ │ │ ├── add_node_path_tween_prepended.cfg │ │ │ │ │ ├── add_node_path_tween_prepended.gd │ │ │ │ │ ├── add_string_name_input_event.cfg │ │ │ │ │ ├── add_string_name_input_event.gd │ │ │ │ │ ├── add_string_name_input_event_prepended.cfg │ │ │ │ │ ├── add_string_name_input_event_prepended.gd │ │ │ │ │ ├── argument_options_inside_string_literal.cfg │ │ │ │ │ ├── argument_options_inside_string_literal.gd │ │ │ │ │ ├── dont_add_node_path_tween.cfg │ │ │ │ │ ├── dont_add_node_path_tween.gd │ │ │ │ │ ├── dont_add_string_name_input_event.cfg │ │ │ │ │ └── dont_add_string_name_input_event.gd │ │ │ │ ├── assignment_options/ │ │ │ │ │ ├── enum_attribute.cfg │ │ │ │ │ ├── enum_attribute.gd │ │ │ │ │ ├── enum_attribute_identifier.cfg │ │ │ │ │ ├── enum_attribute_identifier.gd │ │ │ │ │ ├── enum_identifier.cfg │ │ │ │ │ ├── enum_identifier.gd │ │ │ │ │ ├── enum_no_identifier.cfg │ │ │ │ │ └── enum_no_identifier.gd │ │ │ │ ├── builtin_enum/ │ │ │ │ │ ├── builtin_enum_autocomplete.cfg │ │ │ │ │ ├── builtin_enum_autocomplete.gd │ │ │ │ │ ├── builtin_enum_in_type_hint.cfg │ │ │ │ │ ├── builtin_enum_in_type_hint.gd │ │ │ │ │ ├── builtin_enum_values_autocompletion.cfg │ │ │ │ │ └── builtin_enum_values_autocompletion.gd │ │ │ │ ├── class_a.notest.gd │ │ │ │ ├── class_b.notest.gd │ │ │ │ ├── common/ │ │ │ │ │ ├── assign_local_variant.cfg │ │ │ │ │ ├── assign_local_variant.gd │ │ │ │ │ ├── identifiers_in_call.cfg │ │ │ │ │ ├── identifiers_in_call.gd │ │ │ │ │ ├── identifiers_in_function_body.cfg │ │ │ │ │ ├── identifiers_in_function_body.gd │ │ │ │ │ ├── identifiers_in_unclosed_call.cfg │ │ │ │ │ ├── identifiers_in_unclosed_call.gd │ │ │ │ │ ├── infer_return_type_without_value.cfg │ │ │ │ │ ├── infer_return_type_without_value.gd │ │ │ │ │ ├── invalid_super_call_1.cfg │ │ │ │ │ ├── invalid_super_call_1.gd │ │ │ │ │ ├── invalid_super_call_2.cfg │ │ │ │ │ ├── invalid_super_call_2.gd │ │ │ │ │ ├── no_completion_in_string.cfg │ │ │ │ │ ├── no_completion_in_string.gd │ │ │ │ │ ├── override_function_abstract.cfg │ │ │ │ │ ├── override_function_abstract.gd │ │ │ │ │ ├── override_function_full_name.cfg │ │ │ │ │ ├── override_function_full_name.gd │ │ │ │ │ ├── override_function_no_underscore.cfg │ │ │ │ │ ├── override_function_no_underscore.gd │ │ │ │ │ ├── override_function_static.cfg │ │ │ │ │ ├── override_function_static.gd │ │ │ │ │ ├── override_function_underscore.cfg │ │ │ │ │ ├── override_function_underscore.gd │ │ │ │ │ ├── self.cfg │ │ │ │ │ └── self.gd │ │ │ │ ├── enum_values_in_dictionary/ │ │ │ │ │ ├── lua_key_1.cfg │ │ │ │ │ ├── lua_key_1.notest.gd │ │ │ │ │ ├── lua_key_2.cfg │ │ │ │ │ ├── lua_key_2.gd │ │ │ │ │ ├── lua_value_1.cfg │ │ │ │ │ ├── lua_value_1.gd │ │ │ │ │ ├── lua_value_2.cfg │ │ │ │ │ ├── lua_value_2.gd │ │ │ │ │ ├── lua_value_3.cfg │ │ │ │ │ ├── lua_value_3.gd │ │ │ │ │ ├── lua_value_4.cfg │ │ │ │ │ ├── lua_value_4.gd │ │ │ │ │ ├── lua_value_5.cfg │ │ │ │ │ ├── lua_value_5.gd │ │ │ │ │ ├── py_key_1.cfg │ │ │ │ │ ├── py_key_1.gd │ │ │ │ │ ├── py_key_2.cfg │ │ │ │ │ ├── py_key_2.gd │ │ │ │ │ ├── py_key_3.cfg │ │ │ │ │ ├── py_key_3.gd │ │ │ │ │ ├── py_key_4.cfg │ │ │ │ │ ├── py_key_4.gd │ │ │ │ │ ├── py_value_1.cfg │ │ │ │ │ ├── py_value_1.gd │ │ │ │ │ ├── py_value_2.cfg │ │ │ │ │ ├── py_value_2.gd │ │ │ │ │ ├── py_value_3.cfg │ │ │ │ │ └── py_value_3.gd │ │ │ │ ├── enum_values_in_match/ │ │ │ │ │ ├── in_branch_1.cfg │ │ │ │ │ ├── in_branch_1.gd │ │ │ │ │ ├── in_branch_2.cfg │ │ │ │ │ ├── in_branch_2.gd │ │ │ │ │ ├── in_branch_3.cfg │ │ │ │ │ ├── in_branch_3.gd │ │ │ │ │ ├── in_test_1.cfg │ │ │ │ │ ├── in_test_1.gd │ │ │ │ │ ├── in_test_2.cfg │ │ │ │ │ ├── in_test_2.gd │ │ │ │ │ ├── in_test_3.cfg │ │ │ │ │ ├── in_test_3.gd │ │ │ │ │ ├── in_test_4.cfg │ │ │ │ │ └── in_test_4.gd │ │ │ │ ├── filter/ │ │ │ │ │ ├── organized_export.cfg │ │ │ │ │ ├── organized_export.gd │ │ │ │ │ ├── usage_internal.cfg │ │ │ │ │ └── usage_internal.gd │ │ │ │ ├── get_node/ │ │ │ │ │ ├── get_node.tscn │ │ │ │ │ ├── literal/ │ │ │ │ │ │ ├── dollar.cfg │ │ │ │ │ │ ├── dollar.gd │ │ │ │ │ │ ├── percent.cfg │ │ │ │ │ │ └── percent.gd │ │ │ │ │ ├── literal_scene/ │ │ │ │ │ │ ├── dollar_class_scene.cfg │ │ │ │ │ │ ├── dollar_class_scene.gd │ │ │ │ │ │ ├── dollar_native_scene.cfg │ │ │ │ │ │ ├── dollar_native_scene.gd │ │ │ │ │ │ ├── dollar_unique.cfg │ │ │ │ │ │ ├── dollar_unique.gd │ │ │ │ │ │ ├── percent_class_scene.cfg │ │ │ │ │ │ ├── percent_class_scene.gd │ │ │ │ │ │ ├── percent_native_scene.cfg │ │ │ │ │ │ └── percent_native_scene.gd │ │ │ │ │ ├── local/ │ │ │ │ │ │ ├── local.cfg │ │ │ │ │ │ └── local.gd │ │ │ │ │ ├── local_inferred/ │ │ │ │ │ │ ├── local_inferred.cfg │ │ │ │ │ │ └── local_inferred.gd │ │ │ │ │ ├── local_inferred_scene/ │ │ │ │ │ │ ├── class_local_inferred_scene.cfg │ │ │ │ │ │ ├── class_local_inferred_scene.gd │ │ │ │ │ │ ├── native_local_inferred_scene.cfg │ │ │ │ │ │ └── native_local_inferred_scene.gd │ │ │ │ │ ├── local_scene/ │ │ │ │ │ │ ├── class_local_scene.cfg │ │ │ │ │ │ ├── class_local_scene.gd │ │ │ │ │ │ ├── native_local_scene.cfg │ │ │ │ │ │ └── native_local_scene.gd │ │ │ │ │ ├── local_typehint/ │ │ │ │ │ │ ├── class_local_typehint.cfg │ │ │ │ │ │ ├── class_local_typehint.gd │ │ │ │ │ │ ├── native_local_typehint.cfg │ │ │ │ │ │ └── native_local_typehint.gd │ │ │ │ │ ├── local_typehint_scene/ │ │ │ │ │ │ ├── class_local_typehint_scene.cfg │ │ │ │ │ │ ├── class_local_typehint_scene.gd │ │ │ │ │ │ ├── native_local_typehint_scene.cfg │ │ │ │ │ │ └── native_local_typehint_scene.gd │ │ │ │ │ ├── local_typehint_scene_broad/ │ │ │ │ │ │ ├── class_local_typehint_scene_broad.cfg │ │ │ │ │ │ ├── class_local_typehint_scene_broad.notest.gd │ │ │ │ │ │ ├── native_local_typehint_scene_broad.cfg │ │ │ │ │ │ └── native_local_typehint_scene_broad.notest.gd │ │ │ │ │ ├── local_typehint_scene_incompatible/ │ │ │ │ │ │ ├── class_local_typehint_scene_incompatible.cfg │ │ │ │ │ │ ├── class_local_typehint_scene_incompatible.gd │ │ │ │ │ │ ├── native_local_typehint_scene_incompatible.cfg │ │ │ │ │ │ └── native_local_typehint_scene_incompatible.gd │ │ │ │ │ ├── member/ │ │ │ │ │ │ ├── member.cfg │ │ │ │ │ │ └── member.gd │ │ │ │ │ ├── member_inferred/ │ │ │ │ │ │ ├── member_inferred.cfg │ │ │ │ │ │ └── member_inferred.gd │ │ │ │ │ ├── member_inferred_scene/ │ │ │ │ │ │ ├── class_member_inferred_scene.cfg │ │ │ │ │ │ ├── class_member_inferred_scene.gd │ │ │ │ │ │ ├── native_member_inferred_scene.cfg │ │ │ │ │ │ └── native_member_inferred_scene.gd │ │ │ │ │ ├── member_scene/ │ │ │ │ │ │ ├── class_member_scene.cfg │ │ │ │ │ │ ├── class_member_scene.gd │ │ │ │ │ │ ├── native_member_scene.cfg │ │ │ │ │ │ └── native_member_scene.gd │ │ │ │ │ ├── member_typehint/ │ │ │ │ │ │ ├── class_member_typehint.cfg │ │ │ │ │ │ ├── class_member_typehint.gd │ │ │ │ │ │ ├── native_member_typehint.cfg │ │ │ │ │ │ └── native_member_typehint.gd │ │ │ │ │ ├── member_typehint_scene/ │ │ │ │ │ │ ├── class_member_typehint_scene.cfg │ │ │ │ │ │ ├── class_member_typehint_scene.gd │ │ │ │ │ │ ├── native_member_typehint_scene.cfg │ │ │ │ │ │ └── native_member_typehint_scene.gd │ │ │ │ │ ├── member_typehint_scene_broad/ │ │ │ │ │ │ ├── class_member_typehint_scene_broad.cfg │ │ │ │ │ │ ├── class_member_typehint_scene_broad.gd │ │ │ │ │ │ ├── native_member_typehint_scene_broad.cfg │ │ │ │ │ │ └── native_member_typehint_scene_broad.gd │ │ │ │ │ └── member_typehint_scene_incompatible/ │ │ │ │ │ ├── class_member_typehint_scene_incompatible.cfg │ │ │ │ │ ├── class_member_typehint_scene_incompatible.gd │ │ │ │ │ ├── native_member_typehint_scene_incompatible.cfg │ │ │ │ │ └── native_member_typehint_scene_incompatible.gd │ │ │ │ ├── global_enum/ │ │ │ │ │ ├── global_enum_identifier.cfg │ │ │ │ │ ├── global_enum_identifier.gd │ │ │ │ │ ├── global_enum_in_extends.cfg │ │ │ │ │ ├── global_enum_in_extends.gd │ │ │ │ │ ├── global_enum_in_type_hint.cfg │ │ │ │ │ ├── global_enum_in_type_hint.gd │ │ │ │ │ ├── global_enum_values.cfg │ │ │ │ │ └── global_enum_values.gd │ │ │ │ ├── index/ │ │ │ │ │ ├── array_type.cfg │ │ │ │ │ ├── array_type.gd │ │ │ │ │ ├── array_value.cfg │ │ │ │ │ ├── array_value.gd │ │ │ │ │ ├── const_dictionary_keys.cfg │ │ │ │ │ ├── const_dictionary_keys.gd │ │ │ │ │ ├── dictionary_type.cfg │ │ │ │ │ ├── dictionary_type.gd │ │ │ │ │ ├── dictionary_value.cfg │ │ │ │ │ ├── dictionary_value.gd │ │ │ │ │ ├── local_dictionary_keys.cfg │ │ │ │ │ ├── local_dictionary_keys.gd │ │ │ │ │ ├── property_dictionary_keys.cfg │ │ │ │ │ ├── property_dictionary_keys.gd │ │ │ │ │ ├── untyped_local.cfg │ │ │ │ │ ├── untyped_local.gd │ │ │ │ │ ├── untyped_property.cfg │ │ │ │ │ └── untyped_property.gd │ │ │ │ ├── no_parenthesis_when_callable_is_expected/ │ │ │ │ │ ├── builtin_complete_braces.cfg │ │ │ │ │ ├── builtin_complete_braces.gd │ │ │ │ │ ├── builtin_incomplete_braces.cfg │ │ │ │ │ ├── builtin_incomplete_braces.gd │ │ │ │ │ ├── lambda_body.cfg │ │ │ │ │ ├── lambda_body.gd │ │ │ │ │ ├── lambda_parameter.cfg │ │ │ │ │ ├── lambda_parameter.gd │ │ │ │ │ ├── local_method_callable_arg_0.cfg │ │ │ │ │ ├── local_method_callable_arg_0.gd │ │ │ │ │ ├── local_method_callable_arg_1.cfg │ │ │ │ │ ├── local_method_callable_arg_1.gd │ │ │ │ │ ├── local_method_variant_arg_0.cfg │ │ │ │ │ ├── local_method_variant_arg_0.gd │ │ │ │ │ ├── native.cfg │ │ │ │ │ └── native.gd │ │ │ │ └── types/ │ │ │ │ ├── hints/ │ │ │ │ │ ├── index_0.cfg │ │ │ │ │ ├── index_0.gd │ │ │ │ │ ├── index_0_inner_class.cfg │ │ │ │ │ ├── index_0_inner_class.gd │ │ │ │ │ ├── index_1_global_class.cfg │ │ │ │ │ ├── index_1_global_class.gd │ │ │ │ │ ├── index_1_local_class.cfg │ │ │ │ │ ├── index_1_local_class.gd │ │ │ │ │ ├── index_1_local_enum.cfg │ │ │ │ │ ├── index_1_local_enum.gd │ │ │ │ │ ├── index_1_preload.cfg │ │ │ │ │ ├── index_1_preload.gd │ │ │ │ │ ├── index_2.cfg │ │ │ │ │ └── index_2.gd │ │ │ │ ├── local/ │ │ │ │ │ ├── inferred.cfg │ │ │ │ │ ├── inferred.gd │ │ │ │ │ ├── no_type/ │ │ │ │ │ │ ├── builtin_type.cfg │ │ │ │ │ │ ├── builtin_type.gd │ │ │ │ │ │ ├── gdscript_utility_function.cfg │ │ │ │ │ │ ├── gdscript_utility_function.gd │ │ │ │ │ │ ├── script.cfg │ │ │ │ │ │ └── script.gd │ │ │ │ │ ├── typehint.cfg │ │ │ │ │ ├── typehint.gd │ │ │ │ │ ├── typehint_broad.cfg │ │ │ │ │ ├── typehint_broad.gd │ │ │ │ │ ├── typehint_incompatible.cfg │ │ │ │ │ └── typehint_incompatible.gd │ │ │ │ └── member/ │ │ │ │ ├── inferred.cfg │ │ │ │ ├── inferred.gd │ │ │ │ ├── no_type.cfg │ │ │ │ ├── no_type.gd │ │ │ │ ├── typehint.cfg │ │ │ │ ├── typehint.gd │ │ │ │ ├── typehint_broad.cfg │ │ │ │ ├── typehint_broad.gd │ │ │ │ ├── typehint_incompatible.cfg │ │ │ │ └── typehint_incompatible.gd │ │ │ ├── lsp/ │ │ │ │ ├── class.gd │ │ │ │ ├── doc_comments.gd │ │ │ │ ├── enums.gd │ │ │ │ ├── first_line_class_name.gd │ │ │ │ ├── first_line_comment.gd │ │ │ │ ├── indentation.gd │ │ │ │ ├── lambdas.gd │ │ │ │ ├── local_variables.gd │ │ │ │ ├── properties.gd │ │ │ │ ├── scopes.gd │ │ │ │ ├── shadowing_initializer.gd │ │ │ │ └── super.gd │ │ │ ├── parser/ │ │ │ │ ├── errors/ │ │ │ │ │ ├── annotation_deprecated.gd │ │ │ │ │ ├── annotation_deprecated.out │ │ │ │ │ ├── annotation_experimental.gd │ │ │ │ │ ├── annotation_experimental.out │ │ │ │ │ ├── annotation_extra_comma.gd │ │ │ │ │ ├── annotation_extra_comma.out │ │ │ │ │ ├── annotation_inapplicable.gd │ │ │ │ │ ├── annotation_inapplicable.out │ │ │ │ │ ├── annotation_tutorial.gd │ │ │ │ │ ├── annotation_tutorial.out │ │ │ │ │ ├── annotation_unrecognized.gd │ │ │ │ │ ├── annotation_unrecognized.out │ │ │ │ │ ├── array_consecutive_commas.gd │ │ │ │ │ ├── array_consecutive_commas.out │ │ │ │ │ ├── assignment_2_equal_signs.gd │ │ │ │ │ ├── assignment_2_equal_signs.out │ │ │ │ │ ├── assignment_3_equal_signs.gd │ │ │ │ │ ├── assignment_3_equal_signs.out │ │ │ │ │ ├── assignment_empty_assignee.gd │ │ │ │ │ ├── assignment_empty_assignee.out │ │ │ │ │ ├── assignment_in_if.gd │ │ │ │ │ ├── assignment_in_if.out │ │ │ │ │ ├── assignment_in_var.gd │ │ │ │ │ ├── assignment_in_var.out │ │ │ │ │ ├── assignment_in_var_if.gd │ │ │ │ │ ├── assignment_in_var_if.out │ │ │ │ │ ├── assignment_without_identifier.gd │ │ │ │ │ ├── assignment_without_identifier.out │ │ │ │ │ ├── bad_continue_in_lambda.gd │ │ │ │ │ ├── bad_continue_in_lambda.out │ │ │ │ │ ├── bad_r_string_1.gd │ │ │ │ │ ├── bad_r_string_1.out │ │ │ │ │ ├── bad_r_string_2.gd │ │ │ │ │ ├── bad_r_string_2.out │ │ │ │ │ ├── bad_r_string_3.gd │ │ │ │ │ ├── bad_r_string_3.out │ │ │ │ │ ├── binary_complement_without_argument.gd │ │ │ │ │ ├── binary_complement_without_argument.out │ │ │ │ │ ├── boolean_negation_without_argument.gd │ │ │ │ │ ├── boolean_negation_without_argument.out │ │ │ │ │ ├── boolean_negation_without_argument_using_bang.gd │ │ │ │ │ ├── boolean_negation_without_argument_using_bang.out │ │ │ │ │ ├── brace_syntax.gd │ │ │ │ │ ├── brace_syntax.out │ │ │ │ │ ├── class_name_after_annotation.gd │ │ │ │ │ ├── class_name_after_annotation.out │ │ │ │ │ ├── constant_conflicts_variable.gd │ │ │ │ │ ├── constant_conflicts_variable.out │ │ │ │ │ ├── default_value_in_function_call.gd │ │ │ │ │ ├── default_value_in_function_call.out │ │ │ │ │ ├── dollar_assignment_bug_53696.gd │ │ │ │ │ ├── dollar_assignment_bug_53696.out │ │ │ │ │ ├── double_dictionary_comma.gd │ │ │ │ │ ├── double_dictionary_comma.out │ │ │ │ │ ├── duplicate_icon.gd │ │ │ │ │ ├── duplicate_icon.out │ │ │ │ │ ├── duplicate_tool.gd │ │ │ │ │ ├── duplicate_tool.out │ │ │ │ │ ├── export_enum_wrong_array_type.gd │ │ │ │ │ ├── export_enum_wrong_array_type.out │ │ │ │ │ ├── export_enum_wrong_type.gd │ │ │ │ │ ├── export_enum_wrong_type.out │ │ │ │ │ ├── export_godot3_syntax.gd │ │ │ │ │ ├── export_godot3_syntax.out │ │ │ │ │ ├── export_godot3_syntax_with_args.gd │ │ │ │ │ ├── export_godot3_syntax_with_args.out │ │ │ │ │ ├── export_tool_button_requires_tool_mode.gd │ │ │ │ │ ├── export_tool_button_requires_tool_mode.out │ │ │ │ │ ├── function_conflicts_constant.gd │ │ │ │ │ ├── function_conflicts_constant.out │ │ │ │ │ ├── function_conflicts_variable.gd │ │ │ │ │ ├── function_conflicts_variable.out │ │ │ │ │ ├── identifier_similar_to_keyword.gd │ │ │ │ │ ├── identifier_similar_to_keyword.out │ │ │ │ │ ├── invalid_escape_sequence.gd │ │ │ │ │ ├── invalid_escape_sequence.out │ │ │ │ │ ├── invalid_identifier_number.gd │ │ │ │ │ ├── invalid_identifier_number.out │ │ │ │ │ ├── invalid_identifier_string.gd │ │ │ │ │ ├── invalid_identifier_string.out │ │ │ │ │ ├── invalid_ternary_operator.gd │ │ │ │ │ ├── invalid_ternary_operator.out │ │ │ │ │ ├── lambda_no_continue_on_new_line.gd │ │ │ │ │ ├── lambda_no_continue_on_new_line.out │ │ │ │ │ ├── lambda_standalone.gd │ │ │ │ │ ├── lambda_standalone.out │ │ │ │ │ ├── lambda_without_colon.gd │ │ │ │ │ ├── lambda_without_colon.out │ │ │ │ │ ├── match_guard_with_assignment.gd │ │ │ │ │ ├── match_guard_with_assignment.out │ │ │ │ │ ├── match_multiple_variable_binds_in_branch.gd │ │ │ │ │ ├── match_multiple_variable_binds_in_branch.out │ │ │ │ │ ├── missing_closing_expr_paren.gd │ │ │ │ │ ├── missing_closing_expr_paren.out │ │ │ │ │ ├── missing_colon.gd │ │ │ │ │ ├── missing_colon.out │ │ │ │ │ ├── missing_expression_after_ternary_else.gd │ │ │ │ │ ├── missing_expression_after_ternary_else.out │ │ │ │ │ ├── missing_paren_after_args.gd │ │ │ │ │ ├── missing_paren_after_args.out │ │ │ │ │ ├── mistaken_decrement_operator.gd │ │ │ │ │ ├── mistaken_decrement_operator.out │ │ │ │ │ ├── mistaken_increment_operator.gd │ │ │ │ │ ├── mistaken_increment_operator.out │ │ │ │ │ ├── mixing_tabs_spaces.textonly.gd │ │ │ │ │ ├── mixing_tabs_spaces.textonly.out │ │ │ │ │ ├── multiple_number_separators.gd │ │ │ │ │ ├── multiple_number_separators.out │ │ │ │ │ ├── multiple_number_separators_after_decimal.gd │ │ │ │ │ ├── multiple_number_separators_after_decimal.out │ │ │ │ │ ├── nothing_after_dollar.gd │ │ │ │ │ ├── nothing_after_dollar.out │ │ │ │ │ ├── redefine_keyword.gd │ │ │ │ │ ├── redefine_keyword.out │ │ │ │ │ ├── redefine_local_constant_with_keyword.gd │ │ │ │ │ ├── redefine_local_constant_with_keyword.out │ │ │ │ │ ├── static_constructor_not_static.gd │ │ │ │ │ ├── static_constructor_not_static.out │ │ │ │ │ ├── static_constructor_returning_something.gd │ │ │ │ │ ├── static_constructor_returning_something.out │ │ │ │ │ ├── subscript_without_index.gd │ │ │ │ │ ├── subscript_without_index.out │ │ │ │ │ ├── unexpected_token_in_class_body.gd │ │ │ │ │ ├── unexpected_token_in_class_body.out │ │ │ │ │ ├── variable_conflicts_constant.gd │ │ │ │ │ ├── variable_conflicts_constant.out │ │ │ │ │ ├── variable_conflicts_for_variable.gd │ │ │ │ │ ├── variable_conflicts_for_variable.out │ │ │ │ │ ├── variable_conflicts_function.gd │ │ │ │ │ ├── variable_conflicts_function.out │ │ │ │ │ ├── variable_conflicts_variable.gd │ │ │ │ │ ├── variable_conflicts_variable.out │ │ │ │ │ ├── variadic_func_params_after_rest.gd │ │ │ │ │ ├── variadic_func_params_after_rest.out │ │ │ │ │ ├── variadic_func_rest_after_rest.gd │ │ │ │ │ ├── variadic_func_rest_after_rest.out │ │ │ │ │ ├── variadic_func_rest_with_default.gd │ │ │ │ │ ├── variadic_func_rest_with_default.out │ │ │ │ │ ├── variadic_func_static_init.gd │ │ │ │ │ ├── variadic_func_static_init.out │ │ │ │ │ ├── vcs_conflict_marker.gd │ │ │ │ │ ├── vcs_conflict_marker.out │ │ │ │ │ ├── warning_ignore_extra_start.gd │ │ │ │ │ ├── warning_ignore_extra_start.out │ │ │ │ │ ├── warning_ignore_restore_without_start.gd │ │ │ │ │ ├── warning_ignore_restore_without_start.out │ │ │ │ │ ├── wrong_value_after_dollar.gd │ │ │ │ │ ├── wrong_value_after_dollar.out │ │ │ │ │ ├── wrong_value_after_dollar_slash.gd │ │ │ │ │ ├── wrong_value_after_dollar_slash.out │ │ │ │ │ ├── yield_instead_of_await.gd │ │ │ │ │ └── yield_instead_of_await.out │ │ │ │ ├── features/ │ │ │ │ │ ├── advanced_expression_matching.gd │ │ │ │ │ ├── advanced_expression_matching.out │ │ │ │ │ ├── allow_id_similar_to_keyword_in_ascii.gd │ │ │ │ │ ├── allow_id_similar_to_keyword_in_ascii.out │ │ │ │ │ ├── allow_strings_as_comments.gd │ │ │ │ │ ├── allow_strings_as_comments.out │ │ │ │ │ ├── allowed_keywords_as_identifiers.gd │ │ │ │ │ ├── allowed_keywords_as_identifiers.out │ │ │ │ │ ├── annotations.gd │ │ │ │ │ ├── annotations.out │ │ │ │ │ ├── array.gd │ │ │ │ │ ├── array.out │ │ │ │ │ ├── arrays_dictionaries_nested_const.gd │ │ │ │ │ ├── arrays_dictionaries_nested_const.out │ │ │ │ │ ├── basic_expression_matching.gd │ │ │ │ │ ├── basic_expression_matching.out │ │ │ │ │ ├── bitwise_operators.gd │ │ │ │ │ ├── bitwise_operators.out │ │ │ │ │ ├── class.gd │ │ │ │ │ ├── class.out │ │ │ │ │ ├── class_inheritance.gd │ │ │ │ │ ├── class_inheritance.out │ │ │ │ │ ├── class_inheritance_access.gd │ │ │ │ │ ├── class_inheritance_access.out │ │ │ │ │ ├── class_name.gd │ │ │ │ │ ├── class_name.out │ │ │ │ │ ├── concatenation.gd │ │ │ │ │ ├── concatenation.out │ │ │ │ │ ├── constants.gd │ │ │ │ │ ├── constants.out │ │ │ │ │ ├── continuation_lines_comments.bin.gd │ │ │ │ │ ├── continuation_lines_comments.bin.out │ │ │ │ │ ├── dictionary.gd │ │ │ │ │ ├── dictionary.out │ │ │ │ │ ├── dictionary_lua_style.gd │ │ │ │ │ ├── dictionary_lua_style.out │ │ │ │ │ ├── dictionary_mixed_syntax.gd │ │ │ │ │ ├── dictionary_mixed_syntax.out │ │ │ │ │ ├── dollar_and_percent_get_node.gd │ │ │ │ │ ├── dollar_and_percent_get_node.out │ │ │ │ │ ├── dollar_node_paths.gd │ │ │ │ │ ├── dollar_node_paths.out │ │ │ │ │ ├── enum.gd │ │ │ │ │ ├── enum.out │ │ │ │ │ ├── export_arrays.gd │ │ │ │ │ ├── export_arrays.out │ │ │ │ │ ├── export_enum.gd │ │ │ │ │ ├── export_enum.out │ │ │ │ │ ├── export_variable.gd │ │ │ │ │ ├── export_variable.out │ │ │ │ │ ├── export_variable_global.notest.gd │ │ │ │ │ ├── export_variable_unnamed.notest.gd │ │ │ │ │ ├── float_notation.gd │ │ │ │ │ ├── float_notation.out │ │ │ │ │ ├── for_range.gd │ │ │ │ │ ├── for_range.out │ │ │ │ │ ├── function_default_parameter_type_inference.gd │ │ │ │ │ ├── function_default_parameter_type_inference.out │ │ │ │ │ ├── function_many_parameters.gd │ │ │ │ │ ├── function_many_parameters.out │ │ │ │ │ ├── good_continue_in_lambda.gd │ │ │ │ │ ├── good_continue_in_lambda.out │ │ │ │ │ ├── if_after_lambda.gd │ │ │ │ │ ├── if_after_lambda.out │ │ │ │ │ ├── in.gd │ │ │ │ │ ├── in.out │ │ │ │ │ ├── is_not_operator.gd │ │ │ │ │ ├── is_not_operator.out │ │ │ │ │ ├── lambda_callable.gd │ │ │ │ │ ├── lambda_callable.out │ │ │ │ │ ├── lambda_capture_callable.gd │ │ │ │ │ ├── lambda_capture_callable.out │ │ │ │ │ ├── lambda_default_parameter_capture.gd │ │ │ │ │ ├── lambda_default_parameter_capture.out │ │ │ │ │ ├── lambda_ends_with_new_line.gd │ │ │ │ │ ├── lambda_ends_with_new_line.out │ │ │ │ │ ├── lambda_named_callable.gd │ │ │ │ │ ├── lambda_named_callable.out │ │ │ │ │ ├── match.gd │ │ │ │ │ ├── match.out │ │ │ │ │ ├── match_array.gd │ │ │ │ │ ├── match_array.out │ │ │ │ │ ├── match_bind_unused.gd │ │ │ │ │ ├── match_bind_unused.out │ │ │ │ │ ├── match_dictionary.gd │ │ │ │ │ ├── match_dictionary.out │ │ │ │ │ ├── match_multiple_patterns_with_array.gd │ │ │ │ │ ├── match_multiple_patterns_with_array.out │ │ │ │ │ ├── match_multiple_variable_binds_in_pattern.gd │ │ │ │ │ ├── match_multiple_variable_binds_in_pattern.out │ │ │ │ │ ├── match_with_variables.gd │ │ │ │ │ ├── match_with_variables.out │ │ │ │ │ ├── mixed_indentation_on_blank_lines.gd │ │ │ │ │ ├── mixed_indentation_on_blank_lines.out │ │ │ │ │ ├── multiline_arrays.gd │ │ │ │ │ ├── multiline_arrays.out │ │ │ │ │ ├── multiline_assert.gd │ │ │ │ │ ├── multiline_assert.out │ │ │ │ │ ├── multiline_dictionaries.gd │ │ │ │ │ ├── multiline_dictionaries.out │ │ │ │ │ ├── multiline_if.gd │ │ │ │ │ ├── multiline_if.out │ │ │ │ │ ├── multiline_strings.gd │ │ │ │ │ ├── multiline_strings.out │ │ │ │ │ ├── multiline_vector.gd │ │ │ │ │ ├── multiline_vector.out │ │ │ │ │ ├── nested_arithmetic.gd │ │ │ │ │ ├── nested_arithmetic.out │ │ │ │ │ ├── nested_array.gd │ │ │ │ │ ├── nested_array.out │ │ │ │ │ ├── nested_dictionary.gd │ │ │ │ │ ├── nested_dictionary.out │ │ │ │ │ ├── nested_function_calls.gd │ │ │ │ │ ├── nested_function_calls.out │ │ │ │ │ ├── nested_if.gd │ │ │ │ │ ├── nested_if.out │ │ │ │ │ ├── nested_match.gd │ │ │ │ │ ├── nested_match.out │ │ │ │ │ ├── nested_parentheses.gd │ │ │ │ │ ├── nested_parentheses.out │ │ │ │ │ ├── number_literals_with_sign.gd │ │ │ │ │ ├── number_literals_with_sign.out │ │ │ │ │ ├── number_separators.gd │ │ │ │ │ ├── number_separators.out │ │ │ │ │ ├── operator_assign.gd │ │ │ │ │ ├── operator_assign.out │ │ │ │ │ ├── property_setter_getter.gd │ │ │ │ │ ├── property_setter_getter.out │ │ │ │ │ ├── r_strings.gd │ │ │ │ │ ├── r_strings.out │ │ │ │ │ ├── reserved_keywords_as_attribute.gd │ │ │ │ │ ├── reserved_keywords_as_attribute.out │ │ │ │ │ ├── semicolon_as_end_statement.gd │ │ │ │ │ ├── semicolon_as_end_statement.out │ │ │ │ │ ├── semicolon_as_terminator.gd │ │ │ │ │ ├── semicolon_as_terminator.out │ │ │ │ │ ├── signal_declaration.gd │ │ │ │ │ ├── signal_declaration.out │ │ │ │ │ ├── single_line_declaration.gd │ │ │ │ │ ├── single_line_declaration.out │ │ │ │ │ ├── space_indentation.gd │ │ │ │ │ ├── space_indentation.out │ │ │ │ │ ├── static_typing.gd │ │ │ │ │ ├── static_typing.out │ │ │ │ │ ├── str_preserves_case.gd │ │ │ │ │ ├── str_preserves_case.out │ │ │ │ │ ├── string_formatting.gd │ │ │ │ │ ├── string_formatting.out │ │ │ │ │ ├── super.gd │ │ │ │ │ ├── super.out │ │ │ │ │ ├── trailing_comma_in_function_args.gd │ │ │ │ │ ├── trailing_comma_in_function_args.out │ │ │ │ │ ├── truthiness.gd │ │ │ │ │ ├── truthiness.out │ │ │ │ │ ├── typed_arrays.gd │ │ │ │ │ ├── typed_arrays.out │ │ │ │ │ ├── typed_dictionaries.gd │ │ │ │ │ ├── typed_dictionaries.out │ │ │ │ │ ├── unicode_identifiers.gd │ │ │ │ │ ├── unicode_identifiers.out │ │ │ │ │ ├── unnamed_enums_outer_conflicts.gd │ │ │ │ │ ├── unnamed_enums_outer_conflicts.out │ │ │ │ │ ├── variable_declaration.gd │ │ │ │ │ ├── variable_declaration.out │ │ │ │ │ ├── vector_inf.gd │ │ │ │ │ ├── vector_inf.out │ │ │ │ │ ├── warning_ignore_regions.gd │ │ │ │ │ ├── warning_ignore_regions.out │ │ │ │ │ ├── while.gd │ │ │ │ │ └── while.out │ │ │ │ └── warnings/ │ │ │ │ ├── assert_always_true.gd │ │ │ │ ├── assert_always_true.out │ │ │ │ ├── confusable_identifier.gd │ │ │ │ ├── confusable_identifier.out │ │ │ │ ├── deprecated_operators.gd │ │ │ │ ├── deprecated_operators.out │ │ │ │ ├── empty_file.norun.gd │ │ │ │ ├── empty_file.norun.out │ │ │ │ ├── empty_file_comment.norun.gd │ │ │ │ ├── empty_file_comment.norun.out │ │ │ │ ├── empty_file_newline.norun.gd │ │ │ │ ├── empty_file_newline.norun.out │ │ │ │ ├── empty_file_newline_comment.norun.gd │ │ │ │ ├── empty_file_newline_comment.norun.out │ │ │ │ ├── enum_assign_int_without_casting.gd │ │ │ │ ├── enum_assign_int_without_casting.out │ │ │ │ ├── incompatible_ternary.gd │ │ │ │ ├── incompatible_ternary.out │ │ │ │ ├── integer_division.gd │ │ │ │ ├── integer_division.out │ │ │ │ ├── match_default_not_at_end.gd │ │ │ │ ├── match_default_not_at_end.out │ │ │ │ ├── narrowing_conversion.gd │ │ │ │ ├── narrowing_conversion.out │ │ │ │ ├── return_value_discarded.gd │ │ │ │ ├── return_value_discarded.out │ │ │ │ ├── shadowed_constant.gd │ │ │ │ ├── shadowed_constant.out │ │ │ │ ├── shadowed_global_identifier.gd │ │ │ │ ├── shadowed_global_identifier.out │ │ │ │ ├── shadowed_variable_class.gd │ │ │ │ ├── shadowed_variable_class.out │ │ │ │ ├── shadowed_variable_function.gd │ │ │ │ ├── shadowed_variable_function.out │ │ │ │ ├── standalone_expression.gd │ │ │ │ ├── standalone_expression.out │ │ │ │ ├── standalone_ternary.gd │ │ │ │ ├── standalone_ternary.out │ │ │ │ ├── static_called_on_instance.gd │ │ │ │ ├── static_called_on_instance.out │ │ │ │ ├── unassigned_variable.gd │ │ │ │ ├── unassigned_variable.out │ │ │ │ ├── unassigned_variable_op_assign.gd │ │ │ │ ├── unassigned_variable_op_assign.out │ │ │ │ ├── unreachable_code_after_return.gd │ │ │ │ ├── unreachable_code_after_return.out │ │ │ │ ├── unreachable_code_after_return_bug_55154.gd │ │ │ │ ├── unreachable_code_after_return_bug_55154.out │ │ │ │ ├── unused_argument.gd │ │ │ │ ├── unused_argument.out │ │ │ │ ├── unused_constant.gd │ │ │ │ ├── unused_constant.out │ │ │ │ ├── unused_variable.gd │ │ │ │ └── unused_variable.out │ │ │ ├── project.godot │ │ │ ├── runtime/ │ │ │ │ ├── errors/ │ │ │ │ │ ├── array_bad_index.gd │ │ │ │ │ ├── array_bad_index.out │ │ │ │ │ ├── assign_freed_instance.gd │ │ │ │ │ ├── assign_freed_instance.out │ │ │ │ │ ├── assign_to_read_only_property.gd │ │ │ │ │ ├── assign_to_read_only_property.out │ │ │ │ │ ├── bad_conversion_for_default_parameter.gd │ │ │ │ │ ├── bad_conversion_for_default_parameter.out │ │ │ │ │ ├── callable_call_after_free_object.gd │ │ │ │ │ ├── callable_call_after_free_object.out │ │ │ │ │ ├── callable_call_invalid_arg_type.gd │ │ │ │ │ ├── callable_call_invalid_arg_type.out │ │ │ │ │ ├── cast_freed_object.gd │ │ │ │ │ ├── cast_freed_object.out │ │ │ │ │ ├── cast_int_to_array.gd │ │ │ │ │ ├── cast_int_to_array.out │ │ │ │ │ ├── cast_int_to_object.gd │ │ │ │ │ ├── cast_int_to_object.out │ │ │ │ │ ├── cast_object_to_int.gd │ │ │ │ │ ├── cast_object_to_int.out │ │ │ │ │ ├── constant_array_is_deep.gd │ │ │ │ │ ├── constant_array_is_deep.out │ │ │ │ │ ├── constant_dictionary_is_deep.gd │ │ │ │ │ ├── constant_dictionary_is_deep.out │ │ │ │ │ ├── division_by_zero.gd │ │ │ │ │ ├── division_by_zero.out │ │ │ │ │ ├── for_loop_iterator_type_not_match_specified.gd │ │ │ │ │ ├── for_loop_iterator_type_not_match_specified.out │ │ │ │ │ ├── gd_utility_function_wrong_arg.gd │ │ │ │ │ ├── gd_utility_function_wrong_arg.out │ │ │ │ │ ├── invalid_property_assignment.gd │ │ │ │ │ ├── invalid_property_assignment.out │ │ │ │ │ ├── modulo_by_zero.gd │ │ │ │ │ ├── modulo_by_zero.out │ │ │ │ │ ├── non_static_method_call_on_native_class.gd │ │ │ │ │ ├── non_static_method_call_on_native_class.out │ │ │ │ │ ├── outer_class_constants.gd │ │ │ │ │ ├── outer_class_constants.out │ │ │ │ │ ├── read_only_dictionary.gd │ │ │ │ │ ├── read_only_dictionary.out │ │ │ │ │ ├── reload_suspended_function.notest.gd │ │ │ │ │ ├── reload_suspended_function.out │ │ │ │ │ ├── reload_suspended_function_helper.notest.gd │ │ │ │ │ ├── typed_array_assign_basic_to_typed.gd │ │ │ │ │ ├── typed_array_assign_basic_to_typed.out │ │ │ │ │ ├── typed_array_assign_differently_typed.gd │ │ │ │ │ ├── typed_array_assign_differently_typed.out │ │ │ │ │ ├── typed_array_assign_wrong_to_typed.gd │ │ │ │ │ ├── typed_array_assign_wrong_to_typed.out │ │ │ │ │ ├── typed_array_pass_basic_to_typed.gd │ │ │ │ │ ├── typed_array_pass_basic_to_typed.out │ │ │ │ │ ├── typed_array_pass_differently_to_typed.gd │ │ │ │ │ ├── typed_array_pass_differently_to_typed.out │ │ │ │ │ ├── typed_dictionary_assign_basic_to_typed.gd │ │ │ │ │ ├── typed_dictionary_assign_basic_to_typed.out │ │ │ │ │ ├── typed_dictionary_assign_differently_typed.gd │ │ │ │ │ ├── typed_dictionary_assign_differently_typed.out │ │ │ │ │ ├── typed_dictionary_assign_differently_typed_key.gd │ │ │ │ │ ├── typed_dictionary_assign_differently_typed_key.out │ │ │ │ │ ├── typed_dictionary_assign_differently_typed_value.gd │ │ │ │ │ ├── typed_dictionary_assign_differently_typed_value.out │ │ │ │ │ ├── typed_dictionary_assign_wrong_to_typed.gd │ │ │ │ │ ├── typed_dictionary_assign_wrong_to_typed.out │ │ │ │ │ ├── typed_dictionary_pass_basic_to_typed.gd │ │ │ │ │ ├── typed_dictionary_pass_basic_to_typed.out │ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.gd │ │ │ │ │ ├── typed_dictionary_pass_differently_to_typed.out │ │ │ │ │ ├── untyped_override_return_incompatible_value.gd │ │ │ │ │ ├── untyped_override_return_incompatible_value.out │ │ │ │ │ ├── use_return_value_of_free_call.gd │ │ │ │ │ ├── use_return_value_of_free_call.out │ │ │ │ │ ├── use_return_value_of_void_builtin_method_call.gd │ │ │ │ │ ├── use_return_value_of_void_builtin_method_call.out │ │ │ │ │ ├── use_return_value_of_void_native_method_call.gd │ │ │ │ │ ├── use_return_value_of_void_native_method_call.out │ │ │ │ │ ├── utility_function_wrong_arg.gd │ │ │ │ │ └── utility_function_wrong_arg.out │ │ │ │ └── features/ │ │ │ │ ├── abstract_methods.gd │ │ │ │ ├── abstract_methods.out │ │ │ │ ├── argument_count.gd │ │ │ │ ├── argument_count.out │ │ │ │ ├── array_implicit_conversions.gd │ │ │ │ ├── array_implicit_conversions.out │ │ │ │ ├── array_string_stringname_equivalent.gd │ │ │ │ ├── array_string_stringname_equivalent.out │ │ │ │ ├── arrays_arent_shared.gd │ │ │ │ ├── arrays_arent_shared.out │ │ │ │ ├── assign_member_with_operation.gd │ │ │ │ ├── assign_member_with_operation.out │ │ │ │ ├── assign_operator.gd │ │ │ │ ├── assign_operator.out │ │ │ │ ├── await_on_void.gd │ │ │ │ ├── await_on_void.out │ │ │ │ ├── await_signal_with_parameters.gd │ │ │ │ ├── await_signal_with_parameters.out │ │ │ │ ├── await_without_coroutine.gd │ │ │ │ ├── await_without_coroutine.out │ │ │ │ ├── builtin_method_as_callable.gd │ │ │ │ ├── builtin_method_as_callable.out │ │ │ │ ├── call_native_static_base_method_runtime.gd │ │ │ │ ├── call_native_static_base_method_runtime.out │ │ │ │ ├── call_native_static_method_validated.gd │ │ │ │ ├── call_native_static_method_validated.out │ │ │ │ ├── callv_readonly_array.gd │ │ │ │ ├── callv_readonly_array.out │ │ │ │ ├── chain_assignment_works.gd │ │ │ │ ├── chain_assignment_works.out │ │ │ │ ├── compare_builtin_equals_null.gd │ │ │ │ ├── compare_builtin_equals_null.out │ │ │ │ ├── compare_builtin_not_equals_null.gd │ │ │ │ ├── compare_builtin_not_equals_null.out │ │ │ │ ├── compare_null_equals_builtin.gd │ │ │ │ ├── compare_null_equals_builtin.out │ │ │ │ ├── compare_null_not_equals_builtin.gd │ │ │ │ ├── compare_null_not_equals_builtin.out │ │ │ │ ├── const_class_reference.gd │ │ │ │ ├── const_class_reference.out │ │ │ │ ├── const_class_reference_external.notest.gd │ │ │ │ ├── constants_are_read_only.gd │ │ │ │ ├── constants_are_read_only.out │ │ │ │ ├── conversion_for_default_parameter.gd │ │ │ │ ├── conversion_for_default_parameter.out │ │ │ │ ├── conversions_from_native_members.gd │ │ │ │ ├── conversions_from_native_members.out │ │ │ │ ├── coroutine_clearing.gd │ │ │ │ ├── coroutine_clearing.out │ │ │ │ ├── ctor_as_callable.gd │ │ │ │ ├── ctor_as_callable.out │ │ │ │ ├── default_set_beforehand.gd │ │ │ │ ├── default_set_beforehand.out │ │ │ │ ├── dictionaries_arent_shared.gd │ │ │ │ ├── dictionaries_arent_shared.out │ │ │ │ ├── dictionary_string_stringname_equivalent.gd │ │ │ │ ├── dictionary_string_stringname_equivalent.out │ │ │ │ ├── does_not_override_temp_values.gd │ │ │ │ ├── does_not_override_temp_values.out │ │ │ │ ├── duplicate_resource.gd │ │ │ │ ├── duplicate_resource.out │ │ │ │ ├── emit_after_await.gd │ │ │ │ ├── emit_after_await.out │ │ │ │ ├── emit_one_shot_is_non_recursive.gd │ │ │ │ ├── emit_one_shot_is_non_recursive.out │ │ │ │ ├── export_group_no_name_conflict_with_properties.gd │ │ │ │ ├── export_group_no_name_conflict_with_properties.out │ │ │ │ ├── first_class_callable_and_signal.gd │ │ │ │ ├── first_class_callable_and_signal.out │ │ │ │ ├── for_loop_iterator_specified_types.gd │ │ │ │ ├── for_loop_iterator_specified_types.out │ │ │ │ ├── for_loop_iterator_types.gd │ │ │ │ ├── for_loop_iterator_types.out │ │ │ │ ├── for_range.gd │ │ │ │ ├── for_range.out │ │ │ │ ├── free_is_callable.gd │ │ │ │ ├── free_is_callable.out │ │ │ │ ├── gdscript.gd │ │ │ │ ├── gdscript.out │ │ │ │ ├── gdscript_utility_implicit_conversion.gd │ │ │ │ ├── gdscript_utility_implicit_conversion.out │ │ │ │ ├── getter_with_freed_object.gd │ │ │ │ ├── getter_with_freed_object.out │ │ │ │ ├── lambda_bind_argument_count.gd │ │ │ │ ├── lambda_bind_argument_count.out │ │ │ │ ├── lambda_captures.gd │ │ │ │ ├── lambda_captures.out │ │ │ │ ├── lambda_get_method.gd │ │ │ │ ├── lambda_get_method.out │ │ │ │ ├── lambda_use_self.gd │ │ │ │ ├── lambda_use_self.out │ │ │ │ ├── lua_assign.gd │ │ │ │ ├── lua_assign.out │ │ │ │ ├── match_test_null.gd │ │ │ │ ├── match_test_null.out │ │ │ │ ├── match_with_pattern_guards.gd │ │ │ │ ├── match_with_pattern_guards.out │ │ │ │ ├── member_info.gd │ │ │ │ ├── member_info.out │ │ │ │ ├── member_info_inheritance.gd │ │ │ │ ├── member_info_inheritance.out │ │ │ │ ├── metatypes.gd │ │ │ │ ├── metatypes.notest.gd │ │ │ │ ├── metatypes.out │ │ │ │ ├── native_static_method_as_callable.gd │ │ │ │ ├── native_static_method_as_callable.out │ │ │ │ ├── object_constructor.gd │ │ │ │ ├── object_constructor.out │ │ │ │ ├── object_iterators.gd │ │ │ │ ├── object_iterators.out │ │ │ │ ├── onready_base_before_subclass.gd │ │ │ │ ├── onready_base_before_subclass.out │ │ │ │ ├── parameter_shadowing.gd │ │ │ │ ├── parameter_shadowing.out │ │ │ │ ├── params_default_values.gd │ │ │ │ ├── params_default_values.out │ │ │ │ ├── property_with_operator_assignment.gd │ │ │ │ ├── property_with_operator_assignment.out │ │ │ │ ├── range_large_ints.gd │ │ │ │ ├── range_large_ints.out │ │ │ │ ├── range_optimized_in_for_has_int_iterator.gd │ │ │ │ ├── range_optimized_in_for_has_int_iterator.out │ │ │ │ ├── range_returns_ints.gd │ │ │ │ ├── range_returns_ints.out │ │ │ │ ├── recursion.gd │ │ │ │ ├── recursion.out │ │ │ │ ├── reset_local_var_on_exit_block.gd │ │ │ │ ├── reset_local_var_on_exit_block.out │ │ │ │ ├── reset_unassigned_variables_in_loops.gd │ │ │ │ ├── reset_unassigned_variables_in_loops.out │ │ │ │ ├── reset_uninit_local_vars.gd │ │ │ │ ├── reset_uninit_local_vars.out │ │ │ │ ├── self_destruction.gd │ │ │ │ ├── self_destruction.out │ │ │ │ ├── set_does_not_leak.gd │ │ │ │ ├── set_does_not_leak.out │ │ │ │ ├── setter_chain_shared_types.gd │ │ │ │ ├── setter_chain_shared_types.out │ │ │ │ ├── setter_chain_shared_types_2.gd │ │ │ │ ├── setter_chain_shared_types_2.out │ │ │ │ ├── simple_setter_chain_call_setter.gd │ │ │ │ ├── simple_setter_chain_call_setter.out │ │ │ │ ├── single_underscore_node_name.gd │ │ │ │ ├── single_underscore_node_name.out │ │ │ │ ├── standalone_calls_do_not_write_to_nil.gd │ │ │ │ ├── standalone_calls_do_not_write_to_nil.out │ │ │ │ ├── static_access_via_instance.gd │ │ │ │ ├── static_access_via_instance.out │ │ │ │ ├── static_constructor.gd │ │ │ │ ├── static_constructor.out │ │ │ │ ├── static_func_as_callable.gd │ │ │ │ ├── static_func_as_callable.out │ │ │ │ ├── static_method_as_callable.gd │ │ │ │ ├── static_method_as_callable.out │ │ │ │ ├── static_variables.gd │ │ │ │ ├── static_variables.out │ │ │ │ ├── static_variables_2.gd │ │ │ │ ├── static_variables_2.out │ │ │ │ ├── static_variables_load.gd │ │ │ │ ├── static_variables_load.out │ │ │ │ ├── static_variables_other.gd │ │ │ │ ├── static_variables_other.out │ │ │ │ ├── string_stringname_equivalent.gd │ │ │ │ ├── string_stringname_equivalent.out │ │ │ │ ├── stringify.gd │ │ │ │ ├── stringify.out │ │ │ │ ├── type_casting.gd │ │ │ │ ├── type_casting.out │ │ │ │ ├── typed_argument_is_null.gd │ │ │ │ ├── typed_argument_is_null.out │ │ │ │ ├── typed_array_concatenation.gd │ │ │ │ ├── typed_array_concatenation.out │ │ │ │ ├── typed_array_implicit_cast_param.gd │ │ │ │ ├── typed_array_implicit_cast_param.out │ │ │ │ ├── typed_array_init_with_untyped_in_literal.gd │ │ │ │ ├── typed_array_init_with_untyped_in_literal.out │ │ │ │ ├── typed_assignment.gd │ │ │ │ ├── typed_assignment.out │ │ │ │ ├── typed_dictionary_implicit_cast_param.gd │ │ │ │ ├── typed_dictionary_implicit_cast_param.out │ │ │ │ ├── typed_dictionary_init_with_untyped_in_literal.gd │ │ │ │ ├── typed_dictionary_init_with_untyped_in_literal.out │ │ │ │ ├── use_conversion_assign_with_variant_value.gd │ │ │ │ ├── use_conversion_assign_with_variant_value.out │ │ │ │ ├── utility_func_as_callable.gd │ │ │ │ ├── utility_func_as_callable.out │ │ │ │ ├── variadic_functions.gd │ │ │ │ └── variadic_functions.out │ │ │ └── utils.notest.gd │ │ ├── test_completion.h │ │ ├── test_gdscript.cpp │ │ ├── test_gdscript.h │ │ └── test_lsp.h │ ├── glslang/ │ │ ├── SCsub │ │ ├── config.py │ │ ├── register_types.cpp │ │ ├── register_types.h │ │ └── shader_compile.h │ ├── gltf/ │ │ ├── README.md │ │ ├── SCsub │ │ ├── config.py │ │ ├── doc_classes/ │ │ │ ├── EditorSceneFormatImporterBlend.xml │ │ │ ├── EditorSceneFormatImporterGLTF.xml │ │ │ ├── GLTFAccessor.xml │ │ │ ├── GLTFAnimation.xml │ │ │ ├── GLTFBufferView.xml │ │ │ ├── GLTFCamera.xml │ │ │ ├── GLTFDocument.xml │ │ │ ├── GLTFDocumentExtension.xml │ │ │ ├── GLTFDocumentExtensionConvertImporterMesh.xml │ │ │ ├── GLTFLight.xml │ │ │ ├── GLTFMesh.xml │ │ │ ├── GLTFNode.xml │ │ │ ├── GLTFObjectModelProperty.xml │ │ │ ├── GLTFPhysicsBody.xml │ │ │ ├── GLTFPhysicsShape.xml │ │ │ ├── GLTFSkeleton.xml │ │ │ ├── GLTFSkin.xml │ │ │ ├── GLTFSpecGloss.xml │ │ │ ├── GLTFState.xml │ │ │ ├── GLTFTexture.xml │ │ │ └── GLTFTextureSampler.xml │ │ ├── editor/ │ │ │ ├── editor_import_blend_runner.cpp │ │ │ ├── editor_import_blend_runner.h │ │ │ ├── editor_scene_exporter_gltf_plugin.cpp │ │ │ ├── editor_scene_exporter_gltf_plugin.h │ │ │ ├── editor_scene_exporter_gltf_settings.cpp │ │ │ ├── editor_scene_exporter_gltf_settings.h │ │ │ ├── editor_scene_importer_blend.cpp │ │ │ ├── editor_scene_importer_blend.h │ │ │ ├── editor_scene_importer_gltf.cpp │ │ │ └── editor_scene_importer_gltf.h │ │ ├── extensions/ │ │ │ ├── SCsub │ │ │ ├── gltf_document_extension.c
Showing preview only (1,372K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (13806 symbols across 1873 files)
FILE: core/config/engine.cpp
function Dictionary (line 153) | Dictionary Engine::get_version_info() const {
function Array (line 177) | static Array array_from_info(const char *const *info_list) {
function Array (line 185) | static Array array_from_info_count(const char *const *info_list, int inf...
function Dictionary (line 193) | Dictionary Engine::get_author_info() const {
function Dictionary (line 226) | Dictionary Engine::get_donor_info() const {
function Dictionary (line 239) | Dictionary Engine::get_license_info() const {
function String (line 247) | String Engine::get_license_text() const {
function String (line 251) | String Engine::get_architecture_name() const {
function Object (line 333) | Object *Engine::get_singleton_object(const StringName &p_name) const {
function String (line 398) | String Engine::get_write_movie_path() const {
function String (line 409) | String Engine::get_shader_cache_path() const {
function Engine (line 413) | Engine *Engine::get_singleton() {
FILE: core/config/engine.h
type Singleton (line 45) | struct Singleton {
function virtual (line 118) | virtual int get_physics_ticks_per_second() const;
function get_time_scale (line 146) | double get_time_scale() const;
function _FORCE_INLINE_ (line 174) | _FORCE_INLINE_ void set_project_manager_hint(bool p_enabled) { project_m...
function _FORCE_INLINE_ (line 177) | _FORCE_INLINE_ void set_extension_reloading_enabled(bool p_enabled) { ex...
function _FORCE_INLINE_ (line 180) | _FORCE_INLINE_ void set_recovery_mode_hint(bool p_enabled) { recovery_mo...
function _FORCE_INLINE_ (line 183) | _FORCE_INLINE_ void set_editor_hint(bool p_enabled) {}
function _FORCE_INLINE_ (line 186) | _FORCE_INLINE_ void set_project_manager_hint(bool p_enabled) {}
function _FORCE_INLINE_ (line 189) | _FORCE_INLINE_ void set_extension_reloading_enabled(bool p_enabled) {}
function _FORCE_INLINE_ (line 192) | _FORCE_INLINE_ void set_recovery_mode_hint(bool p_enabled) {}
FILE: core/config/project_settings.cpp
function ProjectSettings (line 57) | ProjectSettings *ProjectSettings::get_singleton() {
function String (line 61) | String ProjectSettings::get_project_data_dir_name() const {
function String (line 65) | String ProjectSettings::get_project_data_path() const {
function String (line 69) | String ProjectSettings::get_resource_path() const {
function String (line 74) | String ProjectSettings::get_imported_files_path() const {
function PackedStringArray (line 81) | const PackedStringArray ProjectSettings::get_required_features() {
function PackedStringArray (line 91) | const PackedStringArray ProjectSettings::_get_supported_features() {
function PackedStringArray (line 119) | const PackedStringArray ProjectSettings::get_unsupported_features(const ...
function PackedStringArray (line 136) | const PackedStringArray ProjectSettings::_trim_to_supported_features(con...
function String (line 157) | String ProjectSettings::localize_path(const String &p_path) const {
function String (line 266) | String ProjectSettings::globalize_path(const String &p_path) const {
function Variant (line 392) | Variant ProjectSettings::get_setting_with_override_and_custom_features(c...
function Variant (line 415) | Variant ProjectSettings::get_setting_with_override(const StringName &p_n...
type _VCSort (line 442) | struct _VCSort {
function Error (line 870) | Error ProjectSettings::setup(const String &p_path, const String &p_main_...
function Error (line 909) | Error ProjectSettings::_load_settings_binary(const String &p_path) {
function Error (line 943) | Error ProjectSettings::_load_settings_text(const String &p_path) {
function Error (line 997) | Error ProjectSettings::_load_settings_text_or_binary(const String &p_tex...
function Error (line 1033) | Error ProjectSettings::load_custom(const String &p_path) {
function Error (line 1069) | Error ProjectSettings::save() {
function Error (line 1077) | Error ProjectSettings::_save_settings_binary(const String &p_file, const...
function Error (line 1146) | Error ProjectSettings::_save_settings_text(const String &p_file, const R...
function Error (line 1196) | Error ProjectSettings::_save_custom_bnd(const String &p_file) { // add o...
function _csproj_exists (line 1201) | bool _csproj_exists(const String &p_root_dir) {
function Error (line 1218) | Error ProjectSettings::save_custom(const String &p_path, const CustomMap...
function Variant (line 1327) | Variant _GLOBAL_DEF(const String &p_var, const Variant &p_default, bool ...
function Variant (line 1343) | Variant _GLOBAL_DEF(const PropertyInfo &p_info, const Variant &p_default...
function Variant (line 1408) | Variant ProjectSettings::get_setting(const String &p_setting, const Vari...
function PackedStringArray (line 1416) | PackedStringArray ProjectSettings::get_changed_settings() const {
function String (line 1469) | String ProjectSettings::get_global_class_list_path() const {
function String (line 1564) | String ProjectSettings::get_scene_groups_cache_path() const {
function Variant (line 1616) | Variant ProjectSettings::get_editor_setting_override(const String &p_set...
FILE: core/config/project_settings.h
type AutoloadInfo (line 68) | struct AutoloadInfo {
function is_using_datapack (line 213) | bool is_using_datapack() const;
FILE: core/core_bind.cpp
type CoreBind (line 51) | namespace CoreBind {
function Error (line 55) | Error ResourceLoader::load_threaded_request(const String &p_path, cons...
function PackedStringArray (line 109) | PackedStringArray ResourceLoader::get_dependencies(const String &p_pat...
function Error (line 174) | Error ResourceSaver::save(RequiredParam<Resource> p_resource, const St...
function Error (line 178) | Error ResourceSaver::set_uid(const String &p_path, ResourceUID::ID p_u...
function PackedByteArray (line 287) | PackedByteArray OS::get_entropy(int p_bytes) {
function String (line 295) | String OS::get_system_ca_certificates() {
function PackedStringArray (line 299) | PackedStringArray OS::get_connected_midi_inputs() {
function String (line 351) | String OS::get_system_font_path(const String &p_font_name, int p_weigh...
function String (line 359) | String OS::get_executable_path() const {
function Error (line 363) | Error OS::shell_open(const String &p_uri) {
function Error (line 372) | Error OS::shell_show_in_file_manager(const String &p_path, bool p_open...
function String (line 381) | String OS::read_string_from_stdin(int64_t p_buffer_size) {
function PackedByteArray (line 385) | PackedByteArray OS::read_buffer_from_stdin(int64_t p_buffer_size) {
function Dictionary (line 419) | Dictionary OS::execute_with_pipe(const String &p_path, const Vector<St...
function Error (line 440) | Error OS::open_with_program(const String &p_program_path, const Vector...
function Error (line 461) | Error OS::kill(int p_pid) {
function String (line 481) | String OS::get_environment(const String &p_var) const {
function String (line 493) | String OS::get_name() const {
function String (line 497) | String OS::get_distribution_name() const {
function String (line 501) | String OS::get_version() const {
function String (line 505) | String OS::get_version_alias() const {
function String (line 556) | String OS::get_locale() const {
function String (line 560) | String OS::get_locale_language() const {
function String (line 564) | String OS::get_model_name() const {
function Error (line 568) | Error OS::set_thread_name(const String &p_name) {
function Dictionary (line 603) | Dictionary OS::get_memory_info() const {
function String (line 631) | String OS::get_processor_name() const {
function Error (line 639) | Error OS::move_to_trash(const String &p_path) const {
function String (line 643) | String OS::get_user_data_dir() const {
function String (line 647) | String OS::get_config_dir() const {
function String (line 652) | String OS::get_data_dir() const {
function String (line 657) | String OS::get_cache_dir() const {
function String (line 662) | String OS::get_temp_dir() const {
function String (line 675) | String OS::get_system_dir(SystemDir p_dir, bool p_shared_storage) const {
function String (line 679) | String OS::get_keycode_string(Key p_code) const {
function Key (line 687) | Key OS::find_keycode_from_string(const String &p_code) const {
function String (line 707) | String OS::get_unique_id() const {
function Geometry2D (line 904) | Geometry2D *Geometry2D::get_singleton() {
function real_t (line 912) | real_t Geometry2D::segment_intersects_circle(const Vector2 &p_from, co...
function Variant (line 916) | Variant Geometry2D::segment_intersects_segment(const Vector2 &p_from_a...
function Variant (line 925) | Variant Geometry2D::line_intersects_line(const Vector2 &p_from_a, cons...
function Vector2 (line 941) | Vector2 Geometry2D::get_closest_point_to_segment(const Vector2 &p_poin...
function Vector2 (line 945) | Vector2 Geometry2D::get_closest_point_to_segment_uncapped(const Vector...
function Dictionary (line 1072) | Dictionary Geometry2D::make_atlas(const Vector<Size2> &p_rects) {
function Geometry3D (line 1163) | Geometry3D *Geometry3D::get_singleton() {
function Vector3 (line 1200) | Vector3 Geometry3D::get_closest_point_to_segment(const Vector3 &p_poin...
function Vector3 (line 1204) | Vector3 Geometry3D::get_closest_point_to_segment_uncapped(const Vector...
function Vector3 (line 1208) | Vector3 Geometry3D::get_triangle_barycentric_coords(const Vector3 &p_p...
function Variant (line 1213) | Variant Geometry3D::ray_intersects_triangle(const Vector3 &p_from, con...
function Variant (line 1222) | Variant Geometry3D::segment_intersects_triangle(const Vector3 &p_from,...
function Marshalls (line 1305) | Marshalls *Marshalls::get_singleton() {
function String (line 1309) | String Marshalls::variant_to_base64(const Variant &p_var, bool p_full_...
function Variant (line 1327) | Variant Marshalls::base64_to_variant(const String &p_str, bool p_allow...
function String (line 1345) | String Marshalls::raw_to_base64(const Vector<uint8_t> &p_arr) {
function String (line 1368) | String Marshalls::utf8_to_base64(const String &p_str) {
function String (line 1378) | String Marshalls::base64_to_utf8(const String &p_str) {
function Error (line 1493) | Error Thread::start(const Callable &p_callable, Priority p_priority) {
function String (line 1511) | String Thread::get_id() const {
function Variant (line 1523) | Variant Thread::wait_to_finish() {
type Special (line 1556) | namespace Special {
function PackedStringArray (line 1560) | PackedStringArray ClassDB::get_class_list() const {
function PackedStringArray (line 1576) | PackedStringArray ClassDB::get_inheriters_from_class(const StringNam...
function StringName (line 1590) | StringName ClassDB::get_parent_class(const StringName &p_class) const {
function Variant (line 1606) | Variant ClassDB::instantiate(const StringName &p_class) const {
function Dictionary (line 1629) | Dictionary ClassDB::class_get_signal(const StringName &p_class, cons...
function StringName (line 1661) | StringName ClassDB::class_get_property_getter(const StringName &p_cl...
function StringName (line 1665) | StringName ClassDB::class_get_property_setter(const StringName &p_cl...
function Variant (line 1669) | Variant ClassDB::class_get_property(Object *p_object, const StringNa...
function Error (line 1675) | Error ClassDB::class_set_property(Object *p_object, const StringName...
function Variant (line 1686) | Variant ClassDB::class_get_property_default_value(const StringName &...
function Variant (line 1715) | Variant ClassDB::class_call_static(const Variant **p_arguments, int ...
function PackedStringArray (line 1732) | PackedStringArray ClassDB::class_get_integer_constant_list(const Str...
function PackedStringArray (line 1763) | PackedStringArray ClassDB::class_get_enum_list(const StringName &p_c...
function PackedStringArray (line 1777) | PackedStringArray ClassDB::class_get_enum_constants(const StringName...
function StringName (line 1791) | StringName ClassDB::class_get_integer_constant_enum(const StringName...
function MainLoop (line 1947) | MainLoop *Engine::get_main_loop() const {
function Dictionary (line 1952) | Dictionary Engine::get_version_info() const {
function Dictionary (line 1956) | Dictionary Engine::get_author_info() const {
function Dictionary (line 1964) | Dictionary Engine::get_donor_info() const {
function Dictionary (line 1968) | Dictionary Engine::get_license_info() const {
function String (line 1972) | String Engine::get_license_text() const {
function String (line 1976) | String Engine::get_architecture_name() const {
function Object (line 1988) | Object *Engine::get_singleton_object(const StringName &p_name) const {
function Error (line 2019) | Error Engine::register_script_language(ScriptLanguage *p_language) {
function Error (line 2023) | Error Engine::unregister_script_language(const ScriptLanguage *p_langu...
function ScriptLanguage (line 2031) | ScriptLanguage *Engine::get_script_language(int p_index) const {
function String (line 2057) | String Engine::get_write_movie_path() const {
function Error (line 2226) | Error EngineDebugger::call_capture(void *p_user, const String &p_cmd, ...
FILE: core/core_bind.h
function class (line 48) | class ResourceLoader : public Object {
function class (line 93) | class ResourceSaver : public Object {
function class (line 125) | class Logger : public RefCounted {
function class (line 146) | class OS : public Object {
function class (line 324) | class Geometry2D : public Object {
function class (line 390) | class Geometry3D : public Object {
function class (line 421) | class Marshalls : public Object {
function class (line 445) | class Mutex : public RefCounted {
function class (line 457) | class Semaphore : public RefCounted {
type Priority (line 486) | enum Priority {
function String (line 494) | String get_id() const;
FILE: core/core_builders.py
function disabled_class_builder (line 10) | def disabled_class_builder(target, source, env):
function version_info_builder (line 18) | def version_info_builder(target, source, env):
function version_hash_builder (line 37) | def version_hash_builder(target, source, env):
function encryption_key_builder (line 49) | def encryption_key_builder(target, source, env):
function make_certs_header (line 74) | def make_certs_header(target, source, env):
function make_authors_header (line 95) | def make_authors_header(target, source, env):
function make_donors_header (line 126) | def make_donors_header(target, source, env):
function make_license_header (line 161) | def make_license_header(target, source, env):
FILE: core/core_constants.cpp
type _CoreConstant (line 40) | struct _CoreConstant {
method _CoreConstant (line 49) | _CoreConstant() {}
method _CoreConstant (line 52) | _CoreConstant(const StringName &p_enum_name, const char *p_name, int64...
method _CoreConstant (line 60) | _CoreConstant(const StringName &p_enum_name, const char *p_name, int64...
function register_global_constants (line 256) | void register_global_constants() {
function unregister_global_constants (line 825) | void unregister_global_constants() {
function StringName (line 835) | StringName CoreConstants::get_global_constant_enum(int p_idx) {
FILE: core/core_constants.h
function class (line 37) | class CoreConstants {
FILE: core/core_globals.h
function class (line 36) | class CoreGlobals {
FILE: core/core_string_names.h
function class (line 35) | class CoreStringNames {
function free (line 40) | static void free() {
function _FORCE_INLINE_ (line 45) | _FORCE_INLINE_ static CoreStringNames *get_singleton() { return singleto...
FILE: core/crypto/aes_context.cpp
function Error (line 35) | Error AESContext::start(Mode p_mode, const PackedByteArray &p_key, const...
function PackedByteArray (line 57) | PackedByteArray AESContext::update(const PackedByteArray &p_src) {
function PackedByteArray (line 92) | PackedByteArray AESContext::get_iv_state() {
FILE: core/crypto/aes_context.h
function class (line 37) | class AESContext : public RefCounted {
FILE: core/crypto/crypto.cpp
function CryptoKey (line 38) | CryptoKey *CryptoKey::create(bool p_notify_postinitialize) {
function X509Certificate (line 54) | X509Certificate *X509Certificate::create(bool p_notify_postinitialize) {
function HMACContext (line 118) | HMACContext *HMACContext::create(bool p_notify_postinitialize) {
function Crypto (line 129) | Crypto *Crypto::create(bool p_notify_postinitialize) {
function PackedByteArray (line 142) | PackedByteArray Crypto::hmac_digest(HashingContext::HashType p_hash_type...
FILE: core/crypto/crypto.h
function class (line 37) | class CryptoKey : public Resource {
function class (line 53) | class X509Certificate : public Resource {
function class (line 69) | class TLSOptions : public RefCounted {
function class (line 101) | class HMACContext : public RefCounted {
function class (line 118) | class Crypto : public RefCounted {
FILE: core/crypto/crypto_core.cpp
function Error (line 71) | Error CryptoCore::RandomGenerator::init() {
function Error (line 79) | Error CryptoCore::RandomGenerator::get_random_bytes(uint8_t *r_buffer, s...
function Error (line 97) | Error CryptoCore::MD5Context::start() {
function Error (line 102) | Error CryptoCore::MD5Context::update(const uint8_t *p_src, size_t p_len) {
function Error (line 107) | Error CryptoCore::MD5Context::finish(unsigned char r_hash[16]) {
function Error (line 123) | Error CryptoCore::SHA1Context::start() {
function Error (line 128) | Error CryptoCore::SHA1Context::update(const uint8_t *p_src, size_t p_len) {
function Error (line 133) | Error CryptoCore::SHA1Context::finish(unsigned char r_hash[20]) {
function Error (line 149) | Error CryptoCore::SHA256Context::start() {
function Error (line 154) | Error CryptoCore::SHA256Context::update(const uint8_t *p_src, size_t p_l...
function Error (line 159) | Error CryptoCore::SHA256Context::finish(unsigned char r_hash[32]) {
function Error (line 175) | Error CryptoCore::AESContext::set_encode_key(const uint8_t *p_key, size_...
function Error (line 180) | Error CryptoCore::AESContext::set_decode_key(const uint8_t *p_key, size_...
function Error (line 185) | Error CryptoCore::AESContext::encrypt_ecb(const uint8_t p_src[16], uint8...
function Error (line 190) | Error CryptoCore::AESContext::encrypt_cbc(size_t p_length, uint8_t r_iv[...
function Error (line 195) | Error CryptoCore::AESContext::encrypt_cfb(size_t p_length, uint8_t p_iv[...
function Error (line 201) | Error CryptoCore::AESContext::decrypt_ecb(const uint8_t p_src[16], uint8...
function Error (line 206) | Error CryptoCore::AESContext::decrypt_cbc(size_t p_length, uint8_t r_iv[...
function Error (line 211) | Error CryptoCore::AESContext::decrypt_cfb(size_t p_length, uint8_t p_iv[...
function String (line 218) | String CryptoCore::b64_encode_str(const uint8_t *p_src, size_t p_src_len) {
function Error (line 229) | Error CryptoCore::b64_encode(uint8_t *r_dst, size_t p_dst_len, size_t *r...
function Error (line 234) | Error CryptoCore::b64_decode(uint8_t *r_dst, size_t p_dst_len, size_t *r...
function Error (line 239) | Error CryptoCore::md5(const uint8_t *p_src, size_t p_src_len, unsigned c...
function Error (line 244) | Error CryptoCore::sha1(const uint8_t *p_src, size_t p_src_len, unsigned ...
function Error (line 249) | Error CryptoCore::sha256(const uint8_t *p_src, size_t p_src_len, unsigne...
FILE: core/crypto/crypto_core.h
function class (line 40) | class CryptoCore {
FILE: core/crypto/crypto_resource_format.cpp
function String (line 69) | String ResourceFormatLoaderCrypto::get_resource_type(const String &p_pat...
function Error (line 79) | Error ResourceFormatSaverCrypto::save(const Ref<Resource> &p_resource, c...
FILE: core/crypto/crypto_resource_format.h
function class (line 37) | class ResourceFormatLoaderCrypto : public ResourceFormatLoader {
function class (line 51) | class ResourceFormatSaverCrypto : public ResourceFormatSaver {
FILE: core/crypto/hashing_context.cpp
function Error (line 36) | Error HashingContext::start(HashType p_type) {
function Error (line 51) | Error HashingContext::update(const PackedByteArray &p_chunk) {
function PackedByteArray (line 67) | PackedByteArray HashingContext::finish() {
FILE: core/crypto/hashing_context.h
function class (line 36) | class HashingContext : public RefCounted {
FILE: core/debugger/debugger_marshalls.cpp
function Array (line 38) | Array DebuggerMarshalls::ScriptStackDump::serialize() {
function Array (line 65) | Array DebuggerMarshalls::ScriptStackVariable::serialize(int max_size) {
function Array (line 97) | Array DebuggerMarshalls::OutputError::serialize() {
function Array (line 147) | Array DebuggerMarshalls::serialize_key_shortcut(const Ref<Shortcut> &p_s...
FILE: core/debugger/debugger_marshalls.h
type DebuggerMarshalls (line 36) | struct DebuggerMarshalls {
FILE: core/debugger/engine_debugger.cpp
function Error (line 100) | Error EngineDebugger::capture_parse(const StringName &p_name, const Stri...
FILE: core/debugger/engine_debugger.h
function class (line 43) | class EngineDebugger {
FILE: core/debugger/engine_profiler.cpp
function Error (line 54) | Error EngineProfiler::bind(const String &p_name) {
function Error (line 72) | Error EngineProfiler::unbind() {
FILE: core/debugger/engine_profiler.h
function class (line 36) | class EngineProfiler : public RefCounted {
FILE: core/debugger/local_debugger.cpp
type LocalDebugger::ScriptsProfiler (line 39) | struct LocalDebugger::ScriptsProfiler {
type ProfileInfoSort (line 40) | struct ProfileInfoSort {
method toggle (line 50) | void toggle(bool p_enable, const Array &p_opts) {
method tick (line 66) | void tick(double p_frame_time, double p_process_time, double p_physics...
method _print_frame_data (line 71) | void _print_frame_data(bool p_accumulated) {
method ScriptsProfiler (line 114) | ScriptsProfiler() {
FILE: core/debugger/local_debugger.h
function class (line 36) | class LocalDebugger : public EngineDebugger {
FILE: core/debugger/remote_debugger.cpp
class RemoteDebugger::PerformanceProfiler (line 47) | class RemoteDebugger::PerformanceProfiler : public EngineProfiler {
method toggle (line 53) | void toggle(bool p_enable, const Array &p_opts) override {}
method add (line 54) | void add(const Array &p_data) override {}
method tick (line 55) | void tick(double p_frame_time, double p_process_time, double p_physics...
method PerformanceProfiler (line 99) | explicit PerformanceProfiler(Object *p_performance) {
function Error (line 104) | Error RemoteDebugger::_put_msg(const String &p_message, const Array &p_d...
function Error (line 338) | Error RemoteDebugger::_try_capture(const String &p_msg, const Array &p_d...
function Array (line 381) | Array RemoteDebugger::_get_message() {
function Error (line 721) | Error RemoteDebugger::_core_capture(const String &p_cmd, const Array &p_...
function Error (line 750) | Error RemoteDebugger::_profiler_capture(const String &p_cmd, const Array...
FILE: core/debugger/remote_debugger.h
function class (line 39) | class RemoteDebugger : public EngineDebugger {
FILE: core/debugger/remote_debugger_peer.cpp
function Array (line 48) | Array RemoteDebuggerPeerTCP::get_message() {
function Error (line 58) | Error RemoteDebuggerPeerTCP::put_message(const Array &p_arr) {
function Error (line 161) | Error RemoteDebuggerPeerTCP::_try_connect(Ref<StreamPeerSocket> tcp_clie...
FILE: core/debugger/remote_debugger_peer.h
function class (line 40) | class RemoteDebuggerPeer : public RefCounted {
function class (line 59) | class RemoteDebuggerPeerTCP : public RemoteDebuggerPeer {
FILE: core/debugger/script_debugger.cpp
function String (line 63) | String ScriptDebugger::breakpoint_find_source(const String &p_source) co...
function ScriptLanguage (line 105) | ScriptLanguage *ScriptDebugger::get_break_language() const {
FILE: core/debugger/script_debugger.h
function class (line 38) | class ScriptDebugger {
FILE: core/doc_data.cpp
function String (line 36) | String DocData::get_default_value_string(const Variant &p_value) {
FILE: core/doc_data.h
function class (line 35) | class DocData {
function ArgumentDoc (line 49) | static ArgumentDoc from_dict(const Dictionary &p_dict) {
function Dictionary (line 73) | static Dictionary to_dict(const ArgumentDoc &p_doc) {
function else (line 97) | struct MethodDoc {
function MethodDoc (line 141) | static MethodDoc from_dict(const Dictionary &p_dict) {
function Dictionary (line 209) | static Dictionary to_dict(const MethodDoc &p_doc) {
type ConstantDoc (line 265) | struct ConstantDoc {
function Dictionary (line 337) | static Dictionary to_dict(const ConstantDoc &p_doc) {
type PropertyDoc (line 377) | struct PropertyDoc {
function Dictionary (line 463) | static Dictionary to_dict(const PropertyDoc &p_doc) {
type ThemeItemDoc (line 517) | struct ThemeItemDoc {
function ThemeItemDoc (line 535) | static ThemeItemDoc from_dict(const Dictionary &p_dict) {
function Dictionary (line 574) | static Dictionary to_dict(const ThemeItemDoc &p_doc) {
function if (line 613) | struct TutorialDoc {
function Dictionary (line 629) | static Dictionary to_dict(const TutorialDoc &p_doc) {
type EnumDoc (line 644) | struct EnumDoc {
function Dictionary (line 679) | static Dictionary to_dict(const EnumDoc &p_doc) {
function from_dict (line 698) | struct ClassDoc {
FILE: core/error/error_list.h
type Error (line 46) | enum Error {
FILE: core/error/error_macros.cpp
function _err_print_fallback (line 51) | static void _err_print_fallback(const char *p_function, const char *p_fi...
function add_error_handler (line 63) | void add_error_handler(ErrorHandlerList *p_handler) {
function remove_error_handler (line 77) | void remove_error_handler(const ErrorHandlerList *p_handler) {
function _err_print_error (line 100) | void _err_print_error(const char *p_function, const char *p_file, int p_...
function _err_print_error (line 104) | void _err_print_error(const char *p_function, const char *p_file, int p_...
function _err_print_error (line 109) | void _err_print_error(const char *p_function, const char *p_file, int p_...
function _err_print_error_asap (line 149) | void _err_print_error_asap(const String &p_error, ErrorHandlerType p_typ...
function _err_print_error (line 186) | void _err_print_error(const char *p_function, const char *p_file, int p_...
function _err_print_error (line 190) | void _err_print_error(const char *p_function, const char *p_file, int p_...
function _err_print_error (line 194) | void _err_print_error(const char *p_function, const char *p_file, int p_...
function _err_print_index_error (line 199) | void _err_print_index_error(const char *p_function, const char *p_file, ...
function _err_print_index_error (line 205) | void _err_print_index_error(const char *p_function, const char *p_file, ...
function _err_flush_stdout (line 209) | void _err_flush_stdout() {
function _physics_interpolation_warning (line 214) | void _physics_interpolation_warning(const char *p_function, const char *...
FILE: core/error/error_macros.h
type ErrorHandlerType (line 38) | enum ErrorHandlerType {
type ErrorHandlerList (line 63) | struct ErrorHandlerList {
FILE: core/extension/extension_api_dump.cpp
function String (line 45) | static String get_builtin_or_variant_type_name(const Variant::Type p_typ...
function String (line 53) | static String get_property_info_type_name(const PropertyInfo &p_info) {
function String (line 91) | static String get_type_meta_name(const GodotTypeInfo::Metadata metadata) {
function String (line 96) | static String fix_doc_description(const String &p_bbcode) {
function Dictionary (line 104) | Dictionary GDExtensionAPIDump::generate_extension_api(bool p_include_doc...
function compare_value (line 1343) | static bool compare_value(const String &p_path, const String &p_field, c...
function compare_dict_array (line 1389) | static bool compare_dict_array(const Dictionary &p_old_api, const Dictio...
function compare_sub_dict_array (line 1548) | static bool compare_sub_dict_array(HashSet<String> &r_removed_classes_re...
function Error (line 1592) | Error GDExtensionAPIDump::validate_extension_json_file(const String &p_p...
FILE: core/extension/extension_api_dump.h
function class (line 39) | class GDExtensionAPIDump {
FILE: core/extension/gdextension.cpp
function String (line 45) | String GDExtension::get_extension_list_config_file() {
class GDExtensionMethodBind (line 49) | class GDExtensionMethodBind : public MethodBind {
method _gen_argument_type (line 70) | virtual Variant::Type _gen_argument_type(int p_arg) const override {
method PropertyInfo (line 77) | virtual PropertyInfo _gen_argument_type_info(int p_arg) const override {
method is_valid (line 87) | virtual bool is_valid() const override { return valid; }
method get_argument_meta (line 91) | virtual GodotTypeInfo::Metadata get_argument_meta(int p_arg) const ove...
method Variant (line 100) | virtual Variant call(Object *p_object, const Variant **p_args, int p_a...
method validated_call (line 114) | virtual void validated_call(Object *p_object, const Variant **p_args, ...
method ptrcall (line 146) | virtual void ptrcall(Object *p_object, const void **p_args, void *r_re...
method is_vararg (line 156) | virtual bool is_vararg() const override {
method try_update (line 161) | bool try_update(const GDExtensionClassMethodInfo *p_method_info) {
method update (line 194) | void update(const GDExtensionClassMethodInfo *p_method_info) {
method GDExtensionMethodBind (line 236) | explicit GDExtensionMethodBind(const GDExtensionClassMethodInfo *p_met...
function GDExtensionInterfaceFunctionPtr (line 728) | GDExtensionInterfaceFunctionPtr GDExtension::get_interface_function(cons...
function Error (line 734) | Error GDExtension::open_library(const String &p_path, const Ref<GDExtens...
function PackedStringArray (line 1029) | PackedStringArray GDExtension::get_classes_used() const {
FILE: core/extension/gdextension.h
function class (line 39) | class GDExtension : public Resource {
FILE: core/extension/gdextension_function_loader.cpp
function Error (line 35) | Error GDExtensionFunctionLoader::open_library(const String &p_path) {
function Error (line 44) | Error GDExtensionFunctionLoader::initialize(GDExtensionInterfaceGetProcA...
FILE: core/extension/gdextension_function_loader.h
function class (line 37) | class GDExtensionFunctionLoader : public GDExtensionLoader {
FILE: core/extension/gdextension_interface.cpp
class CallableCustomExtension (line 46) | class CallableCustomExtension : public CallableCustom {
method default_compare_equal (line 65) | static bool default_compare_equal(const CallableCustom *p_a, const Cal...
method default_compare_less (line 75) | static bool default_compare_less(const CallableCustom *p_a, const Call...
method custom_compare_equal (line 85) | static bool custom_compare_equal(const CallableCustom *p_a, const Call...
method custom_compare_less (line 95) | static bool custom_compare_less(const CallableCustom *p_a, const Calla...
method hash (line 106) | uint32_t hash() const override {
method String (line 110) | String get_as_text() const override {
method CompareEqualFunc (line 124) | CompareEqualFunc get_compare_equal_func() const override {
method CompareLessFunc (line 128) | CompareLessFunc get_compare_less_func() const override {
method is_valid (line 132) | bool is_valid() const override {
method StringName (line 139) | StringName get_method() const override {
method ObjectID (line 143) | ObjectID get_object() const override {
method get_argument_count (line 147) | int get_argument_count(bool &r_is_valid) const override {
method call (line 166) | void call(const Variant **p_arguments, int p_argcount, Variant &r_retu...
method CallableCustomExtension (line 177) | CallableCustomExtension(GDExtensionCallableCustomInfo *p_info) {
method CallableCustomExtension (line 204) | CallableCustomExtension(GDExtensionCallableCustomInfo2 *p_info) {
function GDExtensionInterfaceFunctionPtr (line 238) | GDExtensionInterfaceFunctionPtr gdextension_get_proc_address(const char ...
function gdextension_get_godot_version (line 243) | static void gdextension_get_godot_version(GDExtensionGodotVersion *r_god...
function gdextension_get_godot_version2 (line 251) | static void gdextension_get_godot_version2(GDExtensionGodotVersion2 *r_g...
function gdextension_mem_free (line 273) | static void gdextension_mem_free(void *p_mem) {
function gdextension_mem_free2 (line 286) | static void gdextension_mem_free2(void *p_mem, GDExtensionBool p_prepad_...
function gdextension_print_error (line 291) | static void gdextension_print_error(const char *p_description, const cha...
function gdextension_print_error_with_message (line 294) | static void gdextension_print_error_with_message(const char *p_descripti...
function gdextension_print_warning (line 297) | static void gdextension_print_warning(const char *p_description, const c...
function gdextension_print_warning_with_message (line 300) | static void gdextension_print_warning_with_message(const char *p_descrip...
function gdextension_print_script_error (line 303) | static void gdextension_print_script_error(const char *p_description, co...
function gdextension_print_script_error_with_message (line 306) | static void gdextension_print_script_error_with_message(const char *p_de...
function gdextension_get_native_struct_size (line 310) | uint64_t gdextension_get_native_struct_size(GDExtensionConstStringNamePt...
function gdextension_variant_new_copy (line 317) | static void gdextension_variant_new_copy(GDExtensionUninitializedVariant...
function gdextension_variant_new_nil (line 320) | static void gdextension_variant_new_nil(GDExtensionUninitializedVariantP...
function gdextension_variant_destroy (line 323) | static void gdextension_variant_destroy(GDExtensionVariantPtr p_self) {
function gdextension_variant_call (line 329) | static void gdextension_variant_call(GDExtensionVariantPtr p_self, GDExt...
function gdextension_variant_call_static (line 345) | static void gdextension_variant_call_static(GDExtensionVariantType p_typ...
function gdextension_variant_evaluate (line 361) | static void gdextension_variant_evaluate(GDExtensionVariantOperator p_op...
function gdextension_variant_set (line 372) | static void gdextension_variant_set(GDExtensionVariantPtr p_self, GDExte...
function gdextension_variant_set_named (line 382) | static void gdextension_variant_set_named(GDExtensionVariantPtr p_self, ...
function gdextension_variant_set_keyed (line 392) | static void gdextension_variant_set_keyed(GDExtensionVariantPtr p_self, ...
function gdextension_variant_set_indexed (line 402) | static void gdextension_variant_set_indexed(GDExtensionVariantPtr p_self...
function gdextension_variant_get (line 413) | static void gdextension_variant_get(GDExtensionConstVariantPtr p_self, G...
function gdextension_variant_get_named (line 422) | static void gdextension_variant_get_named(GDExtensionConstVariantPtr p_s...
function gdextension_variant_get_keyed (line 431) | static void gdextension_variant_get_keyed(GDExtensionConstVariantPtr p_s...
function gdextension_variant_get_indexed (line 440) | static void gdextension_variant_get_indexed(GDExtensionConstVariantPtr p...
function GDExtensionBool (line 451) | static GDExtensionBool gdextension_variant_iter_init(GDExtensionConstVar...
function GDExtensionBool (line 462) | static GDExtensionBool gdextension_variant_iter_next(GDExtensionConstVar...
function gdextension_variant_iter_get (line 472) | static void gdextension_variant_iter_get(GDExtensionConstVariantPtr p_se...
function GDExtensionInt (line 482) | static GDExtensionInt gdextension_variant_hash(GDExtensionConstVariantPt...
function GDExtensionInt (line 487) | static GDExtensionInt gdextension_variant_recursive_hash(GDExtensionCons...
function GDExtensionBool (line 492) | static GDExtensionBool gdextension_variant_hash_compare(GDExtensionConst...
function GDExtensionBool (line 498) | static GDExtensionBool gdextension_variant_booleanize(GDExtensionConstVa...
function gdextension_variant_duplicate (line 503) | static void gdextension_variant_duplicate(GDExtensionConstVariantPtr p_s...
function gdextension_variant_stringify (line 508) | static void gdextension_variant_stringify(GDExtensionConstVariantPtr p_s...
function GDExtensionVariantType (line 513) | static GDExtensionVariantType gdextension_variant_get_type(GDExtensionCo...
function GDExtensionBool (line 518) | static GDExtensionBool gdextension_variant_has_method(GDExtensionConstVa...
function GDExtensionBool (line 524) | static GDExtensionBool gdextension_variant_has_member(GDExtensionVariant...
function GDExtensionBool (line 528) | static GDExtensionBool gdextension_variant_has_key(GDExtensionConstVaria...
function GDObjectInstanceID (line 537) | static GDObjectInstanceID gdextension_variant_get_object_instance_id(GDE...
function gdextension_variant_get_type_name (line 545) | static void gdextension_variant_get_type_name(GDExtensionVariantType p_t...
function GDExtensionBool (line 550) | static GDExtensionBool gdextension_variant_can_convert(GDExtensionVarian...
function GDExtensionBool (line 554) | static GDExtensionBool gdextension_variant_can_convert_strict(GDExtensio...
function GDExtensionVariantFromTypeConstructorFunc (line 559) | static GDExtensionVariantFromTypeConstructorFunc gdextension_get_variant...
function GDExtensionTypeFromVariantConstructorFunc (line 644) | static GDExtensionTypeFromVariantConstructorFunc gdextension_get_variant...
function GDExtensionVariantGetInternalPtrFunc (line 729) | static GDExtensionVariantGetInternalPtrFunc gdextension_variant_get_ptr_...
function GDExtensionPtrOperatorEvaluator (line 815) | static GDExtensionPtrOperatorEvaluator gdextension_variant_get_ptr_opera...
function GDExtensionPtrBuiltInMethod (line 818) | static GDExtensionPtrBuiltInMethod gdextension_variant_get_ptr_builtin_m...
function GDExtensionPtrConstructor (line 826) | static GDExtensionPtrConstructor gdextension_variant_get_ptr_constructor...
function GDExtensionPtrDestructor (line 829) | static GDExtensionPtrDestructor gdextension_variant_get_ptr_destructor(G...
function gdextension_variant_construct (line 832) | static void gdextension_variant_construct(GDExtensionVariantType p_type,...
function GDExtensionPtrSetter (line 845) | static GDExtensionPtrSetter gdextension_variant_get_ptr_setter(GDExtensi...
function GDExtensionPtrGetter (line 849) | static GDExtensionPtrGetter gdextension_variant_get_ptr_getter(GDExtensi...
function GDExtensionPtrIndexedSetter (line 853) | static GDExtensionPtrIndexedSetter gdextension_variant_get_ptr_indexed_s...
function GDExtensionPtrIndexedGetter (line 856) | static GDExtensionPtrIndexedGetter gdextension_variant_get_ptr_indexed_g...
function GDExtensionPtrKeyedSetter (line 859) | static GDExtensionPtrKeyedSetter gdextension_variant_get_ptr_keyed_sette...
function GDExtensionPtrKeyedGetter (line 862) | static GDExtensionPtrKeyedGetter gdextension_variant_get_ptr_keyed_gette...
function GDExtensionPtrKeyedChecker (line 865) | static GDExtensionPtrKeyedChecker gdextension_variant_get_ptr_keyed_chec...
function gdextension_variant_get_constant_value (line 868) | static void gdextension_variant_get_constant_value(GDExtensionVariantTyp...
function GDExtensionPtrUtilityFunction (line 872) | static GDExtensionPtrUtilityFunction gdextension_variant_get_ptr_utility...
function gdextension_string_new_with_latin1_chars (line 884) | static void gdextension_string_new_with_latin1_chars(GDExtensionUninitia...
function gdextension_string_new_with_utf8_chars (line 889) | static void gdextension_string_new_with_utf8_chars(GDExtensionUninitiali...
function gdextension_string_new_with_utf16_chars (line 894) | static void gdextension_string_new_with_utf16_chars(GDExtensionUninitial...
function gdextension_string_new_with_utf32_chars (line 899) | static void gdextension_string_new_with_utf32_chars(GDExtensionUninitial...
function gdextension_string_new_with_wide_chars (line 904) | static void gdextension_string_new_with_wide_chars(GDExtensionUninitiali...
function gdextension_string_new_with_latin1_chars_and_len (line 916) | static void gdextension_string_new_with_latin1_chars_and_len(GDExtension...
function gdextension_string_new_with_utf8_chars_and_len (line 922) | static void gdextension_string_new_with_utf8_chars_and_len(GDExtensionUn...
function GDExtensionInt (line 927) | static GDExtensionInt gdextension_string_new_with_utf8_chars_and_len2(GD...
function gdextension_string_new_with_utf16_chars_and_len (line 932) | static void gdextension_string_new_with_utf16_chars_and_len(GDExtensionU...
function GDExtensionInt (line 937) | static GDExtensionInt gdextension_string_new_with_utf16_chars_and_len2(G...
function gdextension_string_new_with_utf32_chars_and_len (line 942) | static void gdextension_string_new_with_utf32_chars_and_len(GDExtensionU...
function gdextension_string_new_with_wide_chars_and_len (line 948) | static void gdextension_string_new_with_wide_chars_and_len(GDExtensionUn...
function GDExtensionInt (line 961) | static GDExtensionInt gdextension_string_to_latin1_chars(GDExtensionCons...
function GDExtensionInt (line 973) | static GDExtensionInt gdextension_string_to_utf8_chars(GDExtensionConstS...
function GDExtensionInt (line 985) | static GDExtensionInt gdextension_string_to_utf16_chars(GDExtensionConst...
function GDExtensionInt (line 997) | static GDExtensionInt gdextension_string_to_utf32_chars(GDExtensionConst...
function GDExtensionInt (line 1008) | static GDExtensionInt gdextension_string_to_wide_chars(GDExtensionConstS...
function gdextension_string_operator_plus_eq_string (line 1032) | static void gdextension_string_operator_plus_eq_string(GDExtensionString...
function gdextension_string_operator_plus_eq_char (line 1038) | static void gdextension_string_operator_plus_eq_char(GDExtensionStringPt...
function gdextension_string_operator_plus_eq_cstr (line 1043) | static void gdextension_string_operator_plus_eq_cstr(GDExtensionStringPt...
function gdextension_string_operator_plus_eq_wcstr (line 1048) | static void gdextension_string_operator_plus_eq_wcstr(GDExtensionStringP...
function gdextension_string_operator_plus_eq_c32str (line 1053) | static void gdextension_string_operator_plus_eq_c32str(GDExtensionString...
function GDExtensionInt (line 1058) | static GDExtensionInt gdextension_string_resize(GDExtensionStringPtr p_s...
function gdextension_string_name_new_with_latin1_chars (line 1063) | static void gdextension_string_name_new_with_latin1_chars(GDExtensionUni...
function gdextension_string_name_new_with_utf8_chars (line 1067) | static void gdextension_string_name_new_with_utf8_chars(GDExtensionUnini...
function gdextension_string_name_new_with_utf8_chars_and_len (line 1072) | static void gdextension_string_name_new_with_utf8_chars_and_len(GDExtens...
function GDExtensionInt (line 1077) | static GDExtensionInt gdextension_xml_parser_open_buffer(GDExtensionObje...
function gdextension_file_access_store_buffer (line 1082) | static void gdextension_file_access_store_buffer(GDExtensionObjectPtr p_...
function gdextension_file_access_get_buffer (line 1087) | static uint64_t gdextension_file_access_get_buffer(GDExtensionConstObjec...
function gdextension_worker_thread_pool_add_native_group_task (line 1102) | static int64_t gdextension_worker_thread_pool_add_native_group_task(GDEx...
function gdextension_worker_thread_pool_add_native_task (line 1108) | static int64_t gdextension_worker_thread_pool_add_native_task(GDExtensio...
function GDExtensionTypePtr (line 1132) | static GDExtensionTypePtr gdextension_packed_color_array_operator_index(...
function GDExtensionTypePtr (line 1140) | static GDExtensionTypePtr gdextension_packed_color_array_operator_index_...
function GDExtensionStringPtr (line 1212) | static GDExtensionStringPtr gdextension_packed_string_array_operator_ind...
function GDExtensionStringPtr (line 1220) | static GDExtensionStringPtr gdextension_packed_string_array_operator_ind...
function GDExtensionTypePtr (line 1228) | static GDExtensionTypePtr gdextension_packed_vector2_array_operator_inde...
function GDExtensionTypePtr (line 1236) | static GDExtensionTypePtr gdextension_packed_vector2_array_operator_inde...
function GDExtensionTypePtr (line 1244) | static GDExtensionTypePtr gdextension_packed_vector3_array_operator_inde...
function GDExtensionTypePtr (line 1252) | static GDExtensionTypePtr gdextension_packed_vector3_array_operator_inde...
function GDExtensionTypePtr (line 1260) | static GDExtensionTypePtr gdextension_packed_vector4_array_operator_inde...
function GDExtensionTypePtr (line 1268) | static GDExtensionTypePtr gdextension_packed_vector4_array_operator_inde...
function GDExtensionVariantPtr (line 1276) | static GDExtensionVariantPtr gdextension_array_operator_index(GDExtensio...
function GDExtensionVariantPtr (line 1284) | static GDExtensionVariantPtr gdextension_array_operator_index_const(GDEx...
function gdextension_array_ref (line 1293) | void gdextension_array_ref(GDExtensionTypePtr p_self, GDExtensionConstTy...
function gdextension_array_set_typed (line 1300) | void gdextension_array_set_typed(GDExtensionTypePtr p_self, GDExtensionV...
function GDExtensionVariantPtr (line 1309) | static GDExtensionVariantPtr gdextension_dictionary_operator_index(GDExt...
function GDExtensionVariantPtr (line 1314) | static GDExtensionVariantPtr gdextension_dictionary_operator_index_const...
function gdextension_dictionary_set_typed (line 1319) | void gdextension_dictionary_set_typed(GDExtensionTypePtr p_self, GDExten...
function gdextension_object_method_bind_call (line 1330) | static void gdextension_object_method_bind_call(GDExtensionMethodBindPtr...
function gdextension_object_method_bind_ptrcall (line 1345) | static void gdextension_object_method_bind_ptrcall(GDExtensionMethodBind...
function gdextension_object_destroy (line 1351) | static void gdextension_object_destroy(GDExtensionObjectPtr p_o) {
function GDExtensionObjectPtr (line 1355) | static GDExtensionObjectPtr gdextension_global_get_singleton(GDExtension...
function gdextension_object_set_instance_binding (line 1365) | static void gdextension_object_set_instance_binding(GDExtensionObjectPtr...
function gdextension_object_free_instance_binding (line 1370) | static void gdextension_object_free_instance_binding(GDExtensionObjectPt...
function gdextension_object_set_instance (line 1375) | static void gdextension_object_set_instance(GDExtensionObjectPtr p_objec...
function GDExtensionObjectPtr (line 1381) | static GDExtensionObjectPtr gdextension_object_get_instance_from_id(GDOb...
function GDExtensionBool (line 1385) | static GDExtensionBool gdextension_object_get_class_name(GDExtensionCons...
function GDExtensionObjectPtr (line 1398) | static GDExtensionObjectPtr gdextension_object_cast_to(GDExtensionConstO...
function GDObjectInstanceID (line 1407) | static GDObjectInstanceID gdextension_object_get_instance_id(GDExtension...
function GDExtensionBool (line 1412) | static GDExtensionBool gdextension_object_has_script_method(GDExtensionC...
function gdextension_object_call_script_method (line 1423) | static void gdextension_object_call_script_method(GDExtensionObjectPtr p...
function GDExtensionObjectPtr (line 1439) | static GDExtensionObjectPtr gdextension_ref_get_object(GDExtensionConstR...
function gdextension_ref_set_object (line 1448) | static void gdextension_ref_set_object(GDExtensionRefPtr p_ref, GDExtens...
function GDExtensionScriptInstancePtr (line 1457) | static GDExtensionScriptInstancePtr gdextension_script_instance_create(c...
function GDExtensionScriptInstancePtr (line 1497) | static GDExtensionScriptInstancePtr gdextension_script_instance_create2(...
function GDExtensionScriptInstancePtr (line 1537) | static GDExtensionScriptInstancePtr gdextension_script_instance_create3(...
function GDExtensionScriptInstancePtr (line 1544) | static GDExtensionScriptInstancePtr gdextension_placeholder_script_insta...
function gdextension_placeholder_script_instance_update (line 1554) | static void gdextension_placeholder_script_instance_update(GDExtensionSc...
function GDExtensionScriptInstancePtr (line 1576) | static GDExtensionScriptInstancePtr gdextension_object_get_script_instan...
function gdextension_object_set_script_instance (line 1595) | static void gdextension_object_set_script_instance(GDExtensionObjectPtr ...
function gdextension_callable_custom_create (line 1605) | static void gdextension_callable_custom_create(GDExtensionUninitializedT...
function gdextension_callable_custom_create2 (line 1610) | static void gdextension_callable_custom_create2(GDExtensionUninitialized...
function GDExtensionMethodBindPtr (line 1626) | static GDExtensionMethodBindPtr gdextension_classdb_get_method_bind(GDEx...
function GDExtensionObjectPtr (line 1651) | static GDExtensionObjectPtr gdextension_classdb_construct_object(GDExten...
function GDExtensionObjectPtr (line 1657) | static GDExtensionObjectPtr gdextension_classdb_construct_object2(GDExte...
function gdextension_editor_add_plugin (line 1668) | static void gdextension_editor_add_plugin(GDExtensionConstStringNamePtr ...
function gdextension_editor_remove_plugin (line 1675) | static void gdextension_editor_remove_plugin(GDExtensionConstStringNameP...
function gdextension_editor_help_load_xml_from_utf8_chars_and_len (line 1682) | static void gdextension_editor_help_load_xml_from_utf8_chars_and_len(con...
function gdextension_editor_help_load_xml_from_utf8_chars (line 1688) | static void gdextension_editor_help_load_xml_from_utf8_chars(const char ...
function gdextension_setup_interface (line 1697) | void gdextension_setup_interface() {
FILE: core/extension/gdextension_interface_header_generator.cpp
function String (line 188) | String GDExtensionInterfaceHeaderGenerator::format_type_and_name(const S...
function String (line 205) | String GDExtensionInterfaceHeaderGenerator::make_deprecated_message(cons...
function String (line 217) | String GDExtensionInterfaceHeaderGenerator::make_deprecated_comment_for_...
function String (line 224) | String GDExtensionInterfaceHeaderGenerator::make_args_text(const Array &...
FILE: core/extension/gdextension_interface_header_generator.h
function class (line 37) | class GDExtensionInterfaceHeaderGenerator {
FILE: core/extension/gdextension_library_loader.cpp
function String (line 74) | String GDExtensionLibraryLoader::find_extension_library(const String &p_...
function Error (line 178) | Error GDExtensionLibraryLoader::open_library(const String &p_path) {
function Error (line 212) | Error GDExtensionLibraryLoader::initialize(GDExtensionInterfaceGetProcAd...
function Error (line 270) | Error GDExtensionLibraryLoader::parse_gdextension_file(const String &p_p...
FILE: core/extension/gdextension_library_loader.h
function class (line 39) | class GDExtensionLibraryLoader : public GDExtensionLoader {
FILE: core/extension/gdextension_loader.h
function class (line 37) | class GDExtensionLoader : public RefCounted {
FILE: core/extension/gdextension_manager.cpp
function String (line 255) | String GDExtensionManager::class_get_icon_path(const String &p_class) co...
function GDExtensionManager (line 463) | GDExtensionManager *GDExtensionManager::get_singleton() {
FILE: core/extension/gdextension_manager.h
type LoadStatus (line 53) | enum LoadStatus {
FILE: core/extension/gdextension_resource_format.cpp
function String (line 63) | String GDExtensionResourceLoader::get_resource_type(const String &p_path...
function Error (line 70) | Error GDExtensionResourceLoader::load_gdextension_resource(const String ...
FILE: core/extension/gdextension_resource_format.h
function class (line 36) | class GDExtensionResourceLoader : public ResourceFormatLoader {
FILE: core/extension/gdextension_special_compat_hashes.h
function class (line 45) | class GDExtensionSpecialCompatHashes {
FILE: core/extension/godot_instance.h
function class (line 36) | class GodotInstance : public Object {
FILE: core/extension/make_interface_dumper.py
function run (line 4) | def run(target, source, env):
FILE: core/extension/make_interface_header.py
function run (line 27) | def run(target, source, env):
function check_formatting (line 140) | def check_formatting(buffer, data, filename):
function check_allowed_keys (line 161) | def check_allowed_keys(data, required, optional=[]):
class UnknownTypeError (line 172) | class UnknownTypeError(Exception):
method __init__ (line 173) | def __init__(self, unknown, parent, item=None):
function base_type_name (line 183) | def base_type_name(type_name):
function format_type_and_name (line 191) | def format_type_and_name(type, name=None):
function is_valid_type (line 203) | def is_valid_type(type, valid_data_types):
function check_type (line 210) | def check_type(kind, type, valid_data_types):
function write_doc (line 227) | def write_doc(file, doc, indent=""):
function make_deprecated_message (line 246) | def make_deprecated_message(data):
function make_deprecated_comment_for_type (line 255) | def make_deprecated_comment_for_type(type):
function write_simple_type (line 262) | def write_simple_type(file, type):
function write_enum_type (line 266) | def write_enum_type(file, enum):
function make_args_text (line 276) | def make_args_text(args):
function write_function_type (line 284) | def write_function_type(file, fn):
function write_struct_type (line 291) | def write_struct_type(file, struct):
function write_interface (line 301) | def write_interface(file, interface):
FILE: core/extension/make_wrappers.py
function generate_mod_version (line 10) | def generate_mod_version(argcount, const=False, returns=False):
function generate_ex_version (line 67) | def generate_ex_version(argcount, const=False, returns=False):
function run (line 119) | def run(target, source, env):
FILE: core/input/default_controller_mappings.h
function class (line 33) | class DefaultControllerMappings {
FILE: core/input/input.cpp
function Input (line 97) | Input *Input::get_singleton() {
function _THREAD_SAFE_METHOD_ (line 313) | _THREAD_SAFE_METHOD_
function _THREAD_SAFE_METHOD_ (line 333) | _THREAD_SAFE_METHOD_
function _THREAD_SAFE_METHOD_ (line 343) | _THREAD_SAFE_METHOD_
function _THREAD_SAFE_METHOD_ (line 353) | _THREAD_SAFE_METHOD_
function _THREAD_SAFE_METHOD_ (line 363) | _THREAD_SAFE_METHOD_
function _THREAD_SAFE_METHOD_ (line 373) | _THREAD_SAFE_METHOD_
function JoyAxis (line 386) | static JoyAxis _combine_device(JoyAxis p_value, int p_device) {
function JoyButton (line 390) | static JoyButton _combine_device(JoyButton p_value, int p_device) {
function _THREAD_SAFE_METHOD_ (line 395) | _THREAD_SAFE_METHOD_
function Vector2 (line 575) | Vector2 Input::get_vector(const StringName &p_negative_x, const StringNa...
function _THREAD_SAFE_METHOD_ (line 602) | _THREAD_SAFE_METHOD_
function String (line 616) | String Input::get_joy_name(int p_idx) {
function Vector2 (line 621) | Vector2 Input::get_joy_vibration_strength(int p_device) {
function String (line 672) | static String _hex_str(uint8_t p_byte) {
function Vector3 (line 753) | Vector3 Input::get_gravity() const {
function Vector3 (line 765) | Vector3 Input::get_accelerometer() const {
function Vector3 (line 777) | Vector3 Input::get_magnetometer() const {
function Vector3 (line 789) | Vector3 Input::get_gyroscope() const {
function _THREAD_SAFE_METHOD_ (line 1068) | _THREAD_SAFE_METHOD_
function Vector3 (line 1087) | Vector3 Input::get_joy_accelerometer(int p_device) const {
function Vector3 (line 1110) | Vector3 Input::get_joy_gravity(int p_device) const {
function Vector3 (line 1129) | Vector3 Input::get_joy_gyroscope(int p_device) const {
function Dictionary (line 1228) | Dictionary Input::get_joy_motion_sensors_calibration(int p_device) const {
function _THREAD_SAFE_METHOD_ (line 1293) | _THREAD_SAFE_METHOD_
function Point2 (line 1363) | Point2 Input::get_mouse_position() const {
function Point2 (line 1367) | Point2 Input::get_last_mouse_velocity() {
function Point2 (line 1372) | Point2 Input::get_last_mouse_screen_velocity() {
function Point2 (line 1385) | Point2 Input::warp_mouse_motion(const Ref<InputEventMouseMotion> &p_moti...
function _THREAD_SAFE_METHOD_ (line 1806) | _THREAD_SAFE_METHOD_
function JoyButton (line 2048) | JoyButton Input::_get_output_button(const String &output) {
function JoyAxis (line 2057) | JoyAxis Input::_get_output_axis(const String &output) {
function String (line 2276) | String Input::get_joy_guid(int p_device) const {
function Dictionary (line 2281) | Dictionary Input::get_joy_info(int p_device) const {
FILE: core/input/input.h
function namespace (line 43) | namespace InputClassEnums {
function class (line 78) | class Input : public Object {
type VibrationInfo (line 169) | struct VibrationInfo {
type MotionInfo (line 178) | struct MotionInfo {
type VelocityTrack (line 195) | struct VelocityTrack {
type Joypad (line 210) | struct Joypad {
type JoyType (line 236) | enum JoyType {
type JoyAxisRange (line 243) | enum JoyAxisRange {
type JoyEvent (line 249) | struct JoyEvent {
type JoyBinding (line 255) | struct JoyBinding {
type JoyDeviceMapping (line 285) | struct JoyDeviceMapping {
FILE: core/input/input_builders.py
function make_default_controller_mappings (line 8) | def make_default_controller_mappings(target, source, env):
FILE: core/input/input_enums.h
type class (line 35) | enum class
type class (line 52) | enum class
type class (line 60) | enum class
type class (line 68) | enum class
type class (line 80) | enum class
type class (line 112) | enum class
type class (line 134) | enum class
function MouseButtonMask (line 147) | enum class MouseButtonMask {
FILE: core/input/input_event.cpp
function String (line 262) | String InputEventWithModifiers::as_text() const {
function String (line 285) | String InputEventWithModifiers::_to_string() {
function Key (line 345) | Key InputEventKey::get_keycode() const {
function Key (line 354) | Key InputEventKey::get_key_label() const {
function Key (line 363) | Key InputEventKey::get_physical_keycode() const {
function KeyLocation (line 381) | KeyLocation InputEventKey::get_location() const {
function Key (line 394) | Key InputEventKey::get_keycode_with_modifiers() const {
function Key (line 398) | Key InputEventKey::get_physical_keycode_with_modifiers() const {
function Key (line 402) | Key InputEventKey::get_key_label_with_modifiers() const {
function String (line 406) | String InputEventKey::as_text_physical_keycode() const {
function String (line 423) | String InputEventKey::as_text_keycode() const {
function String (line 440) | String InputEventKey::as_text_key_label() const {
function String (line 457) | String InputEventKey::as_text_location() const {
function String (line 474) | String InputEventKey::as_text() const {
function String (line 498) | String InputEventKey::_to_string() {
function Vector2 (line 688) | Vector2 InputEventMouse::get_position() const {
function Vector2 (line 696) | Vector2 InputEventMouse::get_global_position() const {
function MouseButton (line 734) | MouseButton InputEventMouseButton::get_button_index() const {
function String (line 834) | String InputEventMouseButton::as_text() const {
function String (line 866) | String InputEventMouseButton::_to_string() {
function Vector2 (line 924) | Vector2 InputEventMouseMotion::get_tilt() const {
function Vector2 (line 948) | Vector2 InputEventMouseMotion::get_relative() const {
function Vector2 (line 956) | Vector2 InputEventMouseMotion::get_relative_screen_position() const {
function Vector2 (line 964) | Vector2 InputEventMouseMotion::get_velocity() const {
function Vector2 (line 972) | Vector2 InputEventMouseMotion::get_screen_velocity() const {
function String (line 1002) | String InputEventMouseMotion::as_text() const {
function String (line 1006) | String InputEventMouseMotion::_to_string() {
function JoyAxis (line 1119) | JoyAxis InputEventJoypadMotion::get_axis() const {
function String (line 1196) | String InputEventJoypadMotion::as_text() const {
function String (line 1202) | String InputEventJoypadMotion::_to_string() {
function JoyButton (line 1234) | JoyButton InputEventJoypadButton::get_button_index() const {
function String (line 1307) | String InputEventJoypadButton::as_text() const {
function String (line 1321) | String InputEventJoypadButton::_to_string() {
function Vector2 (line 1363) | Vector2 InputEventScreenTouch::get_position() const {
function String (line 1398) | String InputEventScreenTouch::as_text() const {
function String (line 1404) | String InputEventScreenTouch::_to_string() {
function Vector2 (line 1445) | Vector2 InputEventScreenDrag::get_tilt() const {
function Vector2 (line 1469) | Vector2 InputEventScreenDrag::get_position() const {
function Vector2 (line 1477) | Vector2 InputEventScreenDrag::get_relative() const {
function Vector2 (line 1485) | Vector2 InputEventScreenDrag::get_relative_screen_position() const {
function Vector2 (line 1493) | Vector2 InputEventScreenDrag::get_velocity() const {
function Vector2 (line 1501) | Vector2 InputEventScreenDrag::get_screen_velocity() const {
function String (line 1528) | String InputEventScreenDrag::as_text() const {
function String (line 1532) | String InputEventScreenDrag::_to_string() {
function StringName (line 1600) | StringName InputEventAction::get_action() const {
function String (line 1659) | String InputEventAction::as_text() const {
function String (line 1674) | String InputEventAction::_to_string() {
function Vector2 (line 1710) | Vector2 InputEventGesture::get_position() const {
function real_t (line 1720) | real_t InputEventMagnifyGesture::get_factor() const {
function String (line 1741) | String InputEventMagnifyGesture::as_text() const {
function String (line 1745) | String InputEventMagnifyGesture::_to_string() {
function Vector2 (line 1762) | Vector2 InputEventPanGesture::get_delta() const {
function String (line 1783) | String InputEventPanGesture::as_text() const {
function String (line 1787) | String InputEventPanGesture::_to_string() {
function MIDIMessage (line 1812) | MIDIMessage InputEventMIDI::get_message() const {
function String (line 1864) | String InputEventMIDI::as_text() const {
function String (line 1868) | String InputEventMIDI::_to_string() {
function String (line 1938) | String InputEventShortcut::as_text() const {
function String (line 1944) | String InputEventShortcut::_to_string() {
FILE: core/input/input_event.h
type Transform2D (line 45) | struct Transform2D
function get_device (line 70) | int get_device() const;
function virtual (line 94) | virtual InputEventType get_type() const { return InputEventType::INVALID; }
function class (line 110) | class InputEventWithModifiers : public InputEventFromWindow {
function get_factor (line 244) | float get_factor() const;
function Vector2 (line 283) | Vector2 get_tilt() const;
function class (line 340) | class InputEventJoypadButton : public InputEvent {
function StringName (line 464) | StringName get_action() const;
function virtual (line 481) | virtual String as_text() const override;
function get_channel (line 553) | int get_channel() const;
FILE: core/input/input_event_codec.cpp
type BoolShift (line 36) | enum class BoolShift : uint8_t {
function encode_key_modifier_state (line 52) | uint8_t encode_key_modifier_state(Ref<InputEventWithModifiers> p_event) {
function decode_key_modifier_state (line 61) | void decode_key_modifier_state(uint8_t bools, Ref<InputEventWithModifier...
function encode_vector2 (line 68) | int encode_vector2(const Vector2 &p_vector, uint8_t *p_data) {
function encode_input_event_key (line 82) | void encode_input_event_key(const Ref<InputEventKey> &p_event, PackedByt...
function Error (line 104) | Error decode_input_event_key(const PackedByteArray &p_data, Ref<InputEve...
function encode_input_event_mouse_button (line 134) | void encode_input_event_mouse_button(const Ref<InputEventMouseButton> &p...
function Error (line 161) | Error decode_input_event_mouse_button(const PackedByteArray &p_data, Ref...
function encode_input_event_mouse_motion (line 185) | void encode_input_event_mouse_motion(const Ref<InputEventMouseMotion> &p...
function decode_input_event_mouse_motion (line 211) | void decode_input_event_mouse_motion(const PackedByteArray &p_data, Ref<...
function encode_input_event_joypad_button (line 252) | void encode_input_event_joypad_button(const Ref<InputEventJoypadButton> ...
function decode_input_event_joypad_button (line 272) | void decode_input_event_joypad_button(const PackedByteArray &p_data, Ref...
function encode_input_event_joypad_motion (line 289) | void encode_input_event_joypad_motion(const Ref<InputEventJoypadMotion> ...
function decode_input_event_joypad_motion (line 305) | void decode_input_event_joypad_motion(const PackedByteArray &p_data, Ref...
function encode_input_event_gesture_pan (line 321) | void encode_input_event_gesture_pan(const Ref<InputEventPanGesture> &p_e...
function decode_input_event_gesture_pan (line 338) | void decode_input_event_gesture_pan(const PackedByteArray &p_data, Ref<I...
function encode_input_event_gesture_magnify (line 358) | void encode_input_event_gesture_magnify(const Ref<InputEventMagnifyGestu...
function decode_input_event_gesture_magnify (line 375) | void decode_input_event_gesture_magnify(const PackedByteArray &p_data, R...
function encode_input_event (line 394) | bool encode_input_event(const Ref<InputEvent> &p_event, PackedByteArray ...
function decode_input_event (line 423) | void decode_input_event(const PackedByteArray &p_data, Ref<InputEvent> &...
FILE: core/input/input_map.cpp
function String (line 66) | String InputMap::suggest_actions(const StringName &p_action) const {
function String (line 171) | String InputMap::get_action_description(const StringName &p_action) const {
type _BuiltinActionDisplayName (line 360) | struct _BuiltinActionDisplayName {
function String (line 440) | String InputMap::get_builtin_display_name(const String &p_name) const {
FILE: core/input/input_map.h
type Action (line 49) | struct Action {
FILE: core/input/shortcut.cpp
function Array (line 53) | Array Shortcut::get_events() const {
function String (line 78) | String Shortcut::get_as_text() const {
FILE: core/input/shortcut.h
function class (line 36) | class Shortcut : public Resource {
FILE: core/io/compression.h
function class (line 38) | class Compression {
FILE: core/io/config_file.cpp
function Variant (line 58) | Variant ConfigFile::get_value(const String &p_section, const String &p_k...
function String (line 123) | String ConfigFile::encode_to_text() const {
function Error (line 145) | Error ConfigFile::save(const String &p_path) {
function Error (line 156) | Error ConfigFile::save_encrypted(const String &p_path, const Vector<uint...
function Error (line 173) | Error ConfigFile::save_encrypted_pass(const String &p_path, const String...
function Error (line 191) | Error ConfigFile::_internal_save(Ref<FileAccess> file) {
function Error (line 213) | Error ConfigFile::load(const String &p_path) {
function Error (line 224) | Error ConfigFile::load_encrypted(const String &p_path, const Vector<uint...
function Error (line 241) | Error ConfigFile::load_encrypted_pass(const String &p_path, const String...
function Error (line 259) | Error ConfigFile::_internal_load(const String &p_path, Ref<FileAccess> f) {
function Error (line 268) | Error ConfigFile::parse(const String &p_data) {
function Error (line 274) | Error ConfigFile::_parse(const String &p_path, VariantParser::Stream *p_...
FILE: core/io/config_file.h
function class (line 38) | class ConfigFile : public RefCounted {
FILE: core/io/delta_encoding.cpp
type ZstdCompressionContext (line 42) | struct ZstdCompressionContext {
type ZstdDecompressionContext (line 48) | struct ZstdDecompressionContext {
function Error (line 58) | Error DeltaEncoding::encode_delta(Span<uint8_t> p_old_data, Span<uint8_t...
function Error (line 93) | Error DeltaEncoding::decode_delta(Span<uint8_t> p_old_data, Span<uint8_t...
FILE: core/io/dir_access.cpp
function String (line 40) | String DirAccess::_get_root_path() const {
function String (line 51) | String DirAccess::_get_root_string() const {
function Error (line 78) | static Error _erase_recursive(DirAccess *da) {
function Error (line 129) | Error DirAccess::erase_contents_recursive() {
function Error (line 133) | Error DirAccess::make_dir_recursive(const String &p_dir) {
function String (line 190) | String DirAccess::fix_path(const String &p_path) const {
function String (line 268) | String DirAccess::_get_drive_name(int p_idx) {
function String (line 273) | String DirAccess::_get_drive_label(int p_idx) {
function Error (line 278) | Error DirAccess::make_dir_absolute(const String &p_dir) {
function Error (line 283) | Error DirAccess::make_dir_recursive_absolute(const String &p_dir) {
function Error (line 293) | Error DirAccess::copy_absolute(const String &p_from, const String &p_to,...
function Error (line 301) | Error DirAccess::rename_absolute(const String &p_from, const String &p_t...
function Error (line 308) | Error DirAccess::remove_absolute(const String &p_path) {
function Error (line 404) | Error DirAccess::get_open_error() {
function String (line 408) | String DirAccess::get_full_path(const String &p_path, AccessType p_acces...
function Error (line 419) | Error DirAccess::copy(const String &p_from, const String &p_to, int p_ch...
class DirChanger (line 474) | class DirChanger {
method DirChanger (line 479) | DirChanger(DirAccess *p_da, const String &p_dir) :
function Error (line 490) | Error DirAccess::_copy_dir(Ref<DirAccess> &p_target_da, const String &p_...
function Error (line 546) | Error DirAccess::copy_dir(const String &p_from, String p_to, int p_chmod...
function PackedStringArray (line 572) | PackedStringArray DirAccess::get_files() {
function PackedStringArray (line 576) | PackedStringArray DirAccess::get_files_at(const String &p_path) {
function PackedStringArray (line 582) | PackedStringArray DirAccess::get_directories() {
function PackedStringArray (line 586) | PackedStringArray DirAccess::get_directories_at(const String &p_path) {
function PackedStringArray (line 592) | PackedStringArray DirAccess::_get_contents(bool p_directories) {
function String (line 608) | String DirAccess::_get_next() {
FILE: core/io/dir_access.h
function class (line 38) | class DirAccess : public RefCounted {
FILE: core/io/dtls_server.cpp
function DTLSServer (line 35) | DTLSServer *DTLSServer::create(bool p_notify_postinitialize) {
FILE: core/io/dtls_server.h
function class (line 35) | class DTLSServer : public RefCounted {
FILE: core/io/file_access.cpp
function Error (line 156) | Error FileAccess::reopen(const String &p_path, int p_mode_flags) {
function Error (line 242) | Error FileAccess::get_open_error() {
function String (line 254) | String FileAccess::fix_path(const String &p_path) const {
function real_t (line 373) | real_t FileAccess::get_real() const {
function Variant (line 381) | Variant FileAccess::get_var(bool p_allow_objects) const {
function String (line 401) | String FileAccess::get_token() const {
class CharBuffer (line 420) | class CharBuffer {
method grow (line 428) | bool grow() {
method _FORCE_INLINE_ (line 453) | _FORCE_INLINE_ void push_back(char c) {
method _FORCE_INLINE_ (line 461) | _FORCE_INLINE_ const char *get_data() const {
function String (line 466) | String FileAccess::get_line() const {
function String (line 555) | String FileAccess::get_as_text() const {
function String (line 588) | String FileAccess::get_as_utf8_string() const {
function Error (line 717) | Error FileAccess::set_unix_permissions(const String &p_file, BitField<Fi...
function Error (line 740) | Error FileAccess::set_hidden_attribute(const String &p_file, bool p_hidd...
function Error (line 763) | Error FileAccess::set_read_only_attribute(const String &p_file, bool p_r...
function PackedByteArray (line 775) | PackedByteArray FileAccess::get_extended_attribute(const String &p_file,...
function String (line 786) | String FileAccess::get_extended_attribute_string(const String &p_file, c...
function Error (line 801) | Error FileAccess::set_extended_attribute(const String &p_file, const Str...
function Error (line 812) | Error FileAccess::set_extended_attribute_string(const String &p_file, co...
function Error (line 830) | Error FileAccess::remove_extended_attribute(const String &p_file, const ...
function PackedStringArray (line 841) | PackedStringArray FileAccess::get_extended_attributes_list(const String ...
function String (line 866) | String FileAccess::get_pascal_string() {
function String (line 952) | String FileAccess::get_file_as_string(const String &p_path, Error *r_err...
function String (line 970) | String FileAccess::get_md5(const String &p_file) {
function String (line 997) | String FileAccess::get_multiple_md5(const Vector<String> &p_file) {
function String (line 1024) | String FileAccess::get_sha256(const String &p_file) {
FILE: core/io/file_access.h
function class (line 45) | class FileAccess : public RefCounted {
FILE: core/io/file_access_compressed.cpp
function Error (line 43) | Error FileAccessCompressed::open_after_magic(Ref<FileAccess> p_base) {
function Error (line 80) | Error FileAccessCompressed::open_internal(const String &p_path, int p_mo...
function String (line 173) | String FileAccessCompressed::get_path() const {
function String (line 181) | String FileAccessCompressed::get_path_absolute() const {
function Error (line 306) | Error FileAccessCompressed::get_error() const {
function Error (line 377) | Error FileAccessCompressed::_set_unix_permissions(const String &p_file, ...
function Error (line 391) | Error FileAccessCompressed::_set_hidden_attribute(const String &p_file, ...
function Error (line 405) | Error FileAccessCompressed::_set_read_only_attribute(const String &p_fil...
FILE: core/io/file_access_compressed.h
function class (line 36) | class FileAccessCompressed : public FileAccess {
FILE: core/io/file_access_encrypted.cpp
function Error (line 44) | Error FileAccessEncrypted::open_and_parse(Ref<FileAccess> p_base, const ...
function Error (line 121) | Error FileAccessEncrypted::open_and_parse_password(Ref<FileAccess> p_bas...
function Error (line 133) | Error FileAccessEncrypted::open_internal(const String &p_path, int p_mod...
function String (line 180) | String FileAccessEncrypted::get_path() const {
function String (line 188) | String FileAccessEncrypted::get_path_absolute() const {
function Error (line 242) | Error FileAccessEncrypted::get_error() const {
function Error (line 310) | Error FileAccessEncrypted::_set_unix_permissions(const String &p_file, B...
function Error (line 324) | Error FileAccessEncrypted::_set_hidden_attribute(const String &p_file, b...
function Error (line 338) | Error FileAccessEncrypted::_set_read_only_attribute(const String &p_file...
FILE: core/io/file_access_encrypted.h
function class (line 38) | class FileAccessEncrypted : public FileAccess {
FILE: core/io/file_access_memory.cpp
function Error (line 72) | Error FileAccessMemory::open_custom(const uint8_t *p_data, uint64_t p_le...
function Error (line 79) | Error FileAccessMemory::open_internal(const String &p_path, int p_mode_f...
function Error (line 146) | Error FileAccessMemory::get_error() const {
FILE: core/io/file_access_memory.h
function class (line 35) | class FileAccessMemory : public FileAccess {
FILE: core/io/file_access_pack.cpp
function Error (line 39) | Error PackedData::add_pack(const String &p_path, bool p_replace_files, u...
function Error (line 430) | Error FileAccessPack::open_internal(const String &p_path, int p_mode_fla...
function Error (line 503) | Error FileAccessPack::get_error() const {
function Error (line 586) | Error DirAccessPack::list_dir_begin() {
function String (line 601) | String DirAccessPack::get_next() {
function String (line 634) | String DirAccessPack::get_drive(int p_drive) {
function Error (line 692) | Error DirAccessPack::change_dir(String p_dir) {
function String (line 702) | String DirAccessPack::get_current_dir(bool p_include_drive) const {
function Error (line 726) | Error DirAccessPack::make_dir(String p_dir) {
function Error (line 730) | Error DirAccessPack::rename(String p_from, String p_to) {
function Error (line 734) | Error DirAccessPack::remove(String p_name) {
function String (line 742) | String DirAccessPack::get_filesystem_type() const {
FILE: core/io/file_access_pack.h
type PackFlags (line 50) | enum PackFlags {
type PackFileFlags (line 56) | enum PackFileFlags {
function class (line 64) | class PackedData {
function _FORCE_INLINE_ (line 123) | _FORCE_INLINE_ PathMD5 _get_simplified_path(const String &p_path) {
function set_disabled (line 141) | void set_disabled(bool p_disabled) { disabled = p_disabled; }
function PackedData (line 144) | static PackedData *get_singleton() { return singleton; }
function class (line 174) | class PackedSourceDirectory : public PackSource {
function virtual (line 193) | virtual uint64_t _get_modified_time(const String &p_file) override { ret...
function virtual (line 194) | virtual uint64_t _get_access_time(const String &p_file) override { retur...
function virtual (line 195) | virtual int64_t _get_size(const String &p_file) override { return -1; }
function virtual (line 196) | virtual BitField<FileAccess::UnixPermissionFlags> _get_unix_permissions(...
function virtual (line 197) | virtual Error _set_unix_permissions(const String &p_file, BitField<FileA...
function virtual (line 199) | virtual bool _get_hidden_attribute(const String &p_file) override { retu...
function virtual (line 200) | virtual Error _set_hidden_attribute(const String &p_file, bool p_hidden)...
function virtual (line 201) | virtual bool _get_read_only_attribute(const String &p_file) override { r...
function virtual (line 202) | virtual Error _set_read_only_attribute(const String &p_file, bool p_ro) ...
function virtual (line 212) | virtual uint64_t get_position() const override;
function has_path (line 254) | bool PackedData::has_path(const String &p_path) {
function has_directory (line 258) | bool PackedData::has_directory(const String &p_path) {
function class (line 267) | class DirAccessPack : public DirAccess {
FILE: core/io/file_access_patched.cpp
function Error (line 37) | Error FileAccessPatched::_apply_patch() const {
function Error (line 96) | Error FileAccessPatched::open_custom(const Ref<FileAccess> &p_old_file) {
function Error (line 153) | Error FileAccessPatched::get_error() const {
FILE: core/io/file_access_patched.h
function class (line 36) | class FileAccessPatched : public FileAccess {
FILE: core/io/file_access_zip.cpp
type ZipData (line 39) | struct ZipData {
function uLong (line 56) | static uLong godot_read(voidpf opaque, voidpf stream, void *buf, uLong s...
function uLong (line 62) | static uLong godot_write(voidpf opaque, voidpf stream, const void *buf, ...
function godot_tell (line 66) | static long godot_tell(voidpf opaque, voidpf stream) {
function godot_seek (line 71) | static long godot_seek(voidpf opaque, voidpf stream, uLong offset, int o...
function godot_close (line 90) | static int godot_close(voidpf opaque, voidpf stream) {
function godot_testerror (line 96) | static int godot_testerror(voidpf opaque, voidpf stream) {
function voidpf (line 101) | static voidpf godot_alloc(voidpf opaque, uInt items, uInt size) {
function godot_free (line 105) | static void godot_free(voidpf opaque, voidpf address) {
function unzFile (line 116) | unzFile ZipArchive::get_file_handle(const String &p_file) const {
function ZipArchive (line 216) | ZipArchive *ZipArchive::get_singleton() {
function Error (line 232) | Error FileAccessZip::open_internal(const String &p_path, int p_mode_flag...
function Error (line 305) | Error FileAccessZip::get_error() const {
FILE: core/io/file_access_zip.h
function class (line 39) | class ZipArchive : public PackSource {
function class (line 73) | class FileAccessZip : public FileAccess {
FILE: core/io/http_client.cpp
function HTTPClient (line 47) | HTTPClient *HTTPClient::create(bool p_notify_postinitialize) {
function Error (line 62) | Error HTTPClient::_request_raw(Method p_method, const String &p_url, con...
function Error (line 67) | Error HTTPClient::_request(Method p_method, const String &p_url, const V...
function String (line 73) | String HTTPClient::query_string_from_dict(const Dictionary &p_dict) {
function Error (line 101) | Error HTTPClient::verify_headers(const Vector<String> &p_headers) {
function Dictionary (line 112) | Dictionary HTTPClient::_get_response_headers_as_dictionary() {
function PackedStringArray (line 129) | PackedStringArray HTTPClient::_get_response_headers() {
FILE: core/io/http_client.h
function class (line 37) | class HTTPClient : public RefCounted {
FILE: core/io/http_client_tcp.cpp
function HTTPClient (line 41) | HTTPClient *HTTPClientTCP::_create_func(bool p_notify_postinitialize) {
function Error (line 45) | Error HTTPClientTCP::connect_to_host(const String &p_host, int p_port, R...
function _check_request_url (line 134) | static bool _check_request_url(HTTPClientTCP::Method p_method, const Str...
function Error (line 153) | Error HTTPClientTCP::request(Method p_method, const String &p_url, const...
function Error (line 235) | Error HTTPClientTCP::get_response_headers(List<String> *r_response) {
function Error (line 276) | Error HTTPClientTCP::poll() {
function PackedByteArray (line 573) | PackedByteArray HTTPClientTCP::read_response_body_chunk() {
function Error (line 738) | Error HTTPClientTCP::_get_http_data(uint8_t *p_buffer, int p_bytes, int ...
FILE: core/io/http_client_tcp.h
function class (line 39) | class HTTPClientTCP : public HTTPClient {
FILE: core/io/image.cpp
function String (line 444) | String Image::get_3d_image_validation_error_text(Image3DValidateError p_...
function Size2i (line 479) | Size2i Image::get_size() const {
function _convert (line 497) | static void _convert(int p_width, int p_height, const uint8_t *p_src, ui...
function _convert_fast (line 539) | static void _convert_fast(int p_width, int p_height, const T *p_src, T *...
function _are_formats_compatible (line 558) | static bool _are_formats_compatible(Image::Format p_format0, Image::Form...
type ImageScaleType (line 867) | enum ImageScaleType {
function _bicubic_interp_kernel (line 872) | static double _bicubic_interp_kernel(double x) {
function _scale_cubic (line 887) | static void _scale_cubic(const uint8_t *__restrict p_src, uint8_t *__res...
function _scale_bilinear (line 975) | static void _scale_bilinear(const uint8_t *__restrict p_src, uint8_t *__...
function _scale_nearest (line 1080) | static void _scale_nearest(const uint8_t *__restrict p_src, uint8_t *__r...
function _lanczos (line 1102) | static float _lanczos(float p_x) {
function _scale_lanczos (line 1107) | static void _scale_lanczos(const uint8_t *__restrict p_src, uint8_t *__r...
function _overlay (line 1226) | static void _overlay(const uint8_t *__restrict p_src, uint8_t *__restric...
function _generate_po2_mipmap (line 1963) | static void _generate_po2_mipmap(const Component *p_src, Component *p_ds...
function Error (line 2159) | Error Image::generate_mipmaps(bool p_renormalize) {
function Error (line 2190) | Error Image::generate_mipmap_roughness(RoughnessChannel p_roughness_chan...
type Status (line 2472) | enum Status {
function Error (line 2765) | Error Image::load(const String &p_path) {
function Error (line 2791) | Error Image::save_png(const String &p_path) const {
function Error (line 2799) | Error Image::save_jpg(const String &p_path, float p_quality) const {
function Error (line 2823) | Error Image::save_exr(const String &p_path, bool p_grayscale) const {
function Error (line 2838) | Error Image::save_dds(const String &p_path) const {
function Error (line 2853) | Error Image::save_webp(const String &p_path, const bool p_lossy, const f...
function Size2i (line 2882) | Size2i Image::get_image_mipmap_size(int p_width, int p_height, Format p_...
function Error (line 2915) | Error Image::decompress() {
function Error (line 2945) | Error Image::compress(CompressMode p_mode, CompressSource p_source, ASTC...
function Error (line 2951) | Error Image::compress_from_channels(CompressMode p_mode, UsedChannels p_...
function Rect2i (line 3040) | Rect2i Image::get_used_rect() const {
function Dictionary (line 3373) | Dictionary Image::_get_data() const {
function Color (line 3383) | Color Image::get_pixelv(const Point2i &p_point) const {
function _FORCE_INLINE_ (line 3395) | _FORCE_INLINE_ Color color_from_rgba4444(uint16_t p_col) {
function _FORCE_INLINE_ (line 3403) | _FORCE_INLINE_ uint16_t color_to_rgba4444(Color p_col) {
function _FORCE_INLINE_ (line 3414) | _FORCE_INLINE_ Color color_from_rgb565(uint16_t p_col) {
function _FORCE_INLINE_ (line 3421) | _FORCE_INLINE_ uint16_t color_to_rgb565(Color p_col) {
function Color (line 3431) | Color Image::_get_color_at_ofs(const uint8_t *ptr, uint32_t ofs) const {
function Color (line 3683) | Color Image::get_pixel(int p_x, int p_y) const {
function String (line 4321) | String Image::get_format_name(Format p_format) {
function Error (line 4433) | Error Image::load_png_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4437) | Error Image::load_jpg_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4441) | Error Image::load_exr_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4449) | Error Image::load_webp_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4453) | Error Image::load_tga_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4461) | Error Image::load_bmp_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4469) | Error Image::load_dds_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4477) | Error Image::load_svg_from_buffer(const Vector<uint8_t> &p_array, float ...
function Error (line 4495) | Error Image::load_svg_from_string(const String &p_svg_str, float scale) {
function Error (line 4499) | Error Image::load_ktx_from_buffer(const Vector<uint8_t> &p_array) {
function Error (line 4546) | Error Image::_load_from_buffer(const Vector<uint8_t> &p_array, ImageMemL...
function Dictionary (line 4679) | Dictionary Image::compute_image_metrics(const Ref<Image> p_compared_imag...
FILE: core/io/image.h
type Error (line 46) | typedef Error (*SavePNGFunc)(const String &p_path, const Ref<Image> &p_i...
type Vector (line 47) | typedef Vector<uint8_t> (*SavePNGBufferFunc)(const Ref<Image> &p_img);
type Error (line 49) | typedef Error (*SaveJPGFunc)(const String &p_path, const Ref<Image> &p_i...
type Vector (line 50) | typedef Vector<uint8_t> (*SaveJPGBufferFunc)(const Ref<Image> &p_img, fl...
type Ref (line 52) | typedef Ref<Image> (*ImageMemLoadFunc)(const uint8_t *p_data, int p_size);
type Ref (line 53) | typedef Ref<Image> (*ScalableImageMemLoadFunc)(const uint8_t *p_data, in...
type Error (line 55) | typedef Error (*SaveWebPFunc)(const String &p_path, const Ref<Image> &p_...
type Vector (line 56) | typedef Vector<uint8_t> (*SaveWebPBufferFunc)(const Ref<Image> &p_img, c...
type Error (line 58) | typedef Error (*SaveEXRFunc)(const String &p_path, const Ref<Image> &p_i...
type Vector (line 59) | typedef Vector<uint8_t> (*SaveEXRBufferFunc)(const Ref<Image> &p_img, bo...
type Error (line 61) | typedef Error (*SaveDDSFunc)(const String &p_path, const Ref<Image> &p_i...
type Vector (line 62) | typedef Vector<uint8_t> (*SaveDDSBufferFunc)(const Ref<Image> &p_img);
type Format (line 74) | enum Format : int32_t {
type Interpolation (line 127) | enum Interpolation {
type UsedChannels (line 138) | enum UsedChannels {
type ASTCFormat (line 148) | enum ASTCFormat {
type RoughnessChannel (line 153) | enum RoughnessChannel {
type Image3DValidateError (line 161) | enum Image3DValidateError {
type CompressMode (line 171) | enum CompressMode {
type CompressSource (line 180) | enum CompressSource {
type AlphaMode (line 187) | enum AlphaMode {
type BasisUniversalPackerParams (line 193) | struct BasisUniversalPackerParams {
FILE: core/io/image_loader.cpp
function Error (line 53) | Error ImageFormatLoaderExtension::load_image(Ref<Image> p_image, Ref<Fil...
function Error (line 83) | Error ImageLoader::load_image(const String &p_file, Ref<Image> p_image, ...
FILE: core/io/image_loader.h
function class (line 42) | class ImageFormatLoader : public RefCounted {
function class (line 68) | class ImageFormatLoaderExtension : public ImageFormatLoader {
function class (line 85) | class ImageLoader {
FILE: core/io/image_resource_format.cpp
function String (line 98) | String ResourceFormatLoaderImage::get_resource_type(const String &p_path...
FILE: core/io/image_resource_format.h
function class (line 36) | class ResourceFormatLoaderImage : public ResourceFormatLoader {
FILE: core/io/ip.cpp
type _IP_ResolverPrivate (line 41) | struct _IP_ResolverPrivate {
type QueueItem (line 42) | struct QueueItem {
method clear (line 50) | void clear() {
method QueueItem (line 57) | QueueItem() {
method find_empty_id (line 64) | IP::ResolverID find_empty_id() const {
method resolve_queues (line 79) | void resolve_queues() {
method _thread_function (line 110) | static void _thread_function(void *self) {
method String (line 121) | static String get_cache_key(const String &p_hostname, IP::Type p_type) {
function IPAddress (line 126) | IPAddress IP::resolve_hostname(const String &p_hostname, IP::Type p_type) {
function PackedStringArray (line 131) | PackedStringArray IP::resolve_hostname_addresses(const String &p_hostnam...
function IPAddress (line 199) | IPAddress IP::get_resolve_item_address(ResolverID p_id) const {
function Array (line 219) | Array IP::get_resolve_item_addresses(ResolverID p_id) const {
function PackedStringArray (line 258) | PackedStringArray IP::_get_local_addresses() const {
function IP (line 328) | IP *IP::get_singleton() {
function IP (line 334) | IP *IP::create() {
FILE: core/io/ip.h
type _IP_ResolverPrivate (line 39) | struct _IP_ResolverPrivate
function class (line 41) | class IP : public Object {
FILE: core/io/ip_address.cpp
function _FORCE_INLINE_ (line 259) | _FORCE_INLINE_ static void _32_to_buf(uint8_t *p_dst, uint32_t p_n) {
FILE: core/io/ip_address.h
function IPAddress (line 35) | struct [[nodiscard]] IPAddress {
function true_type (line 107) | struct is_zero_constructible<IPAddress> : std::true_type {}
FILE: core/io/json.cpp
function Error (line 201) | Error JSON::_get_token(const char32_t *p_str, int &index, int p_len, Tok...
function Error (line 422) | Error JSON::_parse_value(Variant &value, Token &token, const char32_t *p...
function Error (line 466) | Error JSON::_parse_array(Array &array, const char32_t *p_str, int &index...
function Error (line 504) | Error JSON::_parse_object(Dictionary &object, const char32_t *p_str, int...
function Error (line 572) | Error JSON::_parse_string(const String &p_json, Variant &r_ret, String &...
function Error (line 603) | Error JSON::parse(const String &p_json_string, bool p_keep_text) {
function String (line 614) | String JSON::get_parsed_text() const {
function String (line 618) | String JSON::stringify(const Variant &p_var, const String &p_indent, boo...
function Variant (line 625) | Variant JSON::parse_string(const String &p_json_string) {
function _encode_container_type (line 657) | static bool _encode_container_type(Dictionary &r_dict, const String &p_k...
function Variant (line 675) | Variant JSON::_from_native(const Variant &p_variant, bool p_full_objects...
function _decode_container_type (line 1026) | static bool _decode_container_type(const Dictionary &p_dict, const Strin...
function Variant (line 1063) | Variant JSON::_to_native(const Variant &p_json, bool p_allow_objects, in...
FILE: core/io/json.h
function class (line 36) | class JSON : public Resource {
FILE: core/io/json_resource_format.cpp
function String (line 83) | String ResourceFormatLoaderJSON::get_resource_type(const String &p_path)...
function Error (line 90) | Error ResourceFormatSaverJSON::save(const Ref<Resource> &p_resource, con...
FILE: core/io/json_resource_format.h
function class (line 37) | class ResourceFormatLoaderJSON : public ResourceFormatLoader {
function class (line 51) | class ResourceFormatSaverJSON : public ResourceFormatSaver {
FILE: core/io/logger.h
function class (line 43) | class Logger {
function class (line 99) | class StdLogger : public Logger {
function class (line 111) | class RotatedFileLogger : public Logger {
function class (line 128) | class CompositeLogger : public Logger {
FILE: core/io/marshalls.cpp
function ObjectID (line 53) | ObjectID EncodedObjectAsID::get_object_id() const {
type ContainerTypeKind (line 82) | enum ContainerTypeKind {
function Error (line 92) | static Error _decode_string(const uint8_t *&buf, int &len, int *r_len, S...
function Error (line 127) | static Error _decode_container_type(const uint8_t *&buf, int &len, int *...
function Error (line 186) | Error decode_variant(Variant &r_variant, const uint8_t *p_buffer, int p_...
function _encode_string (line 1306) | static void _encode_string(const String &p_string, uint8_t *&buf, int &r...
function _encode_container_type_header (line 1325) | static void _encode_container_type_header(const ContainerType &p_type, u...
function Error (line 1338) | static Error _encode_container_type(const ContainerType &p_type, uint8_t...
function Error (line 1362) | Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r...
function vector3_to_float32_array (line 2136) | Vector<float> vector3_to_float32_array(const Vector3 *vecs, size_t count) {
FILE: core/io/marshalls.h
type uintr_t (line 40) | typedef uint64_t uintr_t;
type uintr_t (line 42) | typedef uint32_t uintr_t;
function encode_uint16 (line 66) | static inline unsigned int encode_uint16(uint16_t p_uint, uint8_t *p_arr) {
function encode_uint32 (line 76) | static inline unsigned int encode_uint32(uint32_t p_uint, uint8_t *p_arr) {
function encode_half (line 86) | static inline unsigned int encode_half(float p_float, uint8_t *p_arr) {
function encode_float (line 92) | static inline unsigned int encode_float(float p_float, uint8_t *p_arr) {
function encode_uint64 (line 100) | static inline unsigned int encode_uint64(uint64_t p_uint, uint8_t *p_arr) {
function encode_double (line 110) | static inline unsigned int encode_double(double p_double, uint8_t *p_arr) {
function encode_uintr (line 118) | static inline unsigned int encode_uintr(uintr_t p_uint, uint8_t *p_arr) {
function encode_real (line 128) | static inline unsigned int encode_real(real_t p_real, uint8_t *p_arr) {
function encode_cstring (line 136) | static inline int encode_cstring(const char *p_string, uint8_t *p_data) {
function decode_uint16 (line 154) | static inline uint16_t decode_uint16(const uint8_t *p_arr) {
function decode_uint32 (line 167) | static inline uint32_t decode_uint32(const uint8_t *p_arr) {
function decode_half (line 180) | static inline float decode_half(const uint8_t *p_arr) {
function decode_float (line 184) | static inline float decode_float(const uint8_t *p_arr) {
function decode_uint64 (line 190) | static inline uint64_t decode_uint64(const uint8_t *p_arr) {
function decode_double (line 203) | static inline double decode_double(const uint8_t *p_arr) {
function class (line 209) | class EncodedObjectAsID : public RefCounted {
FILE: core/io/missing_resource.cpp
function String (line 67) | String MissingResource::get_original_class() const {
function String (line 79) | String MissingResource::get_save_class() const {
FILE: core/io/missing_resource.h
function class (line 38) | class MissingResource : public Resource {
FILE: core/io/net_socket.h
function class (line 36) | class NetSocket : public RefCounted {
FILE: core/io/packed_data_container.cpp
function Variant (line 36) | Variant PackedDataContainer::getvar(const Variant &p_key, bool *r_valid)...
function Variant (line 52) | Variant PackedDataContainer::_iter_init_ofs(const Array &p_iter, uint32_...
function Variant (line 63) | Variant PackedDataContainer::_iter_next_ofs(const Array &p_iter, uint32_...
function Variant (line 78) | Variant PackedDataContainer::_iter_get_ofs(const Variant &p_iter, uint32...
function Variant (line 102) | Variant PackedDataContainer::_get_at_ofs(uint32_t p_ofs, const uint8_t *...
function Variant (line 154) | Variant PackedDataContainer::_key_at_ofs(uint32_t p_ofs, const Variant &...
function Error (line 321) | Error PackedDataContainer::pack(const Variant &p_data) {
function Variant (line 344) | Variant PackedDataContainer::_iter_init(const Array &p_iter) {
function Variant (line 348) | Variant PackedDataContainer::_iter_next(const Array &p_iter) {
function Variant (line 352) | Variant PackedDataContainer::_iter_get(const Variant &p_iter) {
function Variant (line 372) | Variant PackedDataContainerRef::_iter_init(const Array &p_iter) {
function Variant (line 376) | Variant PackedDataContainerRef::_iter_next(const Array &p_iter) {
function Variant (line 380) | Variant PackedDataContainerRef::_iter_get(const Variant &p_iter) {
function Variant (line 391) | Variant PackedDataContainerRef::getvar(const Variant &p_key, bool *r_val...
FILE: core/io/packed_data_container.h
function class (line 35) | class PackedDataContainer : public Resource {
type DictKey (line 43) | struct DictKey {
FILE: core/io/packet_peer.cpp
function Error (line 50) | Error PacketPeer::get_packet_buffer(Vector<uint8_t> &r_buffer) {
function Error (line 71) | Error PacketPeer::put_packet_buffer(const Vector<uint8_t> &p_buffer) {
function Error (line 81) | Error PacketPeer::get_var(Variant &r_variant, bool p_allow_objects) {
function Error (line 92) | Error PacketPeer::put_var(const Variant &p_packet, bool p_full_objects) {
function Variant (line 117) | Variant PacketPeer::_bnd_get_var(bool p_allow_objects) {
function Error (line 125) | Error PacketPeer::_put_packet(const Vector<uint8_t> &p_buffer) {
function Error (line 135) | Error PacketPeer::_get_packet_error() const {
function Error (line 156) | Error PacketPeerExtension::get_packet(const uint8_t **r_buffer, int &r_b...
function Error (line 165) | Error PacketPeerExtension::put_packet(const uint8_t *p_buffer, int p_buf...
function Error (line 196) | Error PacketPeerStream::_poll_buffer() const {
function Error (line 240) | Error PacketPeerStream::get_packet(const uint8_t **r_buffer, int &r_buff...
function Error (line 261) | Error PacketPeerStream::put_packet(const uint8_t *p_buffer, int p_buffer...
FILE: core/io/packet_peer.h
function class (line 39) | class PacketPeer : public RefCounted {
FILE: core/io/packet_peer_dtls.cpp
function PacketPeerDTLS (line 35) | PacketPeerDTLS *PacketPeerDTLS::create(bool p_notify_postinitialize) {
FILE: core/io/packet_peer_dtls.h
type Status (line 46) | enum Status {
FILE: core/io/packet_peer_udp.cpp
function Error (line 49) | Error PacketPeerUDP::join_multicast_group(IPAddress p_multi_address, con...
function Error (line 64) | Error PacketPeerUDP::leave_multicast_group(IPAddress p_multi_address, co...
function String (line 71) | String PacketPeerUDP::_get_packet_ip() const {
function Error (line 75) | Error PacketPeerUDP::_set_dest_address(const String &p_address, int p_po...
function Error (line 100) | Error PacketPeerUDP::get_packet(const uint8_t **r_buffer, int &r_buffer_...
function Error (line 136) | Error PacketPeerUDP::put_packet(const uint8_t *p_buffer, int p_buffer_si...
function Error (line 177) | Error PacketPeerUDP::bind(int p_port, const IPAddress &p_bind_address, i...
function Error (line 209) | Error PacketPeerUDP::connect_shared_socket(Ref<NetSocket> p_sock, IPAddr...
function Error (line 226) | Error PacketPeerUDP::connect_to_host(const IPAddress &p_host, int p_port) {
function Error (line 279) | Error PacketPeerUDP::wait() {
function Error (line 284) | Error PacketPeerUDP::_poll() {
function Error (line 326) | Error PacketPeerUDP::store_packet(IPAddress p_ip, uint32_t p_port, uint8...
function IPAddress (line 342) | IPAddress PacketPeerUDP::get_packet_address() const {
FILE: core/io/packet_peer_udp.h
function class (line 39) | class PacketPeerUDP : public PacketPeer {
FILE: core/io/pck_packer.cpp
function _get_pad (line 40) | static int _get_pad(int p_alignment, int p_n) {
function Error (line 58) | Error PCKPacker::pck_start(const String &p_pck_path, int p_alignment, co...
function Error (line 132) | Error PCKPacker::add_file_removal(const String &p_target_path) {
function Error (line 150) | Error PCKPacker::add_file(const String &p_target_path, const String &p_s...
function Error (line 162) | Error PCKPacker::add_file_from_buffer(const String &p_target_path, const...
function Error (line 166) | Error PCKPacker::_add_file(const String &p_target_path, const String &p_...
function Error (line 216) | Error PCKPacker::flush(bool p_verbose) {
FILE: core/io/pck_packer.h
function class (line 37) | class PCKPacker : public RefCounted {
FILE: core/io/plist.cpp
function Variant (line 40) | Variant PListNode::get_value() const {
function PackedByteArray (line 819) | PackedByteArray PList::save_asn1() const {
function String (line 853) | String PList::save_text() const {
FILE: core/io/plist.h
function class (line 39) | class PList : public RefCounted {
FILE: core/io/remote_filesystem_client.cpp
function Error (line 88) | Error RemoteFilesystemClient::_store_file(const String &p_path, const Lo...
function Error (line 112) | Error RemoteFilesystemClient::_remove_file(const String &p_path) {
function Error (line 115) | Error RemoteFilesystemClient::_store_cache_file(const Vector<FileCache> ...
function Error (line 131) | Error RemoteFilesystemClient::synchronize_with_server(const String &p_ho...
function Error (line 143) | Error RemoteFilesystemClient::_synchronize_with_server(const String &p_h...
FILE: core/io/remote_filesystem_client.h
function class (line 37) | class RemoteFilesystemClient {
FILE: core/io/resource.cpp
function String (line 118) | String Resource::get_path() const {
function String (line 133) | String Resource::generate_scene_unique_id() {
function String (line 185) | String Resource::get_scene_unique_id() const {
function String (line 194) | String Resource::get_name() const {
function Error (line 234) | Error Resource::copy_from(const Ref<Resource> &p_resource) {
function Variant (line 278) | Variant Resource::_duplicate_recursive(const Variant &p_variant, const D...
function AFTER_USER_CODE (line 406) | AFTER_USER_CODE
function RID (line 618) | RID Resource::get_rid() const {
function Node (line 660) | Node *Resource::get_local_scene() const {
function String (line 681) | String Resource::_to_string() {
function String (line 717) | String Resource::get_id_for_path(const String &p_referrer_path) const {
FILE: core/io/resource.h
function class (line 52) | class Resource : public RefCounted {
function class (line 197) | class ResourceCache {
FILE: core/io/resource_format_binary.cpp
function Error (line 113) | static Error read_reals(real_t *dst, Ref<FileAccess> &f, size_t count) {
function StringName (line 157) | StringName ResourceLoaderBinary::_get_string() {
function Error (line 174) | Error ResourceLoaderBinary::parse_variant(Variant &r_v) {
function Error (line 682) | Error ResourceLoaderBinary::load() {
function save_ustring (line 911) | static void save_ustring(Ref<FileAccess> f, const String &p_string) {
function String (line 917) | static String get_ustring(Ref<FileAccess> f) {
function String (line 925) | String ResourceLoaderBinary::get_unicode_string() {
function String (line 1121) | String ResourceLoaderBinary::recognize(Ref<FileAccess> p_f) {
function String (line 1162) | String ResourceLoaderBinary::recognize_script_class(Ref<FileAccess> p_f) {
function Error (line 1306) | Error ResourceFormatLoaderBinary::rename_dependencies(const String &p_pa...
function String (line 1562) | String ResourceFormatLoaderBinary::get_resource_type(const String &p_pat...
function String (line 1575) | String ResourceFormatLoaderBinary::get_resource_script_class(const Strin...
function String (line 2158) | static String _resource_get_class(Ref<Resource> p_resource) {
function Error (line 2167) | Error ResourceFormatSaverBinaryInstance::save(const String &p_path, cons...
function Error (line 2412) | Error ResourceFormatSaverBinaryInstance::set_uid(const String &p_path, R...
function Error (line 2525) | Error ResourceFormatSaverBinary::save(const Ref<Resource> &p_resource, c...
function Error (line 2531) | Error ResourceFormatSaverBinary::set_uid(const String &p_path, ResourceU...
FILE: core/io/resource_format_binary.h
function class (line 38) | class ResourceLoaderBinary {
function class (line 109) | class ResourceFormatLoaderBinary : public ResourceFormatLoader {
FILE: core/io/resource_importer.cpp
function Error (line 44) | Error ResourceFormatImporter::_get_path_and_type(const String &p_path, P...
function Error (line 255) | Error ResourceFormatImporter::get_import_order_threads_and_importer(cons...
function String (line 318) | String ResourceFormatImporter::get_internal_resource_path(const String &...
function String (line 371) | String ResourceFormatImporter::get_import_group_file(const String &p_pat...
function String (line 385) | String ResourceFormatImporter::get_resource_type(const String &p_path) c...
function Error (line 411) | Error ResourceFormatImporter::get_resource_import_info(const String &p_p...
function Variant (line 428) | Variant ResourceFormatImporter::get_resource_metadata(const String &p_pa...
function String (line 530) | String ResourceFormatImporter::get_import_base_path(const String &p_for_...
function String (line 554) | String ResourceFormatImporter::get_import_settings_hash() const {
function Error (line 591) | Error ResourceFormatImporterSaver::set_uid(const String &p_path, Resourc...
FILE: core/io/resource_importer.h
type Ref (line 39) | typedef Ref<Resource> (*ResourceFormatImporterLoadOnStartup)(ResourceFor...
function class (line 41) | class ResourceFormatImporter : public ResourceFormatLoader {
function virtual (line 74) | virtual bool has_custom_uid_support() const override;
function String (line 101) | String get_import_settings_hash() const;
function class (line 170) | class ResourceFormatImporterSaver : public ResourceFormatSaver {
FILE: core/io/resource_loader.cpp
function String (line 106) | String ResourceFormatLoader::get_resource_type(const String &p_path) con...
function String (line 112) | String ResourceFormatLoader::get_resource_script_class(const String &p_p...
function Error (line 194) | Error ResourceFormatLoader::rename_dependencies(const String &p_path, co...
function String (line 477) | String ResourceLoader::_validate_local_path(const String &p_path) {
function Error (line 488) | Error ResourceLoader::load_threaded_request(const String &p_path, const ...
function String (line 1098) | String ResourceLoader::get_import_group_file(const String &p_path) {
function Error (line 1152) | Error ResourceLoader::rename_dependencies(const String &p_path, const Ha...
function String (line 1178) | String ResourceLoader::get_resource_type(const String &p_path) {
function String (line 1191) | String ResourceLoader::get_resource_script_class(const String &p_path) {
function String (line 1234) | String ResourceLoader::_path_remap(const String &p_path, bool *r_transla...
function String (line 1322) | String ResourceLoader::import_remap(const String &p_path) {
function String (line 1330) | String ResourceLoader::path_remap(const String &p_path) {
FILE: core/io/resource_loader.h
function namespace (line 39) | namespace CoreBind {
function virtual (line 86) | virtual bool has_custom_uid_support() const;
function virtual (line 90) | virtual bool is_imported(const String &p_path) const { return false; }
function virtual (line 91) | virtual int get_import_order(const String &p_path) const { return 0; }
function virtual (line 92) | virtual String get_import_group_file(const String &p_path) const { retur...
function virtual (line 94) | virtual ~ResourceFormatLoader() {}
type Error (line 100) | typedef Error (*ResourceLoaderImport)(const String &p_path);
function class (line 103) | class ResourceLoader {
FILE: core/io/resource_loader_constants.h
function namespace (line 35) | namespace ResourceLoaderConstants {
FILE: core/io/resource_saver.cpp
function Error (line 46) | Error ResourceFormatSaver::save(const Ref<Resource> &p_resource, const S...
function Error (line 52) | Error ResourceFormatSaver::set_uid(const String &p_path, ResourceUID::ID...
function Error (line 102) | Error ResourceSaver::save(RequiredParam<Resource> rp_resource, const Str...
function Error (line 157) | Error ResourceSaver::set_uid(const String &p_path, ResourceUID::ID p_uid) {
FILE: core/io/resource_saver.h
function class (line 36) | class ResourceFormatSaver : public RefCounted {
type ResourceUID (line 59) | typedef ResourceUID::ID (*ResourceSaverGetResourceIDForPath)(const Strin...
function class (line 61) | class ResourceSaver {
FILE: core/io/resource_uid.cpp
function String (line 47) | String ResourceUID::get_cache_file() {
function String (line 55) | String ResourceUID::id_to_text(ID p_id) const {
function String (line 193) | String ResourceUID::get_id_path(ID p_id) const {
function String (line 232) | String ResourceUID::uid_to_path(const String &p_uid) {
function String (line 236) | String ResourceUID::path_to_uid(const String &p_path) {
function String (line 245) | String ResourceUID::ensure_path(const String &p_uid_or_path) {
function Error (line 267) | Error ResourceUID::save_to_cache() {
function Error (line 298) | Error ResourceUID::load_from_cache(bool p_reset) {
function Error (line 335) | Error ResourceUID::update_cache() {
function String (line 374) | String ResourceUID::get_path_from_cache(Ref<FileAccess> &p_cache_file, c...
FILE: core/io/resource_uid.h
function class (line 41) | class ResourceUID : public Object {
FILE: core/io/socket_server.cpp
function Error (line 42) | Error SocketServer::_listen(const NetSocket::Address &p_addr) {
FILE: core/io/socket_server.h
function class (line 36) | class SocketServer : public RefCounted {
FILE: core/io/stream_peer.cpp
function Error (line 36) | Error StreamPeer::_put_data(const Vector<uint8_t> &p_data) {
function Array (line 45) | Array StreamPeer::_put_partial_data(const Vector<uint8_t> &p_data) {
function Array (line 67) | Array StreamPeer::_get_data(int p_bytes) {
function Array (line 86) | Array StreamPeer::_get_partial_data(int p_bytes) {
function String (line 473) | String StreamPeer::get_string(int p_bytes) {
function String (line 488) | String StreamPeer::get_utf8_string(int p_bytes) {
function Variant (line 503) | Variant StreamPeer::get_var(bool p_allow_objects) {
function Error (line 565) | Error StreamPeerExtension::get_data(uint8_t *r_buffer, int p_bytes) {
function Error (line 575) | Error StreamPeerExtension::get_partial_data(uint8_t *r_buffer, int p_byt...
function Error (line 584) | Error StreamPeerExtension::put_data(const uint8_t *p_data, int p_bytes) {
function Error (line 594) | Error StreamPeerExtension::put_partial_data(const uint8_t *p_data, int p...
function Error (line 626) | Error StreamPeerBuffer::put_data(const uint8_t *p_data, int p_bytes) {
function Error (line 642) | Error StreamPeerBuffer::put_partial_data(const uint8_t *p_data, int p_by...
function Error (line 647) | Error StreamPeerBuffer::get_data(uint8_t *p_buffer, int p_bytes) {
function Error (line 657) | Error StreamPeerBuffer::get_partial_data(uint8_t *p_buffer, int p_bytes,...
FILE: core/io/stream_peer.h
function class (line 38) | class StreamPeer : public RefCounted {
FILE: core/io/stream_peer_gzip.cpp
function Error (line 68) | Error StreamPeerGZIP::start_compression(bool p_is_deflate, int buffer_si...
function Error (line 72) | Error StreamPeerGZIP::start_decompression(bool p_is_deflate, int buffer_...
function Error (line 76) | Error StreamPeerGZIP::_start(bool p_compress, bool p_is_deflate, int buf...
function Error (line 104) | Error StreamPeerGZIP::_process(uint8_t *p_dst, int p_dst_size, const uin...
function Error (line 124) | Error StreamPeerGZIP::put_data(const uint8_t *p_data, int p_bytes) {
function Error (line 134) | Error StreamPeerGZIP::put_partial_data(const uint8_t *p_data, int p_byte...
function Error (line 168) | Error StreamPeerGZIP::get_data(uint8_t *p_buffer, int p_bytes) {
function Error (line 178) | Error StreamPeerGZIP::get_partial_data(uint8_t *p_buffer, int p_bytes, i...
function Error (line 194) | Error StreamPeerGZIP::finish() {
FILE: core/io/stream_peer_gzip.h
function class (line 36) | class StreamPeerGZIP : public StreamPeer {
FILE: core/io/stream_peer_socket.cpp
function Error (line 37) | Error StreamPeerSocket::poll() {
function Error (line 82) | Error StreamPeerSocket::write(const uint8_t *p_data, int p_bytes, int &r...
function Error (line 127) | Error StreamPeerSocket::read(uint8_t *p_buffer, int p_bytes, int &r_rece...
function Error (line 194) | Error StreamPeerSocket::wait(NetSocket::PollType p_type, int p_timeout) {
function Error (line 199) | Error StreamPeerSocket::put_data(const uint8_t *p_data, int p_bytes) {
function Error (line 204) | Error StreamPeerSocket::put_partial_data(const uint8_t *p_data, int p_by...
function Error (line 208) | Error StreamPeerSocket::get_data(uint8_t *p_buffer, int p_bytes) {
function Error (line 213) | Error StreamPeerSocket::get_partial_data(uint8_t *p_buffer, int p_bytes,...
FILE: core/io/stream_peer_socket.h
function namespace (line 37) | namespace compat::StreamPeerTCP {
type Status (line 46) | enum Status {
FILE: core/io/stream_peer_tcp.cpp
function Error (line 47) | Error StreamPeerTCP::bind(int p_port, const IPAddress &p_host) {
function Error (line 65) | Error StreamPeerTCP::connect_to_host(const IPAddress &p_host, int p_port) {
function IPAddress (line 105) | IPAddress StreamPeerTCP::get_connected_host() const {
function Error (line 119) | Error StreamPeerTCP::_connect(const String &p_address, int p_port) {
FILE: core/io/stream_peer_tcp.h
function class (line 36) | class StreamPeerTCP : public StreamPeerSocket {
FILE: core/io/stream_peer_tls.cpp
function StreamPeerTLS (line 37) | StreamPeerTLS *StreamPeerTLS::create(bool p_notify_postinitialize) {
FILE: core/io/stream_peer_tls.h
type Status (line 44) | enum Status {
FILE: core/io/stream_peer_uds.cpp
function Error (line 51) | Error StreamPeerUDS::bind(const String &p_path) {
function Error (line 65) | Error StreamPeerUDS::connect_to_host(const String &p_path) {
function String (line 99) | const String StreamPeerUDS::get_connected_path() const {
FILE: core/io/stream_peer_uds.h
function class (line 35) | class StreamPeerUDS : public StreamPeerSocket {
FILE: core/io/tcp_server.cpp
function Error (line 41) | Error TCPServer::listen(uint16_t p_port, const IPAddress &p_bind_address) {
FILE: core/io/tcp_server.h
function class (line 37) | class TCPServer : public SocketServer {
FILE: core/io/translation_loader_po.cpp
type Status (line 142) | enum Status {
function String (line 370) | String TranslationLoaderPO::get_resource_type(const String &p_path) const {
FILE: core/io/translation_loader_po.h
function class (line 36) | class TranslationLoaderPO : public ResourceFormatLoader {
FILE: core/io/udp_server.cpp
function Error (line 48) | Error UDPServer::poll() {
function Error (line 92) | Error UDPServer::listen(uint16_t p_port, const IPAddress &p_bind_address) {
FILE: core/io/udp_server.h
function class (line 36) | class UDPServer : public RefCounted {
FILE: core/io/uds_server.cpp
function Error (line 40) | Error UDSServer::listen(const String &p_path) {
FILE: core/io/uds_server.h
function class (line 36) | class UDSServer : public SocketServer {
FILE: core/io/xml_parser.cpp
function _is_white_space (line 38) | static inline bool _is_white_space(char c) {
function Error (line 340) | Error XMLParser::seek(uint64_t p_pos) {
function Error (line 377) | Error XMLParser::read() {
function String (line 391) | String XMLParser::get_node_data() const {
function String (line 396) | String XMLParser::get_node_name() const {
function String (line 405) | String XMLParser::get_attribute_name(int p_idx) const {
function String (line 410) | String XMLParser::get_attribute_value(int p_idx) const {
function String (line 425) | String XMLParser::get_named_attribute_value(const String &p_name) const {
function String (line 439) | String XMLParser::get_named_attribute_value_safe(const String &p_name) c...
function Error (line 458) | Error XMLParser::open_buffer(const Vector<uint8_t> &p_buffer) {
function Error (line 477) | Error XMLParser::_open_buffer(const uint8_t *p_buffer, size_t p_size) {
function Error (line 494) | Error XMLParser::open(const String &p_path) {
FILE: core/io/xml_parser.h
type SourceFormat (line 47) | enum SourceFormat {
type NodeType (line 56) | enum NodeType {
type Attribute (line 77) | struct Attribute {
function _FORCE_INLINE_ (line 92) | _FORCE_INLINE_ void next_char() {
FILE: core/io/zip_io.cpp
function godot_unzip_get_current_file_info (line 35) | int godot_unzip_get_current_file_info(unzFile p_zip_file, unz_file_info6...
function godot_unzip_locate_file (line 56) | int godot_unzip_locate_file(unzFile p_zip_file, const String &p_filepath...
function uLong (line 100) | uLong zipio_read(voidpf opaque, voidpf stream, void *buf, uLong size) {
function uLong (line 108) | uLong zipio_write(voidpf opaque, voidpf stream, const void *buf, uLong s...
function zipio_tell (line 117) | long zipio_tell(voidpf opaque, voidpf stream) {
function zipio_seek (line 125) | long zipio_seek(voidpf opaque, voidpf stream, uLong offset, int origin) {
function zipio_close (line 146) | int zipio_close(voidpf opaque, voidpf stream) {
function zipio_testerror (line 155) | int zipio_testerror(voidpf opaque, voidpf stream) {
function voidpf (line 163) | voidpf zipio_alloc(voidpf opaque, uInt items, uInt size) {
function zipio_free (line 168) | void zipio_free(voidpf opaque, voidpf address) {
function zlib_filefunc_def (line 172) | zlib_filefunc_def zipio_create_io(Ref<FileAccess> *p_data) {
FILE: core/math/a_star.cpp
function Vector3 (line 72) | Vector3 AStar3D::get_point_position(int64_t p_id) const {
function real_t (line 86) | real_t AStar3D::get_point_weight_scale(int64_t p_id) const {
function PackedInt64Array (line 209) | PackedInt64Array AStar3D::get_point_ids() {
function Vector3 (line 287) | Vector3 AStar3D::get_closest_position_in_segment(const Vector3 &p_point)...
function real_t (line 395) | real_t AStar3D::_estimate_cost(int64_t p_from_id, int64_t p_end_id) {
function real_t (line 412) | real_t AStar3D::_compute_cost(int64_t p_from_id, int64_t p_to_id) {
function Vector2 (line 603) | Vector2 AStar2D::get_point_position(int64_t p_id) const {
function real_t (line 612) | real_t AStar2D::get_point_weight_scale(int64_t p_id) const {
function PackedInt64Array (line 632) | PackedInt64Array AStar2D::get_point_ids() {
function Vector2 (line 684) | Vector2 AStar2D::get_closest_position_in_segment(const Vector2 &p_point)...
function real_t (line 689) | real_t AStar2D::_estimate_cost(int64_t p_from_id, int64_t p_end_id) {
function real_t (line 706) | real_t AStar2D::_compute_cost(int64_t p_from_id, int64_t p_to_id) {
FILE: core/math/a_star.h
function class (line 41) | class AStar3D : public RefCounted {
type Segment (line 78) | struct Segment {
function is_neighbor_filter_enabled (line 147) | bool is_neighbor_filter_enabled() const;
FILE: core/math/a_star_grid_2d.cpp
function real_t (line 37) | static real_t heuristic_euclidean(const Vector2i &p_from, const Vector2i...
function real_t (line 43) | static real_t heuristic_manhattan(const Vector2i &p_from, const Vector2i...
function real_t (line 49) | static real_t heuristic_octile(const Vector2i &p_from, const Vector2i &p...
function real_t (line 56) | static real_t heuristic_chebyshev(const Vector2i &p_from, const Vector2i...
function Rect2i (line 72) | Rect2i AStarGrid2D::get_region() const {
function Size2i (line 85) | Size2i AStarGrid2D::get_size() const {
function Vector2 (line 96) | Vector2 AStarGrid2D::get_offset() const {
function Size2 (line 107) | Size2 AStarGrid2D::get_cell_size() const {
function real_t (line 238) | real_t AStarGrid2D::get_point_weight_scale(const Vector2i &p_id) const {
function real_t (line 587) | real_t AStarGrid2D::_estimate_cost(const Vector2i &p_from_id, const Vect...
function real_t (line 595) | real_t AStarGrid2D::_compute_cost(const Vector2i &p_from_id, const Vecto...
function Vector2 (line 608) | Vector2 AStarGrid2D::get_point_position(const Vector2i &p_id) const {
FILE: core/math/a_star_grid_2d.h
function class (line 37) | class AStarGrid2D : public RefCounted {
function _FORCE_INLINE_ (line 123) | _FORCE_INLINE_ bool _is_walkable(int32_t p_x, int32_t p_y) const {
function _FORCE_INLINE_ (line 127) | _FORCE_INLINE_ Point *_get_point(int32_t p_x, int32_t p_y) {
function _FORCE_INLINE_ (line 134) | _FORCE_INLINE_ void _set_solid_unchecked(int32_t p_x, int32_t p_y, bool ...
function _FORCE_INLINE_ (line 138) | _FORCE_INLINE_ void _set_solid_unchecked(const Vector2i &p_id, bool p_so...
function _FORCE_INLINE_ (line 142) | _FORCE_INLINE_ bool _get_solid_unchecked(const Vector2i &p_id) const {
function _FORCE_INLINE_ (line 146) | _FORCE_INLINE_ Point *_get_point_unchecked(int32_t p_x, int32_t p_y) {
function _FORCE_INLINE_ (line 150) | _FORCE_INLINE_ Point *_get_point_unchecked(const Vector2i &p_id) {
function _FORCE_INLINE_ (line 154) | _FORCE_INLINE_ const Point *_get_point_unchecked(const Vector2i &p_id) c...
FILE: core/math/aabb.cpp
function real_t (line 36) | real_t AABB::get_volume() const {
function AABB (line 79) | AABB AABB::intersection(const AABB &p_aabb) const {
function Vector3 (line 275) | Vector3 AABB::get_longest_axis() const {
function Vector3 (line 307) | Vector3 AABB::get_shortest_axis() const {
function AABB (line 339) | AABB AABB::merge(const AABB &p_with) const {
function AABB (line 345) | AABB AABB::expand(const Vector3 &p_vector) const {
function AABB (line 351) | AABB AABB::grow(real_t p_by) const {
function Variant (line 419) | Variant AABB::intersects_segment_bind(const Vector3 &p_from, const Vecto...
function Variant (line 427) | Variant AABB::intersects_ray_bind(const Vector3 &p_from, const Vector3 &...
FILE: core/math/aabb.h
function AABB (line 44) | struct [[nodiscard]] AABB {
function intersects_inclusive (line 182) | inline bool AABB::intersects_inclusive(const AABB &p_aabb) const {
function encloses (line 210) | inline bool AABB::encloses(const AABB &p_aabb) const {
function Vector3 (line 230) | Vector3 AABB::get_support(const Vector3 &p_direction) const {
function Vector3 (line 244) | Vector3 AABB::get_endpoint(int p_point) const {
function intersects_convex_shape (line 267) | bool AABB::intersects_convex_shape(const Plane *p_planes, int p_plane_co...
function inside_convex_shape (line 309) | bool AABB::inside_convex_shape(const Plane *p_planes, int p_plane_count)...
function has_point (line 328) | bool AABB::has_point(const Vector3 &p_point) const {
function expand_to (line 356) | inline void AABB::expand_to(const Vector3 &p_vector) {
function project_range_in_plane (line 389) | void AABB::project_range_in_plane(const Plane &p_plane, real_t &r_min, r...
function real_t (line 399) | inline real_t AABB::get_longest_axis_size() const {
function smits_intersect_ray (line 427) | bool AABB::smits_intersect_ray(const Vector3 &p_from, const Vector3 &p_d...
function grow_by (line 481) | void AABB::grow_by(real_t p_amount) {
function quantize (line 490) | void AABB::quantize(real_t p_unit) {
function AABB (line 508) | AABB AABB::quantized(real_t p_unit) const {
function true_type (line 515) | struct is_zero_constructible<AABB> : std::true_type {}
FILE: core/math/audio_frame.h
function _FORCE_INLINE_ (line 36) | static _FORCE_INLINE_ float undenormalize(float f) {
type AudioFrame (line 52) | struct AudioFrame {
function AudioFrame (line 82) | constexpr AudioFrame operator/(const AudioFrame &p_frame) const { return...
function AudioFrame (line 86) | constexpr AudioFrame operator*(float p_sample) const { return AudioFrame...
function AudioFrame (line 87) | constexpr AudioFrame operator/(float p_sample) const { return AudioFrame...
function p_frame (line 89) | constexpr void operator+=(const AudioFrame &p_frame) {
function p_frame (line 93) | constexpr void operator-=(const AudioFrame &p_frame) {
function p_frame (line 97) | constexpr void operator*=(const AudioFrame &p_frame) {
function p_frame (line 101) | constexpr void operator/=(const AudioFrame &p_frame) {
function p_sample (line 106) | constexpr void operator+=(float p_sample) {
function p_sample (line 110) | constexpr void operator-=(float p_sample) {
function p_sample (line 114) | constexpr void operator*=(float p_sample) {
function p_sample (line 118) | constexpr void operator/=(float p_sample) {
function _ALWAYS_INLINE_ (line 123) | _ALWAYS_INLINE_ void undenormalize() {
function _FORCE_INLINE_ (line 128) | _FORCE_INLINE_ AudioFrame lerp(const AudioFrame &p_b, float p_t) const {
function true_type (line 174) | struct is_zero_constructible<AudioFrame> : std::true_type {}
FILE: core/math/basis.cpp
function Basis (line 75) | Basis Basis::orthonormalized() const {
function Basis (line 87) | Basis Basis::orthogonalized() const {
function Basis (line 151) | Basis Basis::diagonalize() {
function Basis (line 211) | Basis Basis::inverse() const {
function Basis (line 223) | Basis Basis::transposed() const {
function Basis (line 229) | Basis Basis::from_scale(const Vector3 &p_scale) {
function Basis (line 241) | Basis Basis::scaled(const Vector3 &p_scale) const {
function Basis (line 259) | Basis Basis::scaled_orthogonal(const Vector3 &p_scale) const {
function real_t (line 278) | real_t Basis::get_uniform_scale() const {
function Basis (line 282) | Basis Basis::scaled_local(const Vector3 &p_scale) const {
function Vector3 (line 288) | Vector3 Basis::get_scale_abs() const {
function Vector3 (line 295) | Vector3 Basis::get_scale_global() const {
function Vector3 (line 301) | Vector3 Basis::get_scale() const {
function Vector3 (line 329) | Vector3 Basis::rotref_posscale_decomposition(Basis &rotref) const {
function Basis (line 352) | Basis Basis::rotated(const Vector3 &p_axis, real_t p_angle) const {
function Basis (line 366) | Basis Basis::rotated_local(const Vector3 &p_axis, real_t p_angle) const {
function Basis (line 370) | Basis Basis::rotated(const Vector3 &p_euler, EulerOrder p_order) const {
function Basis (line 378) | Basis Basis::rotated(const Quaternion &p_quaternion) const {
function Vector3 (line 386) | Vector3 Basis::get_euler_normalized(EulerOrder p_order) const {
function Quaternion (line 400) | Quaternion Basis::get_rotation_quaternion() const {
function Vector3 (line 456) | Vector3 Basis::get_euler(EulerOrder p_order) const {
function Quaternion (line 715) | Quaternion Basis::get_quaternion() const {
function Basis (line 902) | Basis Basis::lerp(const Basis &p_to, real_t p_weight) const {
function Basis (line 911) | Basis Basis::slerp(const Basis &p_to, real_t p_weight) const {
function Basis (line 1034) | Basis Basis::looking_at(const Vector3 &p_target, const Vector3 &p_up, bo...
FILE: core/math/basis.h
function Basis (line 36) | struct [[nodiscard]] Basis {
function rows (line 240) | constexpr Basis(const Vector3 &p_x_axis, const Vector3 &p_y_axis, const ...
FILE: core/math/bvh.h
function params_set_thread_safe (line 72) | void params_set_thread_safe(bool p_enable) {
function params_set_node_expansion (line 78) | void params_set_node_expansion(real_t p_value) {
function params_set_pairing_expansion (line 88) | void params_set_pairing_expansion(real_t p_value) {
function set_pair_callback (line 93) | void set_pair_callback(PairCallback p_callback, void *p_userdata) {
function set_unpair_callback (line 98) | void set_unpair_callback(UnpairCallback p_callback, void *p_userdata) {
function set_check_pair_callback (line 103) | void set_check_pair_callback(CheckPairCallback p_callback, void *p_userd...
function move (line 139) | void move(uint32_t p_handle, const BOUNDS &p_aabb) {
function recheck_pairs (line 145) | void recheck_pairs(uint32_t p_handle) {
function erase (line 151) | void erase(uint32_t p_handle) {
function force_collision_check (line 157) | void force_collision_check(uint32_t p_handle) {
function deactivate (line 169) | bool deactivate(uint32_t p_handle) {
function get_tree_id (line 181) | uint32_t get_tree_id(uint32_t p_handle) const {
function get_subindex (line 186) | int get_subindex(uint32_t p_handle) const {
function T (line 192) | T *get(uint32_t p_handle) const {
function move (line 200) | void move(BVHHandle p_handle, const BOUNDS &p_aabb) {
function recheck_pairs (line 210) | void recheck_pairs(BVHHandle p_handle) {
function erase (line 215) | void erase(BVHHandle p_handle) {
function force_collision_check (line 232) | void force_collision_check(BVHHandle p_handle) {
function BVH_LOCKED_FUNCTION (line 253) | BVH_LOCKED_FUNCTION
function deactivate (line 276) | bool deactivate(BVHHandle p_handle) {
function get_active (line 295) | bool get_active(BVHHandle p_handle) {
function update (line 302) | void update() {
function update_collisions (line 312) | void update_collisions() {
function item_get_subindex (line 495) | int item_get_subindex(BVHHandle p_handle) const { return _get_extra(p_ha...
function _unpair (line 497) | void _unpair(BVHHandle p_from, BVHHandle p_to) {
function _find_leavers_process_pair (line 544) | bool _find_leavers_process_pair(typename BVHTREE_CLASS::ItemPairs &p_pai...
function _find_leavers (line 577) | void _find_leavers(BVHHandle p_handle, const BVHABB_CLASS &expanded_abb_...
function _collide (line 596) | void _collide(BVHHandle p_ha, BVHHandle p_hb) {
function _remove_pairs_containing (line 645) | void _remove_pairs_containing(BVHHandle p_handle) {
function _recheck_pairs (line 657) | void _recheck_pairs(BVHHandle p_handle) {
function _reset (line 690) | void _reset() {
function _remove_changed_item (line 737) | void _remove_changed_item(BVHHandle p_handle) {
function class (line 776) | class BVHLockedFunction {
FILE: core/math/bvh_abb.h
type ConvexHull (line 40) | struct ConvexHull {
type Segment (line 48) | struct Segment {
type IntersectResult (line 53) | enum IntersectResult {
function operator (line 63) | bool operator==(const BVH_ABB &o) const { return (min == o.min) && (neg_...
function operator (line 64) | bool operator!=(const BVH_ABB &o) const { return (*this == o) == false; }
function set (line 66) | void set(const POINT &_min, const POINT &_max) {
function from (line 72) | void from(const BOUNDS &p_aabb) {
function to (line 77) | void to(BOUNDS &r_aabb) const {
function merge (line 82) | void merge(const BVH_ABB &p_o) {
function real_t (line 97) | real_t get_proximity_to(const BVH_ABB &p_b) const {
function select_by_proximity (line 106) | int select_by_proximity(const BVH_ABB &p_a, const BVH_ABB &p_b) const {
function find_cutting_planes (line 110) | uint32_t find_cutting_planes(const typename BVH_ABB::ConvexHull &p_hull,...
function intersects_plane (line 123) | bool intersects_plane(const Plane &p_p) const {
function intersects_convex_optimized (line 147) | bool intersects_convex_optimized(const ConvexHull &p_hull, const uint32_...
function intersects_convex_partial (line 167) | bool intersects_convex_partial(const ConvexHull &p_hull) const {
function IntersectResult (line 173) | IntersectResult intersects_convex(const ConvexHull &p_hull) const {
function is_within_convex (line 186) | bool is_within_convex(const ConvexHull &p_hull) const {
function is_point_within_hull (line 193) | bool is_point_within_hull(const ConvexHull &p_hull, const Vector3 &p_pt)...
function intersects_segment (line 202) | bool intersects_segment(const Segment &p_s) const {
function intersects_point (line 208) | bool intersects_point(const POINT &p_pt) const {
function intersects (line 219) | bool intersects(const BVH_ABB &p_o) const {
function intersects_swizzled (line 230) | bool intersects_swizzled(const BVH_ABB &p_o) const {
function is_other_within (line 240) | bool is_other_within(const BVH_ABB &p_o) const {
function grow (line 250) | void grow(const POINT &p_change) {
function expand (line 255) | void expand(real_t p_change) {
function real_t (line 264) | real_t get_area() const {
function _any_morethan (line 276) | bool _any_morethan(const POINT &p_a, const POINT &p_b) const {
function _any_lessthan (line 285) | bool _any_lessthan(const POINT &p_a, const POINT &p_b) const {
FILE: core/math/bvh_tree.h
type BVHCommon (line 78) | struct BVHCommon {
function set (line 89) | struct BVHHandle {
function set_invalid (line 96) | void set_invalid() { _data = BVHCommon::INVALID; }
function set_id (line 99) | void set_id(uint32_t p_id) { _data = p_id; }
function get_alloca_stacksize (line 117) | int32_t get_alloca_stacksize() const { return ALLOCA_STACK_SIZE * sizeof...
function pop (line 124) | bool pop(T &r_value) {
function T (line 135) | T *request() {
function node_replace_child (line 209) | void node_replace_child(uint32_t p_parent_id, uint32_t p_old_child_id, u...
function node_free_node_and_leaf (line 277) | void node_free_node_and_leaf(uint32_t p_node_id) {
function change_root_node (line 287) | void change_root_node(uint32_t p_new_root_id, uint32_t p_tree_id) {
function node_make_leaf (line 295) | void node_make_leaf(uint32_t p_node_id) {
function _node_add_item (line 388) | bool _node_add_item(uint32_t p_node_id, uint32_t p_ref_id, const BVHABB_...
function _node_create_another_child (line 430) | uint32_t _node_create_another_child(uint32_t p_node_id, const BVHABB_CLA...
FILE: core/math/color.cpp
function _append_hex (line 112) | void _append_hex(float p_val, char32_t *string) {
function String (line 120) | String Color::to_html(bool p_alpha) const {
function Color (line 270) | Color Color::clamp(const Color &p_min, const Color &p_max) const {
function Color (line 284) | Color Color::hex(uint32_t p_hex) {
function Color (line 296) | Color Color::hex64(uint64_t p_hex) {
function _parse_col4 (line 308) | static int _parse_col4(const String &p_str, int p_ofs) {
function _parse_col8 (line 321) | static int _parse_col8(const String &p_str, int p_ofs) {
function Color (line 325) | Color Color::inverted() const {
function Color (line 331) | Color Color::html(const String &p_rgba) {
function Color (line 396) | Color Color::named(const String &p_name) {
function Color (line 404) | Color Color::named(const String &p_name, const Color &p_default) {
function String (line 438) | String Color::get_named_color_name(int p_idx) {
function Color (line 443) | Color Color::get_named_color(int p_idx) {
function Color (line 450) | Color Color::from_string(const String &p_string, const Color &p_default) {
function Color (line 458) | Color Color::from_hsv(float p_h, float p_s, float p_v, float p_alpha) {
function Color (line 464) | Color Color::from_rgbe9995(uint32_t p_rgbe) {
function Color (line 478) | Color Color::from_rgba8(int64_t p_r8, int64_t p_g8, int64_t p_b8, int64_...
function Color (line 486) | Color Color::from_ok_hsl(float p_h, float p_s, float p_l, float p_alpha) {
function Color (line 492) | Color Color::from_ok_hsv(float p_h, float p_s, float p_l, float p_alpha) {
FILE: core/math/color.h
function Color (line 38) | struct [[nodiscard]] Color {
FILE: core/math/convex_hull.cpp
class ConvexHullInternal (line 98) | class ConvexHullInternal {
class Point64 (line 100) | class Point64 {
method Point64 (line 106) | Point64(int64_t p_x, int64_t p_y, int64_t p_z) {
method is_zero (line 112) | bool is_zero() {
method dot (line 116) | int64_t dot(const Point64 &b) const {
class Point32 (line 121) | class Point32 {
method Point32 (line 128) | Point32() {
method Point32 (line 131) | Point32(int32_t p_x, int32_t p_y, int32_t p_z) {
method is_zero (line 145) | bool is_zero() {
method Point64 (line 149) | Point64 cross(const Point32 &b) const {
method Point64 (line 153) | Point64 cross(const Point64 &b) const {
method dot (line 157) | int64_t dot(const Point32 &b) const {
method dot (line 161) | int64_t dot(const Point64 &b) const {
method Point32 (line 165) | Point32 operator+(const Point32 &b) const {
method Point32 (line 169) | Point32 operator-(const Point32 &b) const {
class Int128 (line 174) | class Int128 {
method Int128 (line 179) | Int128() {
method Int128 (line 182) | Int128(uint64_t p_low, uint64_t p_high) {
method Int128 (line 187) | Int128(uint64_t p_low) {
method Int128 (line 192) | Int128(int64_t p_value) {
method Int128 (line 205) | Int128 operator-() const {
method Int128 (line 209) | Int128 operator+(const Int128 &b) const {
method Int128 (line 224) | Int128 operator-(const Int128 &b) const {
method Int128 (line 238) | Int128 &operator+=(const Int128 &b) {
method Int128 (line 256) | Int128 &operator++() {
method real_t (line 265) | real_t to_scalar() const {
method get_sign (line 269) | int32_t get_sign() const {
method ucmp (line 277) | int32_t ucmp(const Int128 &b) const {
class Rational64 (line 294) | class Rational64 {
method Rational64 (line 301) | Rational64(int64_t p_numerator, int64_t p_denominator) {
method is_negative_infinity (line 322) | bool is_negative_infinity() const {
method is_nan (line 326) | bool is_nan() const {
method real_t (line 332) | real_t to_scalar() const {
class Rational128 (line 337) | class Rational128 {
method Rational128 (line 345) | Rational128(int64_t p_value) {
method Rational128 (line 360) | Rational128(const Int128 &p_numerator, const Int128 &p_denominator) {
method real_t (line 381) | real_t to_scalar() const {
class PointR128 (line 386) | class PointR128 {
method PointR128 (line 393) | PointR128() {
method PointR128 (line 396) | PointR128(Int128 p_x, Int128 p_y, Int128 p_z, Int128 p_denominator) {
method real_t (line 403) | real_t xvalue() const {
method real_t (line 407) | real_t yvalue() const {
method real_t (line 411) | real_t zvalue() const {
class Edge (line 416) | class Edge
method link (line 488) | void link(Edge *n) {
method print (line 495) | void print() {
class Face (line 417) | class Face
method Face (line 511) | Face() {
method init (line 514) | void init(Vertex *p_a, const Vertex *p_b, const Vertex *p_c) {
method Point64 (line 527) | Point64 get_normal() {
class Vertex (line 419) | class Vertex {
method Vertex (line 430) | Vertex() {
method print (line 434) | void print() {
method Point32 (line 441) | Point32 operator-(const Vertex &b) const {
method Rational128 (line 445) | Rational128 dot(const Point64 &b) const {
method real_t (line 449) | real_t xvalue() const {
method real_t (line 453) | real_t yvalue() const {
method real_t (line 457) | real_t zvalue() const {
method receive_nearby_faces (line 461) | void receive_nearby_faces(Vertex *p_src) {
class Edge (line 479) | class Edge {
method link (line 488) | void link(Edge *n) {
method print (line 495) | void print() {
class Face (line 502) | class Face {
method Face (line 511) | Face() {
method init (line 514) | void init(Vertex *p_a, const Vertex *p_b, const Vertex *p_c) {
method Point64 (line 527) | Point64 get_normal() {
class DMul (line 533) | class DMul {
method high (line 535) | static uint32_t high(uint64_t p_value) {
method low (line 539) | static uint32_t low(uint64_t p_value) {
method mul (line 543) | static uint64_t mul(uint32_t a, uint32_t b) {
method shl_half (line 547) | static void shl_half(uint64_t &p_value) {
method high (line 551) | static uint64_t high(Int128 p_value) {
method low (line 555) | static uint64_t low(Int128 p_value) {
method Int128 (line 559) | static Int128 mul(uint64_t a, uint64_t b) {
method shl_half (line 563) | static void shl_half(Int128 &p_value) {
method mul (line 569) | static void mul(UWord p_a, UWord p_b, UWord &r_low, UWord &r_high) {
class IntermediateHull (line 589) | class IntermediateHull {
method IntermediateHull (line 596) | IntermediateHull() {
type Orientation (line 600) | enum Orientation { ORIENTATION_NONE,
method remove_edge_pair (line 623) | void remove_edge_pair(Edge *p_edge) {
type PointComparator (line 1572) | struct PointComparator {
method _FORCE_INLINE_ (line 1573) | _FORCE_INLINE_ bool operator()(const ConvexHullInternal::Point32 &p, c...
function Vector3 (line 1655) | Vector3 ConvexHullInternal::to_gd_vector(const Point32 &p_v) {
function Vector3 (line 1663) | Vector3 ConvexHullInternal::get_gd_normal(Face *p_face) {
function Vector3 (line 1667) | Vector3 ConvexHullInternal::get_coordinates(const Vertex *p_v) {
function real_t (line 1675) | real_t ConvexHullInternal::shrink(real_t p_amount, real_t p_clamp_amount) {
function get_vertex_copy (line 2140) | static int32_t get_vertex_copy(ConvexHullInternal::Vertex *p_vertex, Loc...
function real_t (line 2153) | real_t ConvexHullComputer::compute(const Vector3 *p_coords, int32_t p_co...
function Error (line 2239) | Error ConvexHullComputer::convex_hull(const Vector<Vector3> &p_points, G...
FILE: core/math/convex_hull.h
function class (line 53) | class ConvexHullComputer {
FILE: core/math/delaunay_2d.h
function class (line 36) | class Delaunay2D {
function Triangle (line 66) | static Triangle create_triangle(const Vector<Vector2> &p_vertices, int p...
function Vector (line 81) | static Vector<Triangle> triangulate(const Vector<Vector2> &p_points) {
FILE: core/math/delaunay_3d.h
function class (line 44) | class Delaunay3D {
type TriangleHasher (line 99) | struct TriangleHasher {
function _FORCE_INLINE_ (line 107) | _FORCE_INLINE_ static void circum_sphere_compute(const Vector3 *p_points...
function _FORCE_INLINE_ (line 165) | _FORCE_INLINE_ static bool simplex_contains(const Vector3 *p_points, con...
function simplex_is_coplanar (line 181) | static bool simplex_is_coplanar(const Vector3 *p_points, const Simplex &...
type OutputSimplex (line 198) | struct OutputSimplex {
FILE: core/math/disjoint_set.h
type HashMap (line 45) | typedef HashMap<T, Element *, H, C> MapT;
function _FORCE_INLINE_ (line 56) | _FORCE_INLINE_ void insert(T object) { (void)insert_or_get(object); }
FILE: core/math/dynamic_bvh.h
function class (line 59) | class DynamicBVH {
function _FORCE_INLINE_ (line 77) | _FORCE_INLINE_ bool contains(const Volume &a) const {
function _FORCE_INLINE_ (line 86) | _FORCE_INLINE_ Volume merge(const Volume &b) const {
function _FORCE_INLINE_ (line 103) | _FORCE_INLINE_ real_t get_size() const {
function _FORCE_INLINE_ (line 118) | _FORCE_INLINE_ real_t get_proximity_to(const Volume &b) const {
function _FORCE_INLINE_ (line 123) | _FORCE_INLINE_ int select_by_proximity(const Volume &a, const Volume &b)...
function _FORCE_INLINE_ (line 128) | _FORCE_INLINE_ bool intersects(const Volume &b) const {
function _FORCE_INLINE_ (line 137) | _FORCE_INLINE_ bool intersects_convex(const Plane *p_planes, int p_plane...
type Node (line 180) | struct Node {
function get_max_depth (line 195) | void get_max_depth(int depth, int &maxdepth) {
function is_left_of_axis (line 213) | bool is_left_of_axis(const Vector3 &org, const Vector3 &axis) const {
function _FORCE_INLINE_ (line 252) | _FORCE_INLINE_ bool _ray_aabb(const Vector3 &rayFrom, const Vector3 &ray...
function get_leaf_count (line 298) | int get_leaf_count() const;
FILE: core/math/expression.cpp
function Error (line 35) | Error Expression::_get_token(Token &r_token) {
function Error (line 1467) | Error Expression::parse(const String &p_expression, const Vector<String>...
function Variant (line 1494) | Variant Expression::execute(const Array &p_inputs, Object *p_base, bool ...
function String (line 1514) | String Expression::get_error_text() const {
FILE: core/math/expression.h
function class (line 35) | class Expression : public RefCounted {
FILE: core/math/face3.cpp
function Vector3 (line 123) | Vector3 Face3::get_random_point_inside() const {
function Plane (line 133) | Plane Face3::get_plane(ClockDirection p_dir) const {
function real_t (line 137) | real_t Face3::get_area() const {
function Vector3 (line 282) | Vector3 Face3::get_closest_point_to(const Vector3 &p_point) const {
FILE: core/math/face3.h
function Face3 (line 38) | struct [[nodiscard]] Face3 {
function intersects_aabb2 (line 86) | bool Face3::intersects_aabb2(const AABB &p_aabb) const {
function true_type (line 238) | struct is_zero_constructible<Face3> : std::true_type {}
FILE: core/math/geometry_2d.cpp
type _AtlasWorkRect (line 126) | struct _AtlasWorkRect {
method _FORCE_INLINE_ (line 130) | _FORCE_INLINE_ bool operator<(const _AtlasWorkRect &p_r) const { retur...
type _AtlasWorkRectResult (line 133) | struct _AtlasWorkRectResult {
FILE: core/math/geometry_2d.h
function class (line 42) | class Geometry2D {
function Vector2 (line 103) | static Vector2 get_closest_point_to_segment(const Vector2 &p_point, cons...
function Vector2 (line 108) | static Vector2 get_closest_point_to_segment(const Vector2 &p_point, cons...
function real_t (line 128) | static real_t get_distance_to_segment(const Vector2 &p_point, const Vect...
function real_t (line 133) | static real_t get_distance_to_segment(const Vector2 &p_point, const Vect...
function is_point_in_triangle (line 137) | static bool is_point_in_triangle(const Vector2 &s, const Vector2 &a, con...
function Vector2 (line 152) | static Vector2 get_closest_point_to_segment_uncapped(const Vector2 &p_po...
function Vector2 (line 157) | static Vector2 get_closest_point_to_segment_uncapped(const Vector2 &p_po...
function line_intersects_line (line 172) | static bool line_intersects_line(const Vector2 &p_from_a, const Vector2 ...
function GODOT_MSVC_WARNING_POP (line 186) | GODOT_MSVC_WARNING_POP
function is_point_in_circle (line 227) | static inline bool is_point_in_circle(const Vector2 &p_point, const Vect...
function real_t (line 231) | static real_t segment_intersects_circle(const Vector2 &p_from, const Vec...
function segment_intersects_rect (line 266) | static bool segment_intersects_rect(const Vector2 &p_from, const Vector2...
type PolyBooleanOperation (line 288) | enum PolyBooleanOperation {
type PolyJoinType (line 294) | enum PolyJoinType {
type PolyEndType (line 299) | enum PolyEndType {
function Vector (line 307) | static Vector<Vector<Point2>> merge_polygons(const Vector<Point2> &p_pol...
function Vector (line 311) | static Vector<Vector<Point2>> clip_polygons(const Vector<Point2> &p_poly...
function Vector (line 315) | static Vector<Vector<Point2>> intersect_polygons(const Vector<Point2> &p...
function Vector (line 319) | static Vector<Vector<Point2>> exclude_polygons(const Vector<Point2> &p_p...
function Vector (line 323) | static Vector<Vector<Point2>> clip_polyline_with_polygon(const Vector<Ve...
function Vector (line 327) | static Vector<Vector<Point2>> intersect_polyline_with_polygon(const Vect...
function Vector (line 331) | static Vector<Vector<Point2>> offset_polygon(const Vector<Vector2> &p_po...
function Vector (line 335) | static Vector<Vector<Point2>> offset_polyline(const Vector<Vector2> &p_p...
function Vector (line 341) | static Vector<int> triangulate_delaunay(const Vector<Vector2> &p_points) {
function Vector (line 355) | static Vector<int> triangulate_polygon(const Vector<Vector2> &p_polygon) {
function is_polygon_clockwise (line 365) | static bool is_polygon_clockwise(const Vector<Vector2> &p_polygon) {
function is_point_in_polygon (line 382) | static bool is_point_in_polygon(const Vector2 &p_point, const Vector<Vec...
function is_segment_intersecting_polygon (line 417) | static bool is_segment_intersecting_polygon(const Vector2 &p_from, const...
function real_t (line 430) | static real_t vec2_cross(const Point2 &O, const Point2 &A, const Point2 ...
function Vector (line 436) | static Vector<Point2> convex_hull(Vector<Point2> P) {
function Vector (line 464) | static Vector<Point2i> bresenham_line(const Point2i &p_from, const Point...
FILE: core/math/geometry_3d.cpp
function real_t (line 132) | real_t Geometry3D::get_closest_distance_between_segments(const Vector3 &...
type _FaceClassify (line 181) | struct _FaceClassify {
type _Link (line 182) | struct _Link {
method clear (line 185) | void clear() {
type _CellFlags (line 198) | enum _CellFlags {
function _plot_face (line 221) | static inline void _plot_face(uint8_t ***p_cell_status, int x, int y, in...
function _mark_outside (line 275) | static inline void _mark_outside(uint8_t ***p_cell_status, int x, int y,...
function _build_faces (line 385) | static inline void _build_faces(uint8_t ***p_cell_status, int x, int y, ...
function edt (line 866) | static void edt(float *f, int stride, int n) {
FILE: core/math/geometry_3d.h
function namespace (line 40) | namespace Geometry3D {
function segment_intersects_convex (line 276) | inline bool segment_intersects_convex(const Vector3 &p_from, const Vecto...
function Vector3 (line 333) | inline Vector3 get_closest_point_to_segment(const Vector3 &p_point, cons...
function Vector3 (line 353) | inline Vector3 get_closest_point_to_segment(const Vector3 &p_point, cons...
function Vector3 (line 358) | inline Vector3 get_closest_point_to_segment_uncapped(const Vector3 &p_po...
function Vector3 (line 372) | inline Vector3 get_closest_point_to_segment_uncapped(const Vector3 &p_po...
function point_in_projected_triangle (line 377) | inline bool point_in_projected_triangle(const Vector3 &p_point, const Ve...
function triangle_sphere_intersection_test (line 401) | inline bool triangle_sphere_intersection_test(const Vector3 &p_triangle_...
function triangle_sphere_intersection_test (line 480) | inline bool triangle_sphere_intersection_test(const Vector3 *p_triangle,...
function Vector (line 485) | inline Vector<Vector3> clip_polygon(const Vector<Vector3> &polygon, cons...
function tetrahedralize_delaunay (line 557) | inline Vector<int32_t> tetrahedralize_delaunay(const Vector<Vector3> &p_...
type MeshData (line 575) | struct MeshData {
function _FORCE_INLINE_ (line 618) | _FORCE_INLINE_ bool planeBoxOverlap(Vector3 normal, real_t d, Vector3 ma...
function _FORCE_INLINE_ (line 733) | _FORCE_INLINE_ bool triangle_box_overlap(const Vector3 &boxcenter, const...
function Vector3 (line 813) | inline Vector3 triangle_get_barycentric_coords(const Vector3 &p_a, const...
function Color (line 833) | inline Color tetrahedron_get_barycentric_coords(const Vector3 &p_a, cons...
function _FORCE_INLINE_ (line 854) | _FORCE_INLINE_ Vector3 octahedron_map_decode(const Vector2 &p_uv) {
FILE: core/math/math_defs.h
function namespace (line 37) | namespace Math {
type ClockDirection (line 70) | enum ClockDirection {
type Orientation (line 75) | enum Orientation {
type HorizontalAlignment (line 80) | enum HorizontalAlignment {
type VerticalAlignment (line 87) | enum VerticalAlignment {
type InlineAlignment (line 94) | enum InlineAlignment {
type Side (line 115) | enum Side {
type Corner (line 122) | enum Corner {
function EulerOrder (line 129) | enum class EulerOrder {
FILE: core/math/math_fieldwise.cpp
function Variant (line 43) | Variant fieldwise_assign(const Variant &p_target, const Variant &p_sourc...
FILE: core/math/math_funcs.h
function namespace (line 39) | namespace Math {
FILE: core/math/math_funcs_binary.h
function namespace (line 35) | namespace Math {
FILE: core/math/plane.cpp
function Plane (line 56) | Plane Plane::normalized() const {
function Vector3 (line 62) | Vector3 Plane::get_any_perpendicular_normal() const {
function Variant (line 144) | Variant Plane::intersect_3_bind(const Plane &p_plane1, const Plane &p_pl...
function Variant (line 153) | Variant Plane::intersects_ray_bind(const Vector3 &p_from, const Vector3 ...
function Variant (line 162) | Variant Plane::intersects_segment_bind(const Vector3 &p_begin, const Vec...
FILE: core/math/plane.h
function Plane (line 37) | struct [[nodiscard]] Plane {
FILE: core/math/projection.cpp
function real_t (line 40) | real_t Projection::determinant() const {
function Plane (line 71) | Plane Projection::xform4(const Plane &p_vec4) const {
function Vector4 (line 81) | Vector4 Projection::xform(const Vector4 &p_vec4) const {
function Vector4 (line 88) | Vector4 Projection::xform_inv(const Vector4 &p_vec4) const {
function Projection (line 105) | Projection Projection::create_depth_correction(bool p_flip_y) {
function Projection (line 111) | Projection Projection::create_light_atlas_rect(const Rect2 &p_rect) {
function Projection (line 117) | Projection Projection::create_perspective(real_t p_fovy_degrees, real_t ...
function Projection (line 123) | Projection Projection::create_perspective_hmd(real_t p_fovy_degrees, rea...
function Projection (line 129) | Projection Projection::create_for_hmd(int p_eye, real_t p_aspect, real_t...
function Projection (line 135) | Projection Projection::create_orthogonal(real_t p_left, real_t p_right, ...
function Projection (line 141) | Projection Projection::create_orthogonal_aspect(real_t p_size, real_t p_...
function Projection (line 147) | Projection Projection::create_frustum(real_t p_left, real_t p_right, rea...
function Projection (line 153) | Projection Projection::create_frustum_aspect(real_t p_size, real_t p_asp...
function Projection (line 159) | Projection Projection::create_fit_aabb(const AABB &p_aabb) {
function Projection (line 165) | Projection Projection::perspective_znear_adjusted(real_t p_new_znear) co...
function Plane (line 171) | Plane Projection::get_projection_plane(Planes p_plane) const {
function Projection (line 240) | Projection Projection::flipped_y() const {
function Projection (line 246) | Projection Projection ::jitter_offseted(const Vector2 &p_offset) const {
function real_t (line 404) | real_t Projection::get_z_far() const {
function real_t (line 411) | real_t Projection::get_z_near() const {
function Vector2 (line 418) | Vector2 Projection::get_viewport_half_extents() const {
function Vector2 (line 427) | Vector2 Projection::get_far_plane_half_extents() const {
function Projection (line 545) | Projection Projection::inverse() const {
function real_t (line 858) | real_t Projection::get_aspect() const {
function real_t (line 879) | real_t Projection::get_fov() const {
function real_t (line 893) | real_t Projection::get_lod_multiplier() const {
FILE: core/math/projection.h
type AABB (line 39) | struct AABB
type Plane (line 40) | struct Plane
type Rect2 (line 41) | struct Rect2
type Transform3D (line 42) | struct Transform3D
type Vector2 (line 43) | struct Vector2
function Projection (line 45) | struct [[nodiscard]] Projection {
function Projection (line 172) | constexpr Projection Projection::operator*(const Projection &p_matrix) c...
function Vector3 (line 188) | Vector3 Projection::xform(const Vector3 &p_vec3) const {
FILE: core/math/quaternion.cpp
function real_t (line 36) | real_t Quaternion::angle_to(const Quaternion &p_to) const {
function Vector3 (line 42) | Vector3 Quaternion::get_euler(EulerOrder p_order) const {
function real_t (line 61) | real_t Quaternion::length() const {
function Quaternion (line 74) | Quaternion Quaternion::normalized() const {
function Quaternion (line 82) | Quaternion Quaternion::inverse() const {
function Quaternion (line 89) | Quaternion Quaternion::log() const {
function Quaternion (line 95) | Quaternion Quaternion::exp() const {
function Quaternion (line 106) | Quaternion Quaternion::slerp(const Quaternion &p_to, real_t p_weight) co...
function Quaternion (line 147) | Quaternion Quaternion::slerpni(const Quaternion &p_to, real_t p_weight) ...
function Quaternion (line 171) | Quaternion Quaternion::spherical_cubic_interpolate(const Quaternion &p_b...
function Quaternion (line 221) | Quaternion Quaternion::spherical_cubic_interpolate_in_time(const Quatern...
function Vector3 (line 276) | Vector3 Quaternion::get_axis() const {
function real_t (line 284) | real_t Quaternion::get_angle() const {
function Quaternion (line 313) | Quaternion Quaternion::from_euler(const Vector3 &p_euler) {
FILE: core/math/quaternion.h
function Quaternion (line 37) | struct [[nodiscard]] Quaternion {
function real_t (line 173) | real_t Quaternion::dot(const Quaternion &p_q) const {
function p_q (line 181) | constexpr void Quaternion::operator+=(const Quaternion &p_q) {
function p_q (line 188) | constexpr void Quaternion::operator-=(const Quaternion &p_q) {
function Quaternion (line 195) | constexpr void Quaternion::operator*=(real_t p_s) {
function Quaternion (line 202) | constexpr void Quaternion::operator/=(real_t p_s) {
function Quaternion (line 216) | constexpr Quaternion Quaternion::operator-() const {
function Quaternion (line 221) | constexpr Quaternion Quaternion::operator*(real_t p_s) const {
function Quaternion (line 225) | constexpr Quaternion Quaternion::operator/(real_t p_s) const {
function p_quaternion (line 229) | constexpr bool Quaternion::operator==(const Quaternion &p_quaternion) co...
function p_quaternion (line 233) | constexpr bool Quaternion::operator!=(const Quaternion &p_quaternion) co...
function p_q (line 237) | constexpr void Quaternion::operator*=(const Quaternion &p_q) {
function Quaternion (line 247) | constexpr Quaternion Quaternion::operator*(const Quaternion &p_q) const {
FILE: core/math/quick_hull.cpp
function Error (line 38) | Error QuickHull::build(const Vector<Vector3> &p_points, Geometry3D::Mesh...
FILE: core/math/quick_hull.h
function class (line 36) | class QuickHull {
type FaceConnect (line 76) | struct FaceConnect {
type RetFaceConnect (line 80) | struct RetFaceConnect {
FILE: core/math/random_number_generator.h
function class (line 36) | class RandomNumberGenerator : public RefCounted {
function _FORCE_INLINE_ (line 57) | _FORCE_INLINE_ int randi_range(int p_from, int p_to) { return randbase.r...
function _FORCE_INLINE_ (line 59) | _FORCE_INLINE_ int64_t rand_weighted(const Vector<float> &p_weights) { r...
FILE: core/math/random_pcg.h
function __bsr_clz32 (line 43) | static int __bsr_clz32(uint32_t x) {
function _FORCE_INLINE_ (line 65) | _FORCE_INLINE_ void seed(uint64_t p_seed) {
function _FORCE_INLINE_ (line 69) | _FORCE_INLINE_ uint64_t get_seed() { return current_seed; }
function _FORCE_INLINE_ (line 71) | _FORCE_INLINE_ void set_state(uint64_t p_state) { pcg.state = p_state; }
function _FORCE_INLINE_ (line 75) | _FORCE_INLINE_ uint32_t rand() {
function _FORCE_INLINE_ (line 78) | _FORCE_INLINE_ uint32_t rand(uint32_t bounds) {
function _FORCE_INLINE_ (line 96) | _FORCE_INLINE_ double randd() {
function _FORCE_INLINE_ (line 109) | _FORCE_INLINE_ float randf() {
function _FORCE_INLINE_ (line 122) | _FORCE_INLINE_ double randfn(double p_mean, double p_deviation) {
function _FORCE_INLINE_ (line 129) | _FORCE_INLINE_ float randfn(float p_mean, float p_deviation) {
FILE: core/math/rect2.h
type Rect2i (line 38) | struct Rect2i
type Transform2D (line 39) | struct Transform2D
function Rect2 (line 41) | struct [[nodiscard]] Rect2 {
function real_t (line 91) | inline real_t distance_to(const Vector2 &p_point) const {
function encloses (line 132) | inline bool encloses(const Rect2 &p_rect) const {
function Rect2 (line 148) | inline Rect2 intersection(const Rect2 &p_rect) const {
function Rect2 (line 165) | inline Rect2 merge(const Rect2 &p_rect) const { ///< return a merged rect
function has_point (line 182) | inline bool has_point(const Point2 &p_point) const {
function is_finite (line 207) | bool is_finite() const;
function Rect2 (line 212) | inline Rect2 grow(real_t p_amount) const {
function grow_by (line 218) | inline void grow_by(real_t p_amount) {
function Rect2 (line 225) | inline Rect2 grow_side(Side p_side, real_t p_amount) const {
function Rect2 (line 234) | inline Rect2 grow_side_bind(uint32_t p_side, real_t p_amount) const {
function Rect2 (line 238) | inline Rect2 grow_individual(real_t p_left, real_t p_top, real_t p_right...
function _FORCE_INLINE_ (line 248) | _FORCE_INLINE_ Rect2 expand(const Vector2 &p_vector) const {
function expand_to (line 254) | inline void expand_to(const Vector2 &p_vector) { // In place function fo...
function Vector2 (line 289) | Vector2 get_support(const Vector2 &p_direction) const {
function _FORCE_INLINE_ (line 300) | _FORCE_INLINE_ bool intersects_filled_polygon(const Vector2 *p_points, i...
function _FORCE_INLINE_ (line 354) | _FORCE_INLINE_ void set_end(const Vector2 &p_end) {
function explicit (line 362) | explicit operator String() const;
function true_type (line 385) | struct is_zero_constructible<Rect2> : std::true_type {}
FILE: core/math/rect2i.h
type Rect2 (line 38) | struct Rect2
function Rect2i (line 40) | struct [[nodiscard]] Rect2i {
FILE: core/math/static_raycaster.h
function class (line 35) | class StaticRaycaster : public RefCounted {
FILE: core/math/transform_2d.cpp
function Transform2D (line 42) | Transform2D Transform2D::inverse() const {
function Transform2D (line 62) | Transform2D Transform2D::affine_inverse() const {
function real_t (line 72) | real_t Transform2D::get_skew() const {
function real_t (line 82) | real_t Transform2D::get_rotation() const {
function Size2 (line 115) | Size2 Transform2D::get_scale() const {
function Transform2D (line 162) | Transform2D Transform2D::orthonormalized() const {
function Transform2D (line 192) | Transform2D Transform2D::looking_at(const Vector2 &p_target) const {
function Transform2D (line 215) | Transform2D Transform2D::operator*(const Transform2D &p_transform) const {
function Transform2D (line 221) | Transform2D Transform2D::scaled(const Size2 &p_scale) const {
function Transform2D (line 228) | Transform2D Transform2D::scaled_local(const Size2 &p_scale) const {
function Transform2D (line 233) | Transform2D Transform2D::untranslated() const {
function Transform2D (line 239) | Transform2D Transform2D::translated(const Vector2 &p_offset) const {
function Transform2D (line 244) | Transform2D Transform2D::translated_local(const Vector2 &p_offset) const {
function Transform2D (line 249) | Transform2D Transform2D::rotated(real_t p_angle) const {
function Transform2D (line 254) | Transform2D Transform2D::rotated_local(real_t p_angle) const {
function real_t (line 259) | real_t Transform2D::determinant() const {
function Transform2D (line 263) | Transform2D Transform2D::interpolate_with(const Transform2D &p_transform...
FILE: core/math/transform_2d.h
function Transform2D (line 40) | struct [[nodiscard]] Transform2D {
FILE: core/math/transform_3d.cpp
function Transform3D (line 40) | Transform3D Transform3D::affine_inverse() const {
function Transform3D (line 51) | Transform3D Transform3D::inverse() const {
function Transform3D (line 63) | Transform3D Transform3D::rotated(const Vector3 &p_axis, real_t p_angle) ...
function Transform3D (line 69) | Transform3D Transform3D::rotated_local(const Vector3 &p_axis, real_t p_a...
function Transform3D (line 79) | Transform3D Transform3D::looking_at(const Vector3 &p_target, const Vecto...
function Transform3D (line 96) | Transform3D Transform3D::interpolate_with(const Transform3D &p_transform...
function Transform3D (line 118) | Transform3D Transform3D::scaled(const Vector3 &p_scale) const {
function Transform3D (line 123) | Transform3D Transform3D::scaled_local(const Vector3 &p_scale) const {
function Transform3D (line 142) | Transform3D Transform3D::translated(const Vector3 &p_translation) const {
function Transform3D (line 147) | Transform3D Transform3D::translated_local(const Vector3 &p_translation) ...
function Transform3D (line 157) | Transform3D Transform3D::orthonormalized() const {
function Transform3D (line 167) | Transform3D Transform3D::orthogonalized() const {
function Transform3D (line 190) | Transform3D Transform3D::operator*(const Transform3D &p_transform) const {
FILE: core/math/transform_3d.h
function Transform3D (line 38) | struct [[nodiscard]] Transform3D {
FILE: core/math/transform_interpolator.cpp
function Quaternion (line 78) | Quaternion TransformInterpolator::_basis_to_quat_unchecked(const Basis &...
function Quaternion (line 110) | Quaternion TransformInterpolator::_quat_slerp_unchecked(const Quaternion...
function Basis (line 156) | Basis TransformInterpolator::_basis_slerp_unchecked(Basis p_from, Basis ...
function real_t (line 205) | real_t TransformInterpolator::_vec3_normalize(Vector3 &p_vec) {
function Vector3 (line 219) | Vector3 TransformInterpolator::_basis_orthonormalize(Basis &r_basis) {
function real_t (line 351) | real_t TransformInterpolator::checksum_transform_3d(const Transform3D &p...
FILE: core/math/transform_interpolator.h
type Transform2D (line 46) | struct Transform2D
type Transform3D (line 47) | struct Transform3D
type Basis (line 48) | struct Basis
type Quaternion (line 49) | struct Quaternion
function class (line 51) | class TransformInterpolator {
function real_t (line 61) | static real_t _vec3_sum(const Vector3 &p_pt) { return p_pt.x + p_pt.y + ...
function _FORCE_INLINE_ (line 63) | _FORCE_INLINE_ static bool _vec3_is_equal_approx(const Vector3 &p_a, con...
FILE: core/math/triangle_mesh.cpp
function Dictionary (line 530) | Dictionary TriangleMesh::intersect_segment_scriptwrap(const Vector3 &p_b...
function Dictionary (line 552) | Dictionary TriangleMesh::intersect_ray_scriptwrap(const Vector3 &p_begin...
FILE: core/math/triangle_mesh.h
function class (line 36) | class TriangleMesh : public RefCounted {
FILE: core/math/triangulate.cpp
function real_t (line 33) | real_t Triangulate::get_area(const Vector<Vector2> &contour) {
FILE: core/math/triangulate.h
function class (line 40) | class Triangulate {
FILE: core/math/vector2.cpp
function real_t (line 36) | real_t Vector2::angle() const {
function Vector2 (line 40) | Vector2 Vector2::from_angle(real_t p_angle) {
function real_t (line 44) | real_t Vector2::length() const {
function real_t (line 48) | real_t Vector2::length_squared() const {
function Vector2 (line 71) | Vector2 Vector2::normalized() const {
function real_t (line 82) | real_t Vector2::distance_to(const Vector2 &p_vector2) const {
function real_t (line 86) | real_t Vector2::distance_squared_to(const Vector2 &p_vector2) const {
function real_t (line 90) | real_t Vector2::angle_to(const Vector2 &p_vector2) const {
function real_t (line 94) | real_t Vector2::angle_to_point(const Vector2 &p_vector2) const {
function real_t (line 98) | real_t Vector2::dot(const Vector2 &p_other) const {
function real_t (line 102) | real_t Vector2::cross(const Vector2 &p_other) const {
function Vector2 (line 106) | Vector2 Vector2::sign() const {
function Vector2 (line 110) | Vector2 Vector2::floor() const {
function Vector2 (line 114) | Vector2 Vector2::ceil() const {
function Vector2 (line 118) | Vector2 Vector2::round() const {
function Vector2 (line 122) | Vector2 Vector2::rotated(real_t p_by) const {
function Vector2 (line 130) | Vector2 Vector2::posmod(real_t p_mod) const {
function Vector2 (line 134) | Vector2 Vector2::posmodv(const Vector2 &p_modv) const {
function Vector2 (line 138) | Vector2 Vector2::project(const Vector2 &p_to) const {
function Vector2 (line 142) | Vector2 Vector2::clamp(const Vector2 &p_min, const Vector2 &p_max) const {
function Vector2 (line 148) | Vector2 Vector2::clampf(real_t p_min, real_t p_max) const {
function Vector2 (line 154) | Vector2 Vector2::snapped(const Vector2 &p_step) const {
function Vector2 (line 160) | Vector2 Vector2::snappedf(real_t p_step) const {
function Vector2 (line 166) | Vector2 Vector2::limit_length(real_t p_len) const {
function Vector2 (line 177) | Vector2 Vector2::move_toward(const Vector2 &p_to, real_t p_delta) const {
function Vector2 (line 185) | Vector2 Vector2::slide(const Vector2 &p_normal) const {
function Vector2 (line 192) | Vector2 Vector2::bounce(const Vector2 &p_normal) const {
function Vector2 (line 196) | Vector2 Vector2::reflect(const Vector2 &p_normal) const {
FILE: core/math/vector2.h
type Vector2i (line 38) | struct Vector2i
function Vector2 (line 40) | struct [[nodiscard]] Vector2 {
function p_v (line 223) | constexpr void Vector2::operator+=(const Vector2 &p_v) {
function p_v (line 232) | constexpr void Vector2::operator-=(const Vector2 &p_v) {
function Vector2 (line 237) | constexpr Vector2 Vector2::operator*(const Vector2 &p_v1) const {
function Vector2 (line 241) | constexpr Vector2 Vector2::operator*(real_t p_rvalue) const {
function p_rvalue (line 245) | constexpr void Vector2::operator*=(real_t p_rvalue) {
function Vector2 (line 250) | constexpr Vector2 Vector2::operator/(const Vector2 &p_v1) const {
function Vector2 (line 254) | constexpr Vector2 Vector2::operator/(real_t p_rvalue) const {
function p_rvalue (line 258) | constexpr void Vector2::operator/=(real_t p_rvalue) {
function p_vec2 (line 271) | constexpr bool Vector2::operator!=(const Vector2 &p_vec2) const {
function Vector2 (line 275) | Vector2 Vector2::lerp(const Vector2 &p_to, real_t p_weight) const {
function Vector2 (line 282) | Vector2 Vector2::slerp(const Vector2 &p_to, real_t p_weight) const {
function Vector2 (line 295) | Vector2 Vector2::cubic_interpolate(const Vector2 &p_b, const Vector2 &p_...
function Vector2 (line 302) | Vector2 Vector2::cubic_interpolate_in_time(const Vector2 &p_b, const Vec...
function Vector2 (line 309) | Vector2 Vector2::bezier_interpolate(const Vector2 &p_control_1, const Ve...
function Vector2 (line 316) | Vector2 Vector2::bezier_derivative(const Vector2 &p_control_1, const Vec...
function Vector2 (line 323) | Vector2 Vector2::direction_to(const Vector2 &p_to) const {
type Vector2 (line 348) | typedef Vector2 Size2;
type Vector2 (line 349) | typedef Vector2 Point2;
function true_type (line 352) | struct is_zero_constructible<Vector2> : std::true_type {}
FILE: core/math/vector2i.cpp
function Vector2i (line 36) | Vector2i Vector2i::clamp(const Vector2i &p_min, const Vector2i &p_max) c...
function Vector2i (line 42) | Vector2i Vector2i::clampi(int32_t p_min, int32_t p_max) const {
function Vector2i (line 48) | Vector2i Vector2i::snapped(const Vector2i &p_step) const {
function Vector2i (line 54) | Vector2i Vector2i::snappedi(int32_t p_step) const {
FILE: core/math/vector2i.h
type Vector2 (line 38) | struct Vector2
function Vector2i (line 40) | struct [[nodiscard]] Vector2i {
function p_v (line 174) | constexpr void Vector2i::operator+=(const Vector2i &p_v) {
function p_v (line 183) | constexpr void Vector2i::operator-=(const Vector2i &p_v) {
function Vector2i (line 188) | constexpr Vector2i Vector2i::operator*(const Vector2i &p_v1) const {
function Vector2i (line 192) | constexpr Vector2i Vector2i::operator*(int32_t p_rvalue) const {
function p_rvalue (line 196) | constexpr void Vector2i::operator*=(int32_t p_rvalue) {
function Vector2i (line 201) | constexpr Vector2i Vector2i::operator/(const Vector2i &p_v1) const {
function Vector2i (line 205) | constexpr Vector2i Vector2i::operator/(int32_t p_rvalue) const {
function p_rvalue (line 209) | constexpr void Vector2i::operator/=(int32_t p_rvalue) {
function Vector2i (line 214) | constexpr Vector2i Vector2i::operator%(const Vector2i &p_v1) const {
function Vector2i (line 218) | constexpr Vector2i Vector2i::operator%(int32_t p_rvalue) const {
function p_rvalue (line 222) | constexpr void Vector2i::operator%=(int32_t p_rvalue) {
function Vector2i (line 227) | constexpr Vector2i Vector2i::operator-() const {
function p_vec2 (line 231) | constexpr bool Vector2i::operator==(const Vector2i &p_vec2) const {
function p_vec2 (line 235) | constexpr bool Vector2i::operator!=(const Vector2i &p_vec2) const {
type Vector2i (line 257) | typedef Vector2i Size2i;
type Vector2i (line 258) | typedef Vector2i Point2i;
function true_type (line 261) | struct is_zero_constructible<Vector2i> : std::true_type {}
FILE: core/math/vector3.cpp
function Vector3 (line 42) | Vector3 Vector3::rotated(const Vector3 &p_axis, real_t p_angle) const {
function Vector3 (line 54) | Vector3 Vector3::snapped(const Vector3 &p_step) const {
function Vector3 (line 66) | Vector3 Vector3::snappedf(real_t p_step) const {
function Vector3 (line 72) | Vector3 Vector3::limit_length(real_t p_len) const {
function Vector3 (line 83) | Vector3 Vector3::move_toward(const Vector3 &p_to, real_t p_delta) const {
function Vector2 (line 90) | Vector2 Vector3::octahedron_encode() const {
function Vector3 (line 106) | Vector3 Vector3::octahedron_decode(const Vector2 &p_oct) {
function Vector2 (line 115) | Vector2 Vector3::octahedron_tangent_encode(float p_sign) const {
function Vector3 (line 124) | Vector3 Vector3::octahedron_tangent_decode(const Vector2 &p_oct, float *...
function Basis (line 133) | Basis Vector3::outer(const Vector3 &p_with) const {
FILE: core/math/vector3.h
type Basis (line 37) | struct Basis
type Vector2 (line 38) | struct Vector2
type Vector3i (line 39) | struct Vector3i
function Vector3 (line 41) | struct [[nodiscard]] Vector3 {
function Vector3 (line 243) | Vector3 Vector3::cross(const Vector3 &p_with) const {
function real_t (line 252) | real_t Vector3::dot(const Vector3 &p_with) const {
function Vector3 (line 256) | Vector3 Vector3::abs() const {
function Vector3 (line 268) | Vector3 Vector3::ceil() const {
function Vector3 (line 284) | Vector3 Vector3::slerp(const Vector3 &p_to, real_t p_weight) const {
function Vector3 (line 306) | Vector3 Vector3::cubic_interpolate(const Vector3 &p_b, const Vector3 &p_...
function Vector3 (line 314) | Vector3 Vector3::cubic_interpolate_in_time(const Vector3 &p_b, const Vec...
function Vector3 (line 322) | Vector3 Vector3::bezier_interpolate(const Vector3 &p_control_1, const Ve...
function Vector3 (line 330) | Vector3 Vector3::bezier_derivative(const Vector3 &p_control_1, const Vec...
function real_t (line 338) | real_t Vector3::distance_to(const Vector3 &p_to) const {
function real_t (line 342) | real_t Vector3::distance_squared_to(const Vector3 &p_to) const {
function Vector3 (line 346) | Vector3 Vector3::posmod(real_t p_mod) const {
function Vector3 (line 350) | Vector3 Vector3::posmodv(const Vector3 &p_modv) const {
function Vector3 (line 354) | Vector3 Vector3::project(const Vector3 &p_to) const {
function real_t (line 358) | real_t Vector3::angle_to(const Vector3 &p_to) const {
function real_t (line 362) | real_t Vector3::signed_angle_to(const Vector3 &p_to, const Vector3 &p_ax...
function Vector3 (line 369) | Vector3 Vector3::direction_to(const Vector3 &p_to) const {
function Vector3 (line 387) | constexpr Vector3 &Vector3::operator+=(const Vector3 &p_v) {
function Vector3 (line 398) | constexpr Vector3 &Vector3::operator-=(const Vector3 &p_v) {
function Vector3 (line 409) | constexpr Vector3 &Vector3::operator*=(const Vector3 &p_v) {
function Vector3 (line 416) | constexpr Vector3 Vector3::operator*(const Vector3 &p_v) const {
function Vector3 (line 420) | constexpr Vector3 &Vector3::operator/=(const Vector3 &p_v) {
function Vector3 (line 427) | constexpr Vector3 Vector3::operator/(const Vector3 &p_v) const {
function Vector3 (line 431) | constexpr Vector3 &Vector3::operator*=(real_t p_scalar) {
function Vector3 (line 457) | constexpr Vector3 Vector3::operator*(real_t p_scalar) const {
function Vector3 (line 461) | constexpr Vector3 &Vector3::operator/=(real_t p_scalar) {
function Vector3 (line 468) | constexpr Vector3 Vector3::operator/(real_t p_scalar) const {
function p_v (line 480) | constexpr bool Vector3::operator!=(const Vector3 &p_v) const {
function p_v (line 484) | constexpr bool Vector3::operator<(const Vector3 &p_v) const {
function p_v (line 494) | constexpr bool Vector3::operator>(const Vector3 &p_v) const {
function p_v (line 504) | constexpr bool Vector3::operator<=(const Vector3 &p_v) const {
function p_v (line 514) | constexpr bool Vector3::operator>=(const Vector3 &p_v) const {
function _FORCE_INLINE_ (line 524) | _FORCE_INLINE_ Vector3 vec3_cross(const Vector3 &p_a, const Vector3 &p_b) {
function _FORCE_INLINE_ (line 528) | _FORCE_INLINE_ real_t vec3_dot(const Vector3 &p_a, const Vector3 &p_b) {
function real_t (line 532) | real_t Vector3::length() const {
function normalize (line 548) | void Vector3::normalize() {
function Vector3 (line 568) | Vector3 Vector3::normalized() const {
function zero (line 583) | void Vector3::zero() {
function Vector3 (line 588) | Vector3 Vector3::slide(const Vector3 &p_normal) const {
function Vector3 (line 595) | Vector3 Vector3::bounce(const Vector3 &p_normal) const {
function Vector3 (line 599) | Vector3 Vector3::reflect(const Vector3 &p_normal) const {
function true_type (line 607) | struct is_zero_constructible<Vector3> : std::true_type {}
FILE: core/math/vector3i.cpp
function Vector3i (line 44) | Vector3i Vector3i::clamp(const Vector3i &p_min, const Vector3i &p_max) c...
function Vector3i (line 51) | Vector3i Vector3i::clampi(int32_t p_min, int32_t p_max) const {
function Vector3i (line 58) | Vector3i Vector3i::snapped(const Vector3i &p_step) const {
function Vector3i (line 65) | Vector3i Vector3i::snappedi(int32_t p_step) const {
FILE: core/math/vector3i.h
type Vector3 (line 38) | struct Vector3
function Vector3i (line 40) | struct [[nodiscard]] Vector3i {
function length (line 168) | double Vector3i::length() const {
function distance_to (line 180) | double Vector3i::distance_to(const Vector3i &p_to) const {
function distance_squared_to (line 184) | int64_t Vector3i::distance_squared_to(const Vector3i &p_to) const {
function Vector3i (line 190) | constexpr Vector3i &Vector3i::operator+=(const Vector3i &p_v) {
function Vector3i (line 201) | constexpr Vector3i &Vector3i::operator-=(const Vector3i &p_v) {
function Vector3i (line 212) | constexpr Vector3i &Vector3i::operator*=(const Vector3i &p_v) {
function Vector3i (line 219) | constexpr Vector3i Vector3i::operator*(const Vector3i &p_v) const {
function Vector3i (line 223) | constexpr Vector3i &Vector3i::operator/=(const Vector3i &p_v) {
function Vector3i (line 230) | constexpr Vector3i Vector3i::operator/(const Vector3i &p_v) const {
function Vector3i (line 234) | constexpr Vector3i &Vector3i::operator%=(const Vector3i &p_v) {
function Vector3i (line 241) | constexpr Vector3i Vector3i::operator%(const Vector3i &p_v) const {
function Vector3i (line 245) | constexpr Vector3i &Vector3i::operator*=(int32_t p_scalar) {
function Vector3i (line 252) | constexpr Vector3i Vector3i::operator*(int32_t p_scalar) const {
function Vector3i (line 274) | constexpr Vector3i &Vector3i::operator/=(int32_t p_scalar) {
function Vector3i (line 281) | constexpr Vector3i Vector3i::operator/(int32_t p_scalar) const {
function Vector3i (line 285) | constexpr Vector3i &Vector3i::operator%=(int32_t p_scalar) {
function Vector3i (line 292) | constexpr Vector3i Vector3i::operator%(int32_t p_scalar) const {
function Vector3i (line 296) | constexpr Vector3i Vector3i::operator-() const {
function p_v (line 300) | constexpr bool Vector3i::operator==(const Vector3i &p_v) const {
function p_v (line 304) | constexpr bool Vector3i::operator!=(const Vector3i &p_v) const {
function p_v (line 308) | constexpr bool Vector3i::operator<(const Vector3i &p_v) const {
function p_v (line 320) | constexpr bool Vector3i::operator>(const Vector3i &p_v) const {
function p_v (line 332) | constexpr bool Vector3i::operator<=(const Vector3i &p_v) const {
function p_v (line 344) | constexpr bool Vector3i::operator>=(const Vector3i &p_v) const {
function zero (line 356) | void Vector3i::zero() {
function true_type (line 361) | struct is_zero_constructible<Vector3i> : std::true_type {}
FILE: core/math/vector4.cpp
function real_t (line 77) | real_t Vector4::length() const {
function Vector4 (line 102) | Vector4 Vector4::normalized() const {
function real_t (line 112) | real_t Vector4::distance_to(const Vector4 &p_to) const {
function real_t (line 116) | real_t Vector4::distance_squared_to(const Vector4 &p_to) const {
function Vector4 (line 120) | Vector4 Vector4::direction_to(const Vector4 &p_to) const {
function Vector4 (line 126) | Vector4 Vector4::abs() const {
function Vector4 (line 130) | Vector4 Vector4::sign() const {
function Vector4 (line 134) | Vector4 Vector4::floor() const {
function Vector4 (line 138) | Vector4 Vector4::ceil() const {
function Vector4 (line 142) | Vector4 Vector4::round() const {
function Vector4 (line 146) | Vector4 Vector4::lerp(const Vector4 &p_to, real_t p_weight) const {
function Vector4 (line 155) | Vector4 Vector4::cubic_interpolate(const Vector4 &p_b, const Vector4 &p_...
function Vector4 (line 164) | Vector4 Vector4::cubic_interpolate_in_time(const Vector4 &p_b, const Vec...
function Vector4 (line 173) | Vector4 Vector4::posmod(real_t p_mod) const {
function Vector4 (line 177) | Vector4 Vector4::posmodv(const Vector4 &p_modv) const {
function Vector4 (line 195) | Vector4 Vector4::snapped(const Vector4 &p_step) const {
function Vector4 (line 201) | Vector4 Vector4::snappedf(real_t p_step) const {
function Vector4 (line 207) | Vector4 Vector4::inverse() const {
function Vector4 (line 211) | Vector4 Vector4::clamp(const Vector4 &p_min, const Vector4 &p_max) const {
function Vector4 (line 219) | Vector4 Vector4::clampf(real_t p_min, real_t p_max) const {
FILE: core/math/vector4.h
type Vector4i (line 39) | struct Vector4i
function Vector4 (line 41) | struct [[nodiscard]] Vector4 {
FILE: core/math/vector4i.cpp
function Vector4i (line 60) | Vector4i Vector4i::clamp(const Vector4i &p_min, const Vector4i &p_max) c...
function Vector4i (line 68) | Vector4i Vector4i::clampi(int32_t p_min, int32_t p_max) const {
function Vector4i (line 76) | Vector4i Vector4i::snapped(const Vector4i &p_step) const {
function Vector4i (line 84) | Vector4i Vector4i::snappedi(int32_t p_step) const {
FILE: core/math/vector4i.h
type Vector4 (line 38) | struct Vector4
function Vector4i (line 40) | struct [[nodiscard]] Vector4i {
FILE: core/object/callable_mp.h
function class (line 39) | class CallableCustomMethodPointerBase : public CallableCustom {
type Data (line 150) | struct Data {
function virtual (line 169) | virtual void call(const Variant **p_arguments, int p_argcount, Variant &...
type CallableCustomMethodPointerC (line 193) | typedef CallableCustomMethodPointerC<T, void, P...> CCMP;
type CallableCustomMethodPointerC (line 207) | typedef CallableCustomMethodPointerC<T, R, P...> CCMP;
type Data (line 225) | struct Data {
function virtual (line 234) | virtual ObjectID get_object() const override {
FILE: core/object/class_db.cpp
function MethodDefinition (line 41) | MethodDefinition D_METHODP(const char *p_name, const char *const **p_arg...
class PlaceholderExtensionInstance (line 72) | class PlaceholderExtensionInstance {
method is_runtime_property (line 77) | bool is_runtime_property(const StringName &p_property_name) {
method PlaceholderExtensionInstance (line 92) | PlaceholderExtensionInstance(const StringName &p_class_name) {
method set (line 96) | void set(const StringName &p_name, const Variant &p_value, bool &r_val...
method Variant (line 103) | Variant get(const StringName &p_name, bool &r_valid) {
method GDExtensionBool (line 120) | static GDExtensionBool placeholder_instance_set(GDExtensionClassInstan...
method GDExtensionBool (line 131) | static GDExtensionBool placeholder_instance_get(GDExtensionClassInstan...
method GDExtensionPropertyInfo (line 142) | static const GDExtensionPropertyInfo *placeholder_instance_get_propert...
method placeholder_instance_free_property_list (line 147) | static void placeholder_instance_free_property_list(GDExtensionClassIn...
method GDExtensionBool (line 150) | static GDExtensionBool placeholder_instance_property_can_revert(GDExte...
method GDExtensionBool (line 154) | static GDExtensionBool placeholder_instance_property_get_revert(GDExte...
method GDExtensionBool (line 158) | static GDExtensionBool placeholder_instance_validate_property(GDExtens...
method placeholder_instance_notification (line 162) | static void placeholder_instance_notification(GDExtensionClassInstance...
method placeholder_instance_to_string (line 165) | static void placeholder_instance_to_string(GDExtensionClassInstancePtr...
method placeholder_instance_reference (line 169) | static void placeholder_instance_reference(GDExtensionClassInstancePtr...
method placeholder_instance_unreference (line 172) | static void placeholder_instance_unreference(GDExtensionClassInstanceP...
method placeholder_instance_get_rid (line 175) | static uint64_t placeholder_instance_get_rid(GDExtensionClassInstanceP...
method GDExtensionObjectPtr (line 179) | static GDExtensionObjectPtr placeholder_class_create_instance(void *p_...
method GDExtensionObjectPtr (line 210) | static GDExtensionObjectPtr placeholder_class_recreate_instance(void *...
method placeholder_class_free_instance (line 215) | static void placeholder_class_free_instance(void *p_class_userdata, GD...
method GDExtensionClassCallVirtual (line 220) | static GDExtensionClassCallVirtual placeholder_class_get_virtual(void ...
function StringName (line 316) | StringName ClassDB::get_parent_class_nocheck(const StringName &p_class) {
function StringName (line 336) | StringName ClassDB::get_compatibility_remapped_class(const StringName &p...
function StringName (line 348) | StringName ClassDB::_get_parent_class(const StringName &p_class) {
function StringName (line 354) | StringName ClassDB::get_parent_class(const StringName &p_class) {
function StringName (line 528) | StringName ClassDB::get_compatibility_class(const StringName &p_class) {
function Object (line 535) | Object *ClassDB::_instantiate_internal(const StringName &p_class, bool p...
function Object (line 643) | Object *ClassDB::instantiate(const StringName &p_class) {
function Object (line 647) | Object *ClassDB::instantiate_no_placeholders(const StringName &p_class) {
function Object (line 651) | Object *ClassDB::instantiate_without_postinitialization(const StringName...
function ObjectGDExtension (line 656) | ObjectGDExtension *ClassDB::get_placeholder_extension(const StringName &...
function GDType (line 747) | const GDType *ClassDB::get_gdtype(const StringName &p_class) {
function MethodInfo (line 886) | static MethodInfo info_from_bind(MethodBind *p_method) {
function MethodBind (line 1063) | MethodBind *ClassDB::get_method(const StringName &p_class, const StringN...
function MethodBind (line 1097) | MethodBind *ClassDB::get_method_with_compatibility(const StringName &p_c...
function StringName (line 1181) | StringName ClassDB::get_integer_constant_enum(const StringName &p_class,...
function StringName (line 1652) | StringName ClassDB::get_property_setter(const StringName &p_class, const...
function StringName (line 1667) | StringName ClassDB::get_property_getter(const StringName &p_class, const...
function MethodBind (line 1792) | MethodBind *ClassDB::_bind_vararg_method(MethodBind *p_bind, const Strin...
function MethodBind (line 1829) | MethodBind *ClassDB::bind_methodfi(uint32_t p_flags, MethodBind *p_bind,...
function Variant (line 2103) | Variant ClassDB::class_get_default_property_value(const StringName &p_cl...
function String (line 2255) | String ClassDB::get_native_struct_code(const StringName &p_name) {
function Object (line 2265) | Object *ClassDB::_instantiate_allow_unexposed(const StringName &p_class) {
FILE: core/object/class_db.h
type MethodDefinition (line 66) | struct MethodDefinition {
function class (line 97) | class ClassDB {
FILE: core/object/gdtype.h
function class (line 38) | class GDType {
FILE: core/object/make_virtuals.py
function generate_version (line 67) | def generate_version(argcount, const=False, returns=False, required=Fals...
function run (line 193) | def run(target, source, env):
FILE: core/object/message_queue.cpp
function Error (line 68) | Error CallQueue::push_callp(ObjectID p_id, const StringName &p_method, c...
function Error (line 72) | Error CallQueue::push_callp(Object *p_object, const StringName &p_method...
function Error (line 76) | Error CallQueue::push_notification(Object *p_object, int p_notification) {
function Error (line 80) | Error CallQueue::push_set(Object *p_object, const StringName &p_prop, co...
function Error (line 84) | Error CallQueue::push_callablep(const Callable &p_callable, const Varian...
function Error (line 134) | Error CallQueue::push_set(ObjectID p_id, const StringName &p_prop, const...
function Error (line 174) | Error CallQueue::push_notification(ObjectID p_id, int p_notification) {
function Error (line 224) | Error CallQueue::flush() {
FILE: core/object/message_queue.h
function class (line 41) | class CallQueue {
FILE: core/object/method_bind.cpp
function PropertyInfo (line 47) | PropertyInfo MethodBind::get_argument_info(int p_argument) const {
function PropertyInfo (line 59) | PropertyInfo MethodBind::get_return_info() const {
function StringName (line 75) | StringName MethodBind::get_name() const {
FILE: core/object/method_bind.h
function class (line 38) | class MethodBind {
function virtual (line 158) | virtual Variant::Type _gen_argument_type(int p_arg) const override {
function virtual (line 163) | virtual GodotTypeInfo::Metadata get_argument_meta(int) const override {
function virtual (line 168) | virtual void validated_call(Object *p_object, const Variant **p_args, Va...
function virtual (line 172) | virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret)...
FILE: core/object/method_bind_common.h
function class (line 53) | class MethodBindT : public MethodBind {
function class (line 137) | class MethodBindTC : public MethodBind {
function virtual (line 234) | virtual PropertyInfo _gen_argument_type_info(int p_arg) const override {
function virtual (line 246) | virtual GodotTypeInfo::Metadata get_argument_meta(int p_arg) const overr...
function virtual (line 255) | virtual Variant call(Object *p_object, const Variant **p_args, int p_arg...
function virtual (line 268) | virtual void validated_call(Object *p_object, const Variant **p_args, Va...
function virtual (line 279) | virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret)...
function virtual (line 329) | virtual PropertyInfo _gen_argument_type_info(int p_arg) const override {
function virtual (line 341) | virtual GodotTypeInfo::Metadata get_argument_meta(int p_arg) const overr...
function virtual (line 350) | virtual Variant call(Object *p_object, const Variant **p_args, int p_arg...
function virtual (line 363) | virtual void validated_call(Object *p_object, const Variant **p_args, Va...
function virtual (line 374) | virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret)...
function virtual (line 422) | virtual PropertyInfo _gen_argument_type_info(int p_arg) const override {
function virtual (line 430) | virtual GodotTypeInfo::Metadata get_argument_meta(int p_arg) const overr...
function virtual (line 435) | virtual Variant call(Object *p_object, const Variant **p_args, int p_arg...
function virtual (line 441) | virtual void validated_call(Object *p_object, const Variant **p_args, Va...
function virtual (line 445) | virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret)...
function virtual (line 480) | virtual PropertyInfo _gen_argument_type_info(int p_arg) const override {
function virtual (line 492) | virtual GodotTypeInfo::Metadata get_argument_meta(int p_arg) const overr...
function virtual (line 501) | virtual Variant call(Object *p_object, const Variant **p_args, int p_arg...
function virtual (line 507) | virtual void validated_call(Object *p_object, const Variant **p_args, Va...
function virtual (line 511) | virtual void ptrcall(Object *p_object, const void **p_args, void *r_ret)...
FILE: core/object/method_info.cpp
function MethodInfo (line 53) | MethodInfo MethodInfo::from_dict(const Dictionary &p_dict) {
FILE: core/object/method_info.h
type MethodFlags (line 36) | enum MethodFlags {
type MethodInfo (line 48) | struct MethodInfo {
function p_method (line 67) | inline bool operator<(const MethodInfo &p_method) const { return id == p...
function operator (line 69) | operator Dictionary() const;
FILE: core/object/object.cpp
type _ObjectDebugLock (line 46) | struct _ObjectDebugLock {
method _ObjectDebugLock (line 49) | _ObjectDebugLock(Object *p_obj) {
type ObjectSignalLock (line 69) | struct ObjectSignalLock {
method ObjectSignalLock (line 73) | ObjectSignalLock(const Object *p_obj1, const Object *p_obj2 = nullptr) {
function Variant (line 302) | Variant Object::get(const StringName &p_name, bool *r_valid) const {
function Variant (line 437) | Variant Object::get_indexed(const Vector<StringName> &p_names, bool *r_v...
function Variant (line 571) | Variant Object::property_get_revert(const StringName &p_name) const {
function Variant (line 599) | Variant Object::_call_bind(const Variant **p_args, int p_argcount, Calla...
function Variant (line 618) | Variant Object::_call_deferred_bind(const Variant **p_args, int p_argcou...
function Variant (line 716) | Variant Object::getvar(const Variant &p_key, bool *r_valid) const {
function Variant (line 736) | Variant Object::callv(const StringName &p_method, const Array &p_args) {
function Variant (line 754) | Variant Object::callp(const StringName &p_method, const Variant **p_args...
function Variant (line 817) | Variant Object::call_const(const StringName &p_method, const Variant **p...
function String (line 933) | String Object::to_string() {
function Variant (line 995) | Variant Object::get_script() const {
function Variant (line 1033) | Variant Object::get_meta(const StringName &p_name, const Variant &p_defa...
function Error (line 1136) | Error Object::_emit_signal(const Variant **p_args, int p_argcount, Calla...
function Error (line 1164) | Error Object::emit_signalp(const StringName &p_name, const Variant **p_a...
function Error (line 1503) | Error Object::connect(const StringName &p_signal, const Callable &p_call...
function String (line 1658) | String Object::_get_locale() const {
function Variant (line 1675) | Variant Object::_get_bind(const StringName &p_name) const {
function Variant (line 1683) | Variant Object::_get_indexed_bind(const NodePath &p_name) const {
function StringName (line 1706) | StringName Object::get_translation_domain() const {
function String (line 1714) | String Object::tr(const StringName &p_message, const StringName &p_conte...
function String (line 1723) | String Object::tr_n(const StringName &p_message, const StringName &p_mes...
function String (line 1817) | String Object::_to_string() {
function GDType (line 2088) | const GDType &Object::get_gdtype() const {
function StringName (line 2106) | const StringName &Object::get_class_name() const {
function StringName (line 2110) | StringName Object::get_class_name_for_extension(const GDExtension *p_lib...
function predelete_handler (line 2364) | bool predelete_handler(Object *p_object) {
function postinitialize_handler (line 2368) | void postinitialize_handler(Object *p_object) {
function ObjectID (line 2441) | ObjectID ObjectDB::add_instance(Object *p_object) {
FILE: core/object/object.h
type ObjectGDExtension (line 74) | struct ObjectGDExtension {
function class (line 348) | class Object {
function class (line 869) | class ObjectDB {
function _FORCE_INLINE_ (line 959) | _FORCE_INLINE_ RequiredResult(std::nullptr_t) :
function _FORCE_INLINE_ (line 965) | _FORCE_INLINE_ static RequiredResult<T> _err_return_dont_use() {
Copy disabled (too large)
Download .json
Condensed preview — 12951 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (119,500K chars).
[
{
"path": ".clang-format",
"chars": 7652,
"preview": "# If you change this file, please format all files of the codebase as part of your PR:\n# pre-commit run clang-format --a"
},
{
"path": ".clang-tidy",
"chars": 1114,
"preview": "# If you change this file, please format all files of the codebase as part of your PR:\n# pre-commit run --hook-stage man"
},
{
"path": ".clangd",
"chars": 963,
"preview": "# https://clangd.llvm.org/config\n\n---\n\n# Default conditions, apply everywhere.\n\nCompileFlags:\n Add:\n # Some thirdpar"
},
{
"path": ".editorconfig",
"chars": 354,
"preview": "root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\nindent_size = 4\nindent_style = tab\ninsert_final_newline = true\nmax_lin"
},
{
"path": ".git-blame-ignore-revs",
"chars": 2863,
"preview": "# This file contains a list of Git commit hashes that should be hidden from the\n# regular Git history. Typically, this i"
},
{
"path": ".gitattributes",
"chars": 598,
"preview": "# Properly detect languages on Github\n*.h linguist-language=C++\n*.inc linguist-language=C++\nthirdparty/* linguist-vendor"
},
{
"path": ".github/CODEOWNERS",
"chars": 17470,
"preview": "# Lines starting with '#' are comments.\n# Each line is a file pattern followed by one or more owners.\n# Owners can be @u"
},
{
"path": ".github/ISSUE_TEMPLATE/bug_report.yml",
"chars": 6196,
"preview": "name: Bug report\ndescription: Report a bug in Godot\n\nbody:\n - type: markdown\n attributes:\n value: |\n Whe"
},
{
"path": ".github/ISSUE_TEMPLATE/config.yml",
"chars": 580,
"preview": "blank_issues_enabled: false\n\ncontact_links:\n - name: Godot proposals\n url: https://github.com/godotengine/godot-prop"
},
{
"path": ".github/PULL_REQUEST_TEMPLATE.md",
"chars": 282,
"preview": "<!--\nPlease target the `master` branch. We will take care of backporting relevant fixes to older versions.\n\nBefore submi"
},
{
"path": ".github/actions/clangd-tidy/action.yml",
"chars": 871,
"preview": "name: clangd-tidy\ndescription: Setup and run clangd-tidy on relevant files\n\ninputs:\n changed-files:\n description: A "
},
{
"path": ".github/actions/download-artifact/action.yml",
"chars": 443,
"preview": "name: Download Godot artifact\ndescription: Download the Godot artifact.\n\ninputs:\n name:\n description: The artifact n"
},
{
"path": ".github/actions/godot-build/action.yml",
"chars": 1428,
"preview": "name: Build Godot\ndescription: Build Godot with the provided options.\n\ninputs:\n target:\n description: Build target ("
},
{
"path": ".github/actions/godot-cache-restore/action.yml",
"chars": 1538,
"preview": "name: Restore Godot build cache\ndescription: Restore Godot build cache.\ninputs:\n cache-name:\n description: The cache"
},
{
"path": ".github/actions/godot-cache-save/action.yml",
"chars": 675,
"preview": "name: Save Godot build cache\ndescription: Save Godot build cache.\ninputs:\n cache-name:\n description: The cache base "
},
{
"path": ".github/actions/godot-compat-test/action.yml",
"chars": 1023,
"preview": "name: Godot hash compatibility test\ndescription: Check if methods with given hashes used by the older GDExtensions still"
},
{
"path": ".github/actions/godot-converter-test/action.yml",
"chars": 460,
"preview": "name: Test Godot project converter\ndescription: Test the Godot project converter.\n\ninputs:\n bin:\n description: The p"
},
{
"path": ".github/actions/godot-cpp-build/action.yml",
"chars": 1048,
"preview": "name: Build godot-cpp\ndescription: Build godot-cpp with the provided options.\n\ninputs:\n bin:\n description: Path to t"
},
{
"path": ".github/actions/godot-deps/action.yml",
"chars": 1003,
"preview": "name: Setup Python and SCons\ndescription: Setup Python, install the pip version of SCons.\n\ninputs:\n python-version:\n "
},
{
"path": ".github/actions/godot-project-export/action.yml",
"chars": 2881,
"preview": "name: Export Godot project\ndescription: Export a test Godot project.\n\ninputs:\n bin:\n description: The path to the Go"
},
{
"path": ".github/actions/godot-project-test/action.yml",
"chars": 1648,
"preview": "name: Test Godot project\ndescription: Run the test Godot project.\n\ninputs:\n bin:\n description: The path to the Godot"
},
{
"path": ".github/actions/upload-artifact/action.yml",
"chars": 478,
"preview": "name: Upload Godot artifact\ndescription: Upload the Godot artifact.\n\ninputs:\n name:\n description: The artifact name."
},
{
"path": ".github/changed_files.yml",
"chars": 1418,
"preview": "# We lack a convenient means of gathering *all* the changes when specializations are passed, so\n# a catch-all variable "
},
{
"path": ".github/workflows/android_builds.yml",
"chars": 5563,
"preview": "name: 🤖 Android Builds\non:\n workflow_call:\n secrets:\n SERVICE_ACCOUNT_KEY:\n required: true\n\n workflow_d"
},
{
"path": ".github/workflows/ios_builds.yml",
"chars": 1166,
"preview": "name: 🍏 iOS Builds\non:\n workflow_call:\n workflow_dispatch:\n\n# Global Settings\nenv:\n SCONS_FLAGS: >-\n dev_mode=yes\n"
},
{
"path": ".github/workflows/linux_builds.yml",
"chars": 10271,
"preview": "name: 🐧 Linux Builds\non:\n workflow_call:\n inputs:\n changed-files:\n description: A list of changed files,"
},
{
"path": ".github/workflows/macos_builds.yml",
"chars": 4181,
"preview": "name: 🍎 macOS Builds\non:\n workflow_call:\n workflow_dispatch:\n\n# Global Settings\nenv:\n SCONS_FLAGS: >-\n dev_mode=ye"
},
{
"path": ".github/workflows/runner.yml",
"chars": 1915,
"preview": "name: 🔗 GHA\non: [push, pull_request, merge_group, workflow_dispatch]\n\nconcurrency:\n group: ${{ github.workflow }}|${{ g"
},
{
"path": ".github/workflows/static_checks.yml",
"chars": 2060,
"preview": "name: 📊 Static Checks\non:\n workflow_call:\n outputs:\n changed-files:\n description: A list of changed file"
},
{
"path": ".github/workflows/web_builds.yml",
"chars": 2045,
"preview": "name: 🌐 Web Builds\non:\n workflow_call:\n workflow_dispatch:\n\n# Global Settings\nenv:\n SCONS_FLAGS: >-\n dev_mode=yes\n"
},
{
"path": ".github/workflows/windows_builds.yml",
"chars": 4545,
"preview": "name: 🏁 Windows Builds\non:\n workflow_call:\n workflow_dispatch:\n\n# Global Settings\nenv:\n SCONS_FLAGS: >-\n dev_mode="
},
{
"path": ".gitignore",
"chars": 5698,
"preview": "# Godot .gitignore config\n#\n# Aims to encompass the most commonly found files that we don't want committed\n# to Git, suc"
},
{
"path": ".mailmap",
"chars": 10754,
"preview": "Aaron Record <aaronjrecord@gmail.com>\najreckof <66184050+ajreckof@users.noreply.github.com> <tbonhoure@ymail.com>\nAlexan"
},
{
"path": ".pre-commit-config.yaml",
"chars": 7435,
"preview": "default_language_version:\n python: python3\n\nexclude: |\n (?x)^(\n .*thirdparty/.*|\n .*-(dll|dylib|so)_wrap\\.[ch]|\n"
},
{
"path": "AUTHORS.md",
"chars": 10609,
"preview": "# Godot Engine authors\n\nGodot Engine is developed by a community of voluntary contributors who\ncontribute code, bug repo"
},
{
"path": "CHANGELOG.md",
"chars": 237628,
"preview": "# Changelog\n\nThis file lists all changes made between the current feature branch and the\nprevious feature release. It is"
},
{
"path": "CONTRIBUTING.md",
"chars": 10884,
"preview": "# Contributors guidelines\n\nThis document summarizes the most important points for people interested in\ncontributing to G"
},
{
"path": "COPYRIGHT.txt",
"chars": 100125,
"preview": "Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\nComment:\n Exhaustive licensing information fo"
},
{
"path": "DONORS.md",
"chars": 7827,
"preview": "# Donors to the Godot Engine project\n\nGodot Engine is a non-profit project developed by a community of voluntary\ncontrib"
},
{
"path": "LICENSE.txt",
"chars": 1149,
"preview": "Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md).\nCopyright (c) 2007-2014 Juan Linietsky, Ariel Man"
},
{
"path": "LOGO_LICENSE.txt",
"chars": 212,
"preview": "Godot Engine Logo\nCopyright (c) 2017 Andrea Calabró\n\nThis work is licensed under the Creative Commons Attribution 4.0 In"
},
{
"path": "README.md",
"chars": 3754,
"preview": "# Godot Engine\n\n<p align=\"center\">\n <a href=\"https://godotengine.org\">\n <img src=\"logo_outlined.svg\" width=\"400\" alt"
},
{
"path": "SConstruct",
"chars": 52431,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nEnsureSConsVersion(4, 0)\nEnsurePythonVersion(3, 9)\n\n# Syst"
},
{
"path": "core/SCsub",
"chars": 8145,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nimport os\n\nimport core_builders\n\nimport methods\n\nImport(\"e"
},
{
"path": "core/config/SCsub",
"chars": 158,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nImport(\"env\")\n\nenv_config = env.Clone()\n\nenv_config.add_so"
},
{
"path": "core/config/engine.cpp",
"chars": 13265,
"preview": "/**************************************************************************/\n/* engine.cpp "
},
{
"path": "core/config/engine.h",
"chars": 8635,
"preview": "/**************************************************************************/\n/* engine.h "
},
{
"path": "core/config/project_settings.cpp",
"chars": 74528,
"preview": "/**************************************************************************/\n/* project_settings.cpp "
},
{
"path": "core/config/project_settings.h",
"chars": 13157,
"preview": "/**************************************************************************/\n/* project_settings.h "
},
{
"path": "core/core_bind.compat.inc",
"chars": 3415,
"preview": "/**************************************************************************/\n/* core_bind.compat.inc "
},
{
"path": "core/core_bind.cpp",
"chars": 92731,
"preview": "/**************************************************************************/\n/* core_bind.cpp "
},
{
"path": "core/core_bind.h",
"chars": 27014,
"preview": "/**************************************************************************/\n/* core_bind.h "
},
{
"path": "core/core_builders.py",
"chars": 10126,
"preview": "\"\"\"Functions used to generate source files during build time\"\"\"\n\nfrom collections import OrderedDict\nfrom io import Text"
},
{
"path": "core/core_constants.cpp",
"chars": 44030,
"preview": "/**************************************************************************/\n/* core_constants.cpp "
},
{
"path": "core/core_constants.h",
"chars": 3062,
"preview": "/**************************************************************************/\n/* core_constants.h "
},
{
"path": "core/core_globals.h",
"chars": 2585,
"preview": "/**************************************************************************/\n/* core_globals.h "
},
{
"path": "core/core_string_names.h",
"chars": 4030,
"preview": "/**************************************************************************/\n/* core_string_names.h "
},
{
"path": "core/crypto/SCsub",
"chars": 2711,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nImport(\"env\")\n\nenv_crypto = env.Clone()\n\nis_builtin = env["
},
{
"path": "core/crypto/aes_context.cpp",
"chars": 5462,
"preview": "/**************************************************************************/\n/* aes_context.cpp "
},
{
"path": "core/crypto/aes_context.h",
"chars": 2944,
"preview": "/**************************************************************************/\n/* aes_context.h "
},
{
"path": "core/crypto/crypto.cpp",
"chars": 8737,
"preview": "/**************************************************************************/\n/* crypto.cpp "
},
{
"path": "core/crypto/crypto.h",
"chars": 6673,
"preview": "/**************************************************************************/\n/* crypto.h "
},
{
"path": "core/crypto/crypto_core.cpp",
"chars": 10142,
"preview": "/**************************************************************************/\n/* crypto_core.cpp "
},
{
"path": "core/crypto/crypto_core.h",
"chars": 4628,
"preview": "/**************************************************************************/\n/* crypto_core.h "
},
{
"path": "core/crypto/crypto_resource_format.cpp",
"chars": 4670,
"preview": "/**************************************************************************/\n/* crypto_resource_format.cpp "
},
{
"path": "core/crypto/crypto_resource_format.h",
"chars": 3650,
"preview": "/**************************************************************************/\n/* crypto_resource_format.h "
},
{
"path": "core/crypto/hashing_context.cpp",
"chars": 4894,
"preview": "/**************************************************************************/\n/* hashing_context.cpp "
},
{
"path": "core/crypto/hashing_context.h",
"chars": 2824,
"preview": "/**************************************************************************/\n/* hashing_context.h "
},
{
"path": "core/debugger/SCsub",
"chars": 125,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nImport(\"env\")\n\nenv.add_source_files(env.core_sources, \"*.c"
},
{
"path": "core/debugger/debugger_marshalls.cpp",
"chars": 6568,
"preview": "/**************************************************************************/\n/* debugger_marshalls.cpp "
},
{
"path": "core/debugger/debugger_marshalls.h",
"chars": 3165,
"preview": "/**************************************************************************/\n/* debugger_marshalls.h "
},
{
"path": "core/debugger/engine_debugger.cpp",
"chars": 8130,
"preview": "/**************************************************************************/\n/* engine_debugger.cpp "
},
{
"path": "core/debugger/engine_debugger.h",
"chars": 6239,
"preview": "/**************************************************************************/\n/* engine_debugger.h "
},
{
"path": "core/debugger/engine_profiler.cpp",
"chars": 3983,
"preview": "/**************************************************************************/\n/* engine_profiler.cpp "
},
{
"path": "core/debugger/engine_profiler.h",
"chars": 2969,
"preview": "/**************************************************************************/\n/* engine_profiler.h "
},
{
"path": "core/debugger/local_debugger.cpp",
"chars": 15522,
"preview": "/**************************************************************************/\n/* local_debugger.cpp "
},
{
"path": "core/debugger/local_debugger.h",
"chars": 3022,
"preview": "/**************************************************************************/\n/* local_debugger.h "
},
{
"path": "core/debugger/remote_debugger.cpp",
"chars": 26469,
"preview": "/**************************************************************************/\n/* remote_debugger.cpp "
},
{
"path": "core/debugger/remote_debugger.h",
"chars": 4897,
"preview": "/**************************************************************************/\n/* remote_debugger.h "
},
{
"path": "core/debugger/remote_debugger_peer.cpp",
"chars": 9008,
"preview": "/**************************************************************************/\n/* remote_debugger_peer.cpp "
},
{
"path": "core/debugger/remote_debugger_peer.h",
"chars": 3987,
"preview": "/**************************************************************************/\n/* remote_debugger_peer.h "
},
{
"path": "core/debugger/script_debugger.cpp",
"chars": 4542,
"preview": "/**************************************************************************/\n/* script_debugger.cpp "
},
{
"path": "core/debugger/script_debugger.h",
"chars": 4215,
"preview": "/**************************************************************************/\n/* script_debugger.h "
},
{
"path": "core/doc_data.cpp",
"chars": 8047,
"preview": "/**************************************************************************/\n/* doc_data.cpp "
},
{
"path": "core/doc_data.h",
"chars": 25306,
"preview": "/**************************************************************************/\n/* doc_data.h "
},
{
"path": "core/error/SCsub",
"chars": 156,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nImport(\"env\")\n\nenv_error = env.Clone()\n\nenv_error.add_sour"
},
{
"path": "core/error/error_list.cpp",
"chars": 4617,
"preview": "/**************************************************************************/\n/* error_list.cpp "
},
{
"path": "core/error/error_list.h",
"chars": 4676,
"preview": "/**************************************************************************/\n/* error_list.h "
},
{
"path": "core/error/error_macros.cpp",
"chars": 10575,
"preview": "/**************************************************************************/\n/* error_macros.cpp "
},
{
"path": "core/error/error_macros.h",
"chars": 30348,
"preview": "/**************************************************************************/\n/* error_macros.h "
},
{
"path": "core/extension/SCsub",
"chars": 661,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nImport(\"env\")\n\nimport make_interface_dumper\nimport make_in"
},
{
"path": "core/extension/extension_api_dump.cpp",
"chars": 62698,
"preview": "/**************************************************************************/\n/* extension_api_dump.cpp "
},
{
"path": "core/extension/extension_api_dump.h",
"chars": 2654,
"preview": "/**************************************************************************/\n/* extension_api_dump.h "
},
{
"path": "core/extension/gdextension.compat.inc",
"chars": 3063,
"preview": "/**************************************************************************/\n/* gdextension.compat.inc "
},
{
"path": "core/extension/gdextension.cpp",
"chars": 49901,
"preview": "/**************************************************************************/\n/* gdextension.cpp "
},
{
"path": "core/extension/gdextension.h",
"chars": 11856,
"preview": "/**************************************************************************/\n/* gdextension.h "
},
{
"path": "core/extension/gdextension_function_loader.cpp",
"chars": 3843,
"preview": "/**************************************************************************/\n/* gdextension_function_loader.cpp "
},
{
"path": "core/extension/gdextension_function_loader.h",
"chars": 3060,
"preview": "/**************************************************************************/\n/* gdextension_function_loader.h "
},
{
"path": "core/extension/gdextension_interface.cpp",
"chars": 87431,
"preview": "/**************************************************************************/\n/* gdextension_interface.cpp "
},
{
"path": "core/extension/gdextension_interface.json",
"chars": 316798,
"preview": "{\n \"_copyright\": [\n \"/**************************************************************************/\",\n \"/"
},
{
"path": "core/extension/gdextension_interface.schema.json",
"chars": 13033,
"preview": "{\n \"$schema\": \"https://json-schema.org/draft/2020-12/schema\",\n \"$id\": \"https://godotengine.org/gdextension_interfa"
},
{
"path": "core/extension/gdextension_interface_header_generator.cpp",
"chars": 11249,
"preview": "/**************************************************************************/\n/* gdextension_interface_header_generator."
},
{
"path": "core/extension/gdextension_interface_header_generator.h",
"chars": 3286,
"preview": "/**************************************************************************/\n/* gdextension_interface_header_generator."
},
{
"path": "core/extension/gdextension_library_loader.cpp",
"chars": 15322,
"preview": "/**************************************************************************/\n/* gdextension_library_loader.cpp "
},
{
"path": "core/extension/gdextension_library_loader.h",
"chars": 3998,
"preview": "/**************************************************************************/\n/* gdextension_library_loader.h "
},
{
"path": "core/extension/gdextension_loader.h",
"chars": 2799,
"preview": "/**************************************************************************/\n/* gdextension_loader.h "
},
{
"path": "core/extension/gdextension_manager.cpp",
"chars": 17339,
"preview": "/**************************************************************************/\n/* gdextension_manager.cpp "
},
{
"path": "core/extension/gdextension_manager.h",
"chars": 4529,
"preview": "/**************************************************************************/\n/* gdextension_manager.h "
},
{
"path": "core/extension/gdextension_resource_format.cpp",
"chars": 4695,
"preview": "/**************************************************************************/\n/* gdextension_resource_format.cpp "
},
{
"path": "core/extension/gdextension_resource_format.h",
"chars": 3132,
"preview": "/**************************************************************************/\n/* gdextension_resource_format.h "
},
{
"path": "core/extension/gdextension_special_compat_hashes.cpp",
"chars": 40246,
"preview": "/**************************************************************************/\n/* gdextension_special_compat_hashes.cpp "
},
{
"path": "core/extension/gdextension_special_compat_hashes.h",
"chars": 3299,
"preview": "/**************************************************************************/\n/* gdextension_special_compat_hashes.h "
},
{
"path": "core/extension/godot_instance.cpp",
"chars": 5183,
"preview": "/**************************************************************************/\n/* godot_instance.cpp "
},
{
"path": "core/extension/godot_instance.h",
"chars": 2725,
"preview": "/**************************************************************************/\n/* godot_instance.h "
},
{
"path": "core/extension/libgodot.h",
"chars": 3501,
"preview": "/**************************************************************************/\n/* libgodot.h "
},
{
"path": "core/extension/make_interface_dumper.py",
"chars": 1587,
"preview": "import methods\n\n\ndef run(target, source, env):\n buffer = methods.get_buffer(str(source[0]))\n decomp_size = len(buf"
},
{
"path": "core/extension/make_interface_header.py",
"chars": 12015,
"preview": "import difflib\nimport json\nfrom collections import OrderedDict\n\nimport methods\n\nBASE_TYPES = [\n \"void\",\n \"int8_t\","
},
{
"path": "core/extension/make_wrappers.py",
"chars": 3821,
"preview": "proto_mod = \"\"\"\n#define MODBIND$VER($RETTYPE m_name$ARG) \\\\\nvirtual $RETVAL _##m_name($FUNCARGS) $CONST; \\\\\n_FORCE_INLIN"
},
{
"path": "core/input/SCsub",
"chars": 554,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nImport(\"env\")\n\nimport input_builders\n\n# Order matters here"
},
{
"path": "core/input/default_controller_mappings.h",
"chars": 2325,
"preview": "/**************************************************************************/\n/* default_controller_mappings.h "
},
{
"path": "core/input/gamecontrollerdb.txt",
"chars": 589675,
"preview": "# Game Controller DB for SDL in 2.0.16 format\n# Source: https://github.com/mdqinc/SDL_GameControllerDB\n\n# *** IMPORTANT "
},
{
"path": "core/input/godotcontrollerdb.txt",
"chars": 10901,
"preview": "# Additional game controller mappings for Godot\n# Source: https://github.com/godotengine/godot\n\n# *** IMPORTANT ***\n# Th"
},
{
"path": "core/input/input.compat.inc",
"chars": 2645,
"preview": "/**************************************************************************/\n/* input.compat.inc "
},
{
"path": "core/input/input.cpp",
"chars": 81241,
"preview": "/**************************************************************************/\n/* input.cpp "
},
{
"path": "core/input/input.h",
"chars": 16602,
"preview": "/**************************************************************************/\n/* input.h "
},
{
"path": "core/input/input_builders.py",
"chars": 2460,
"preview": "\"\"\"Functions used to generate source files during build time\"\"\"\n\nfrom collections import OrderedDict\n\nimport methods\n\n\nd"
},
{
"path": "core/input/input_enums.h",
"chars": 4840,
"preview": "/**************************************************************************/\n/* input_enums.h "
},
{
"path": "core/input/input_event.cpp",
"chars": 66668,
"preview": "/**************************************************************************/\n/* input_event.cpp "
},
{
"path": "core/input/input_event.h",
"chars": 18763,
"preview": "/**************************************************************************/\n/* input_event.h "
},
{
"path": "core/input/input_event_codec.cpp",
"chars": 15907,
"preview": "/**************************************************************************/\n/* input_event_codec.cpp "
},
{
"path": "core/input/input_event_codec.h",
"chars": 3314,
"preview": "/**************************************************************************/\n/* input_event_codec.h "
},
{
"path": "core/input/input_map.compat.inc",
"chars": 2670,
"preview": "/**************************************************************************/\n/* input_map.compat.inc "
},
{
"path": "core/input/input_map.cpp",
"chars": 41740,
"preview": "/**************************************************************************/\n/* input_map.cpp "
},
{
"path": "core/input/input_map.h",
"chars": 5748,
"preview": "/**************************************************************************/\n/* input_map.h "
},
{
"path": "core/input/shortcut.cpp",
"chars": 5057,
"preview": "/**************************************************************************/\n/* shortcut.cpp "
},
{
"path": "core/input/shortcut.h",
"chars": 2865,
"preview": "/**************************************************************************/\n/* shortcut.h "
},
{
"path": "core/io/SCsub",
"chars": 125,
"preview": "#!/usr/bin/env python\nfrom misc.utility.scons_hints import *\n\nImport(\"env\")\n\nenv.add_source_files(env.core_sources, \"*.c"
},
{
"path": "core/io/compression.cpp",
"chars": 13562,
"preview": "/**************************************************************************/\n/* compression.cpp "
},
{
"path": "core/io/compression.h",
"chars": 3257,
"preview": "/**************************************************************************/\n/* compression.h "
},
{
"path": "core/io/config_file.cpp",
"chars": 10859,
"preview": "/**************************************************************************/\n/* config_file.cpp "
},
{
"path": "core/io/config_file.h",
"chars": 3774,
"preview": "/**************************************************************************/\n/* config_file.h "
},
{
"path": "core/io/delta_encoding.cpp",
"chars": 6516,
"preview": "/**************************************************************************/\n/* delta_encoding.cpp "
},
{
"path": "core/io/delta_encoding.h",
"chars": 2614,
"preview": "/**************************************************************************/\n/* delta_encoding.h "
},
{
"path": "core/io/dir_access.cpp",
"chars": 22408,
"preview": "/**************************************************************************/\n/* dir_access.cpp "
},
{
"path": "core/io/dir_access.h",
"chars": 7456,
"preview": "/**************************************************************************/\n/* dir_access.h "
},
{
"path": "core/io/dtls_server.cpp",
"chars": 2707,
"preview": "/**************************************************************************/\n/* dtls_server.cpp "
},
{
"path": "core/io/dtls_server.h",
"chars": 2784,
"preview": "/**************************************************************************/\n/* dtls_server.h "
},
{
"path": "core/io/file_access.compat.inc",
"chars": 6573,
"preview": "/**************************************************************************/\n/* file_access.compat.inc "
},
{
"path": "core/io/file_access.cpp",
"chars": 38233,
"preview": "/**************************************************************************/\n/* file_access.cpp "
},
{
"path": "core/io/file_access.h",
"chars": 13947,
"preview": "/**************************************************************************/\n/* file_access.h "
},
{
"path": "core/io/file_access_compressed.cpp",
"chars": 12671,
"preview": "/**************************************************************************/\n/* file_access_compressed.cpp "
},
{
"path": "core/io/file_access_compressed.h",
"chars": 5274,
"preview": "/**************************************************************************/\n/* file_access_compressed.h "
},
{
"path": "core/io/file_access_encrypted.cpp",
"chars": 10000,
"preview": "/**************************************************************************/\n/* file_access_encrypted.cpp "
},
{
"path": "core/io/file_access_encrypted.h",
"chars": 5201,
"preview": "/**************************************************************************/\n/* file_access_encrypted.h "
},
{
"path": "core/io/file_access_memory.cpp",
"chars": 5221,
"preview": "/**************************************************************************/\n/* file_access_memory.cpp "
},
{
"path": "core/io/file_access_memory.h",
"chars": 4644,
"preview": "/**************************************************************************/\n/* file_access_memory.h "
},
{
"path": "core/io/file_access_pack.cpp",
"chars": 21554,
"preview": "/**************************************************************************/\n/* file_access_pack.cpp "
},
{
"path": "core/io/file_access_pack.h",
"chars": 11757,
"preview": "/**************************************************************************/\n/* file_access_pack.h "
},
{
"path": "core/io/file_access_patched.cpp",
"chars": 6540,
"preview": "/**************************************************************************/\n/* file_access_patched.cpp "
},
{
"path": "core/io/file_access_patched.h",
"chars": 4373,
"preview": "/**************************************************************************/\n/* file_access_patched.h "
},
{
"path": "core/io/file_access_zip.cpp",
"chars": 9597,
"preview": "/**************************************************************************/\n/* file_access_zip.cpp "
},
{
"path": "core/io/file_access_zip.h",
"chars": 5428,
"preview": "/**************************************************************************/\n/* file_access_zip.h "
},
{
"path": "core/io/http_client.cpp",
"chars": 11760,
"preview": "/**************************************************************************/\n/* http_client.cpp "
},
{
"path": "core/io/http_client.h",
"chars": 7480,
"preview": "/**************************************************************************/\n/* http_client.h "
},
{
"path": "core/io/http_client_tcp.cpp",
"chars": 23035,
"preview": "/**************************************************************************/\n/* http_client_tcp.cpp "
},
{
"path": "core/io/http_client_tcp.h",
"chars": 4815,
"preview": "/**************************************************************************/\n/* http_client_tcp.h "
},
{
"path": "core/io/image.cpp",
"chars": 159500,
"preview": "/**************************************************************************/\n/* image.cpp "
},
{
"path": "core/io/image.h",
"chars": 19833,
"preview": "/**************************************************************************/\n/* image.h "
},
{
"path": "core/io/image_loader.cpp",
"chars": 5487,
"preview": "/**************************************************************************/\n/* image_loader.cpp "
},
{
"path": "core/io/image_loader.h",
"chars": 4488,
"preview": "/**************************************************************************/\n/* image_loader.h "
},
{
"path": "core/io/image_resource_format.cpp",
"chars": 3858,
"preview": "/**************************************************************************/\n/* image_resource_format.cpp "
},
{
"path": "core/io/image_resource_format.h",
"chars": 2906,
"preview": "/**************************************************************************/\n/* image_resource_format.h "
},
{
"path": "core/io/ip.cpp",
"chars": 12099,
"preview": "/**************************************************************************/\n/* ip.cpp "
},
{
"path": "core/io/ip.h",
"chars": 4146,
"preview": "/**************************************************************************/\n/* ip.h "
},
{
"path": "core/io/ip_address.cpp",
"chars": 8276,
"preview": "/**************************************************************************/\n/* ip_address.cpp "
},
{
"path": "core/io/ip_address.h",
"chars": 3896,
"preview": "/**************************************************************************/\n/* ip_address.h "
},
{
"path": "core/io/json.cpp",
"chars": 41232,
"preview": "/**************************************************************************/\n/* json.cpp "
},
{
"path": "core/io/json.h",
"chars": 4786,
"preview": "/**************************************************************************/\n/* json.h "
},
{
"path": "core/io/json_resource_format.cpp",
"chars": 4767,
"preview": "/**************************************************************************/\n/* json_resource_format.cpp "
},
{
"path": "core/io/json_resource_format.h",
"chars": 3626,
"preview": "/**************************************************************************/\n/* json_resource_format.h "
},
{
"path": "core/io/logger.cpp",
"chars": 9087,
"preview": "/**************************************************************************/\n/* logger.cpp "
},
{
"path": "core/io/logger.h",
"chars": 5281,
"preview": "/**************************************************************************/\n/* logger.h "
},
{
"path": "core/io/marshalls.cpp",
"chars": 55439,
"preview": "/**************************************************************************/\n/* marshalls.cpp "
},
{
"path": "core/io/marshalls.h",
"chars": 6124,
"preview": "/**************************************************************************/\n/* marshalls.h "
},
{
"path": "core/io/missing_resource.cpp",
"chars": 4237,
"preview": "/**************************************************************************/\n/* missing_resource.cpp "
},
{
"path": "core/io/missing_resource.h",
"chars": 3042,
"preview": "/**************************************************************************/\n/* missing_resource.h "
},
{
"path": "core/io/net_socket.cpp",
"chars": 2477,
"preview": "/**************************************************************************/\n/* net_socket.cpp "
},
{
"path": "core/io/net_socket.h",
"chars": 5063,
"preview": "/**************************************************************************/\n/* net_socket.h "
},
{
"path": "core/io/packed_data_container.cpp",
"chars": 12170,
"preview": "/**************************************************************************/\n/* packed_data_container.cpp "
},
{
"path": "core/io/packed_data_container.h",
"chars": 4078,
"preview": "/**************************************************************************/\n/* packed_data_container.h "
},
{
"path": "core/io/packet_peer.cpp",
"chars": 11471,
"preview": "/**************************************************************************/\n/* packet_peer.cpp "
},
{
"path": "core/io/packet_peer.h",
"chars": 5094,
"preview": "/**************************************************************************/\n/* packet_peer.h "
},
{
"path": "core/io/packet_peer_dtls.cpp",
"chars": 3159,
"preview": "/**************************************************************************/\n/* packet_peer_dtls.cpp "
},
{
"path": "core/io/packet_peer_dtls.h",
"chars": 3097,
"preview": "/**************************************************************************/\n/* packet_peer_dtls.h "
},
{
"path": "core/io/packet_peer_udp.cpp",
"chars": 12715,
"preview": "/**************************************************************************/\n/* packet_peer_udp.cpp "
},
{
"path": "core/io/packet_peer_udp.h",
"chars": 4251,
"preview": "/**************************************************************************/\n/* packet_peer_udp.h "
},
{
"path": "core/io/pck_packer.cpp",
"chars": 9667,
"preview": "/**************************************************************************/\n/* pck_packer.cpp "
},
{
"path": "core/io/pck_packer.h",
"chars": 3423,
"preview": "/**************************************************************************/\n/* pck_packer.h "
},
{
"path": "core/io/plist.cpp",
"chars": 27330,
"preview": "/**************************************************************************/\n/* plist.cpp "
},
{
"path": "core/io/plist.h",
"chars": 4646,
"preview": "/**************************************************************************/\n/* plist.h "
}
]
// ... and 12751 more files (download for full content)
About this extraction
This page contains the full source code of the godotengine/godot GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 12951 files (289.0 MB), approximately 27.0M tokens, and a symbol index with 13806 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.