Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make NavigationMeshGenerator independent from navigation module #70174

Conversation

smix8
Copy link
Contributor

@smix8 smix8 commented Dec 16, 2022

Moves the NavigationMeshGenerator singleton out from (godot) "navigation" module to its own module.

This is an internal restructuring change to make other addons / modules / extensions and some further navigation developments possible.

The NavigationMeshGenerator is not only a singleton but also used across the engine for 3D (and soon 2D) while the "navigation" module is intended to be just one implementation for the NavigationServer that should be replaceable (soon) or open for gdextention in #69881.

The NavigationMeshGenerator as part of the module created odd dependency and init chains that required certain nodes like NavigationRegion3D to go through the NavigationServer API instead of working with the NavigationMeshGenerator directly e.g. for navigation mesh (re)baking. This was a roadblocker for other modules and extension that wanted to extend the navigation mesh baking system e.g. like Zylann's terrain module in #64682.

@smix8 smix8 requested review from a team as code owners December 16, 2022 22:43
@Calinou Calinou added this to the 4.0 milestone Dec 17, 2022
servers/register_server_types.cpp Outdated Show resolved Hide resolved
servers/navigation_server_3d.h Outdated Show resolved Hide resolved
@smix8 smix8 force-pushed the navigationmeshgenerator_independenceday_4.x branch 2 times, most recently from dd3b7bc to 6ccbcd4 Compare December 17, 2022 11:00
@smix8 smix8 force-pushed the navigationmeshgenerator_independenceday_4.x branch 2 times, most recently from 68e8cbb to 37d4b8b Compare December 18, 2022 00:55
@akien-mga
Copy link
Member

I haven't checked the changes in depth but this doesn't look good a priori. servers shouldn't depend on thirdparty code.

@akien-mga akien-mga modified the milestones: 4.0, 4.x Dec 18, 2022
@smix8 smix8 force-pushed the navigationmeshgenerator_independenceday_4.x branch from 37d4b8b to a8cea3f Compare December 20, 2022 13:46
@smix8 smix8 marked this pull request as draft December 20, 2022 16:35
@smix8 smix8 force-pushed the navigationmeshgenerator_independenceday_4.x branch 2 times, most recently from edd1f98 to 8318bdd Compare December 20, 2022 23:18
@smix8 smix8 marked this pull request as ready for review December 21, 2022 13:42
@smix8 smix8 requested a review from a team as a code owner December 21, 2022 13:42
Moves the NavigationMeshGenerator singleton out from Godot "navigation" module.
@smix8 smix8 force-pushed the navigationmeshgenerator_independenceday_4.x branch from 8318bdd to 5d7df32 Compare December 21, 2022 21:20
@smix8
Copy link
Contributor Author

smix8 commented Dec 30, 2022

Superseded by #70724

@smix8 smix8 closed this Dec 30, 2022
@smix8 smix8 deleted the navigationmeshgenerator_independenceday_4.x branch January 12, 2023 04:03
@aaronfranke aaronfranke removed this from the 4.x milestone Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants