Commit Graph

63 Commits

Author SHA1 Message Date
Rémi Verschelde eabb9a63d4 Rename callable_method_pointer.h to callable_mp.h and include it explicitly
This allows removing it from `class_db.h`, significantly reducing the amount of files
that include it transitively.

Also includes some include cleanup in `control.h` and `rich_text_label.h` done while
ensure they don't depend on `callable_mp`.
2026-03-04 16:23:23 +01:00
Rémi Verschelde f332faf46b Explicitly include core/os/os.h where used 2026-03-04 09:54:10 +01:00
Thaddeus Crews abdde1b69d Core: Remove class_db.h include from ref_counted.h 2026-02-26 18:14:23 -06:00
Thaddeus Crews e380a41752 Style: Add class_db.h includes explicitly 2026-02-26 15:50:28 -06:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Rémi Verschelde ad4b910a10 Minimize include dependencies of display_server.h
- Removes `native_menu.h` dependency from `display_server.h`.
  It's now forward-declared in all DisplayServer implementations and should
  be included in the .cpp's.
- Removes some unused `rb_set.h` and `rb_map.h` dependencies, which leads to
  having to include them explicitly in half the scene and editor codebase...
  which shows how much we depend on `display_server.h`.
- Forward-declare `input_event.h`, so now we need only `keyboard.h`.
2026-02-17 19:45:31 +01:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
Thaddeus Crews fbbb8a921b Merge pull request #115309 from Ivorforce/localvector-explicit-copy
Change copy constructor of `LocalVector` from implicit to explicit
2026-01-30 09:32:07 -06:00
Nintorch eb019511ed Optimize files that #include input.h header 2026-01-28 14:21:00 +05:00
Lukas Tenbrink 63272b23ef Make LocalVector copy constructor explicit. 2026-01-23 20:52:03 +01:00
Thaddeus Crews 7d5034c50a Merge pull request #108507 from dementive/optimize-scene-tree-groups
Optimize scene tree groups
2025-11-14 14:22:57 -06:00
smix8 419fc6e22d Make NavigationServer backend engine selectable
Adds engine backend selection for NavigationServers, aka allows to swap navigation module for other backend implementations.
2025-10-30 08:59:06 +01:00
Thaddeus Crews b17aa3343a Revert "SCons: Add CPPEXTPATH for external includes" 2025-10-06 13:09:22 -05:00
Aaron Franke 3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Aaron Franke 9fbf5808a0 Rename server "free" functions to "free_rid" to match exposed API 2025-09-30 16:52:25 -07:00
smix8 19df15f1dc Make navmesh rasterization errors more lenient
Make navmesh rasterization on the navigation regions and map more lenient by starting out with a lower internal cell scale by default and changing the merge error to just warning that can be toggled.
2025-09-25 20:18:18 +02:00
Edward Moulsdale e366471fdc Add GDSOFTCLASS to deeper inheritors of Object 2025-09-24 19:15:56 +01:00
smix8 a3f393a3e1 Fix path post-processing edgecentered
Fixes path post-processing edgecentered.
2025-08-01 15:06:30 +02:00
dementive 56fa8caef4 Optimize scene tree groups 2025-07-11 10:57:04 -05:00
Thaddeus Crews 9d917f4b14 Merge pull request #108281 from dmlary/nav_obstacle-avoidance-enabled-fix
NavMap3D: check if obstacles have avoidance enabled
2025-07-07 10:08:00 -05:00
A Thousand Ships f11aff3841 Editor: Restructure editor code
Moving various editor files into sub folders to reduce clutter
2025-07-04 18:18:22 +02:00
David M. Lary 09c9bccb85 NavMap3D: check if obstacles have avoidance enabled
In `NavMap3D::_update_rvo_obstacles_tree_2d()` check if the
`NavObstacle3D` has avoidance enabled before adding it to the
tree.

fixes #108259
2025-07-04 10:16:40 -05:00
Pāvels Nadtočajevs a272376f89 Cleanup accessibility names. 2025-06-23 11:08:36 +03:00
smix8 cbd446ac29 Add navigation path query parameter limits
Adds navigation path query parameter limits.
2025-06-13 14:42:26 +02:00
smix8 7ae2c0af9d Add MultiNodeEdit support for NavigationRegion3D
Adds MultiNodeEdit support for NavigationRegion3D.
2025-06-10 16:59:29 +02:00
smix8 877da269d8 Change navigation region and link updates to an async process
Changes navigation region and link updates to an async process.
2025-06-10 14:18:47 +02:00
Wagner 0cfa6b55a5 Fix navmesh border_size precision warnings 2025-06-09 18:59:08 -03:00
smix8 03e5d64dd9 Match avoidance defaults for NavigationAgent and NavigationServer NavAgent
Matches avoidance defaults for NavigationAgent and NavigationServer NavAgent. The node had different properties than the server agent and the 2d version still used outdate defaults form the 3d version.
2025-06-07 13:49:12 +02:00
smix8 e9a8c7e858 Move NavigationLink3DGizmoPlugin to navigation_3d module
Moves NavigationLink3DGizmoPlugin to navigation_3d module. Adds stub NavigationLink3DEditorPlugin.
2025-05-08 22:28:58 +02:00
Thaddeus Crews e36632a71d Merge pull request #105588 from smix8/navobstacle_3d_plugin
Move `NavigationObstacle3DEditorPlugin` to `navigation_3d` module
2025-05-08 07:19:38 -05:00
smix8 3307be5038 Move NavigationObstacle3DEditorPlugin to navigation_3d module
Moves NavigationObstacle3DEditorPlugin to navigation_3d module.
2025-05-06 20:50:28 +02:00
smix8 63bd35e7cf Move NavigationRegion3DGizmoPlugin to navigation_3d module
Moves NavigationRegion3DGizmoPlugin to navigation_3d module.
2025-05-06 20:49:42 +02:00
Thaddeus Crews 75253b0815 Merge pull request #105592 from smix8/navregion_3d_plugin
Rename `NavigationMeshEditor` to `NavigationRegion3DEditor`
2025-05-06 08:38:07 -05:00
Thaddeus Crews fd1168620f Merge pull request #105718 from aaronfranke/nav-const-caps
Capitalize global navigation constants
2025-05-06 08:38:07 -05:00
Thaddeus Crews c4de8ef825 Merge pull request #105765 from smix8/navlink_iteration_id
Add function to get navigation link iteration id from NavigationServer
2025-05-06 08:38:00 -05:00
smix8 01e85c49e9 Rename NavigationMeshEditor to NavigationRegion3DEditor
Renames NavigationMeshEditor to NavigationRegion3DEditor to better describe its actual purpose.
2025-05-05 22:32:14 +02:00
Aaron Franke 783728fcb4 Capitalize global navigation constants 2025-05-05 12:08:15 -07:00
smix8 b002ade3ed Add function to get navigation link iteration id from NavigationServer
Adds function to get navigation link iteration id from NavigationServer.
2025-04-25 20:59:10 +02:00
Lukas Tenbrink d74ef8cb01 Rename LocalVector.invert() -> LocalVector.reverse() to match the Vector, String and List APIs. 2025-04-24 22:36:32 +02:00
Pāvels Nadtočajevs 5b49fd4207 Selectively apply FOCUS_ACCESSIBILITY to the Labels instead of setting it by default. 2025-04-23 12:47:31 +03:00
Yyf2333 1a70a06a43 Change RID_Owner::get_owned_list. 2025-04-21 01:04:27 +08:00
Thaddeus Crews 0110048d46 Merge pull request #104826 from smix8/navregion_iteration_id
Add function to get navigation region iteration id from NavigationServer
2025-04-16 10:45:13 -05:00
Thaddeus Crews 2bf96fe18c Merge pull request #105257 from smix8/navbuilder_linkpolys
Remove no longer needed link polygons from NavMapBuilder
2025-04-15 12:28:38 -05:00
smix8 2b8531d944 Add function to get navigation region iteration id from NavigationServer
Adds function to get navigation region iteration id from NavigationServer.
2025-04-15 19:17:45 +02:00
Thaddeus Crews e1509d533e Merge pull request #105071 from smix8/map_changed
Make navigation maps emit map_changed directly
2025-04-14 19:39:52 -05:00
Thaddeus Crews 756053f05f Merge pull request #105067 from smix8/navmesh_sync
Move NavigationServer navmesh sync from main() to process()
2025-04-14 19:39:51 -05:00
smix8 c901f39cda Remove no longer needed link polygons from NavMapBuilder
Removes no longer needed link polygons from NavMapBuilder.
2025-04-14 17:32:55 +02:00
smix8 af14aaecd4 Replace NavigationServer3D Point struct with Vector3
Replaces NavigationServer3D Point struct with Vector3.
2025-04-10 20:19:20 +02:00
smix8 4d76c197a7 Make navigation maps emit map_changed directly
Makes navigation maps emit map_changed directly.
2025-04-05 22:50:48 +02:00
smix8 a4c56d478a Move NavigationServer navmesh sync from main() to process()
Moves NavigationServer navmesh sync from main() to process().
2025-04-05 21:29:24 +02:00