Describe the project you are working on:
Tower defense
Describe the problem or limitation you are having in your project:
Gridmaps don't seem to work with spacial nodes

Describe the feature / enhancement and how it helps to overcome the problem or limitation:
make mesh libraries able to use any spacial or children of one and rename them to spacial library.
Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams:
basically this would allow placing spacial nodes in a grid and not just meshes
If this enhancement will not be used often, can it be worked around with a few lines of script?:
this would be used alot more then the current one and no
Is there a reason why this should be core and not an add-on in the asset library?:
because it seems reasonable that we have some sort of grid component for placing spacial nodes
Just like for TileMaps, I don't think this is possible unless there is a way to specifically encode metadata that tells Godot to spawn a node at the specific position. This is something that can already be done manually, still.
I just want a way to place 3d objects in a grid while limiting them to a type and not having to hold the control key
I would also like to beable to use grid like functions to set, get and check the grid
There is an explanation here of how the Gridmap works internally: https://github.com/godotengine/godot/issues/25475
Basically when the Gridmap is created it strips all unneeded data and only keeps collision shapes and meshes. The meshes are used in a MultiMeshInstance for efficiency and the collision shapes are combined together into big static bodies that are 8x8x8 (octants).
Thus you cannot tell it to "spawn nodes" as a child of a cell because the child is not a cell, it only exists on the Physics Server and Rendering Server. Even if it spawned an AnimationPlayer in global space outside the gridmap, there would be no way to apply the animation to a specific tile because they are all part of one MultiMeshInstance.
It is also not possible to get metadata about which collision object was collided, so you cannot for example make cells that are slippery or bouncy using a KinematicBody, since there is no way to know what cell exactly you're colliding with.
I would be surprised if this can be done without rewriting the GridMap class.
then I think gridmap needs to be renamed to meshmap and there should be actual gridmap 2d and 3d alternatives which accept nodes
I'm closing this due to this in favor for this
I would be surprised if this can be done without rewriting the GridMap class.
Most helpful comment
then I think gridmap needs to be renamed to meshmap and there should be actual gridmap 2d and 3d alternatives which accept nodes