Describe the project you are working on
Porting the official demos to 4.0 (see godotengine/godot-demo-projects#770)
Describe the problem or limitation you are having in your project
Currently, the typical process for creating a MeshLibrary involves exporting a .gltf or .glb to your project, setting up collision shapes and navmeshes for the scene in the import options, then opening the file as a new inherited scene and exporting it as a MeshLibrary.
This MeshLibrary resource contains screenshots, as well as copies of the mesh, collision shape, and navmesh data, all bundled into one file. And because it has to be created manually, you will probably want to include it in version control, even though the only data it has is either auto-generated or duplicated from the glTF file.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
It would be much simpler if the scene importer allowed importing scenes directly as MeshLibrary resources.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
In the import tab, add an option for MeshLibrary in the "Import As" dropdown alongside Scene and AnimationLibrary.
The advanced import window will still be available and used for setting collision shapes, use external materials, etc.
This will make it faster and easier to create MeshLibraries, as you won't have to manually open a new inherited scene and export every time, and also reduce the amount of binary data in version control.
If this enhancement will not be used often, can it be worked around with a few lines of script?
It might be possible to do this with an import script, but I don't think that should be necessary. This is about improving the default workflow for MeshLibrary and by extension GridMap, which are core features.
Is there a reason why this should be core and not an add-on in the asset library?
I'm sure it's possible to do this with an import plugin as well, but I believe it's basic enough that it should be in core. Plugins shouldn't be necessary for usability of core features.
Describe the project you are working on
Porting the official demos to 4.0 (see godotengine/godot-demo-projects#770)
Describe the problem or limitation you are having in your project
Currently, the typical process for creating a MeshLibrary involves exporting a
.gltfor.glbto your project, setting up collision shapes and navmeshes for the scene in the import options, then opening the file as a new inherited scene and exporting it as a MeshLibrary.This MeshLibrary resource contains screenshots, as well as copies of the mesh, collision shape, and navmesh data, all bundled into one file. And because it has to be created manually, you will probably want to include it in version control, even though the only data it has is either auto-generated or duplicated from the glTF file.
Describe the feature / enhancement and how it helps to overcome the problem or limitation
It would be much simpler if the scene importer allowed importing scenes directly as MeshLibrary resources.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
In the import tab, add an option for MeshLibrary in the "Import As" dropdown alongside Scene and AnimationLibrary.
The advanced import window will still be available and used for setting collision shapes, use external materials, etc.
This will make it faster and easier to create MeshLibraries, as you won't have to manually open a new inherited scene and export every time, and also reduce the amount of binary data in version control.
If this enhancement will not be used often, can it be worked around with a few lines of script?
It might be possible to do this with an import script, but I don't think that should be necessary. This is about improving the default workflow for MeshLibrary and by extension GridMap, which are core features.
Is there a reason why this should be core and not an add-on in the asset library?
I'm sure it's possible to do this with an import plugin as well, but I believe it's basic enough that it should be in core. Plugins shouldn't be necessary for usability of core features.