**Relevance **
----
Use-case would involve filling/instantiating geometry in a volume with uniform spacing between instances. Volume based use-cases could also be relevant, some of the use-cases are mentioned in T85898.
------
**Alternatives **
Grid node can be used to resolve many use cases but current implementation is limited:
- Generates a surface (mesh).
- Only able to generate a 2D point grid.
A node for creating a 3D point lattice is then both a generalization of the grid node (to 3D) and would address limitations in the intention of the grid node to generate a surface. For a surface, generating a single point or line becomes a degenerate case and the current the grid node does not support these cases. While this is being addressed in D11772, the task also spawned a discussions which highlighted possible relevance for a including a general node for creating 3D point grids.
Other options would be to include geometry instantiation in the 'Point Instantiate' node, will eventually be realized but would not rule out relevance of a 3D grid primitive.
------
**Related Tasks**
T85898 D11810 D11772
------
**Limitations of the proposed solution(s) **
Risk of node pollution, there already exists multiple geometric primitives.
Risk of overlap with T85898 (abandoned state).
**Design Proposals **
-----
One could approach this issue in multiple ways, relevant designs would be to either extend the current grid node, add a 'point grid' primitive, or a node for distributing/scattering points within a box.
----
**Extending the grid node **
{F10262388}
*Option could be to replace 2D/3D with Mesh/Points, where Points option generates PointCloud geometry (in 3D).
**Pros**
* Consistency, a single node for generating grids.
**Cons**
* Node is intended to generate a mesh/surface. No other mesh primitive generates only verts (include edges for a 3D mesh grid?).
* Generates unnecessary faces and edges when used to instance geometry, these do however provide familiar visual geometry to debug the node tree.
----
**Point Grid/Lattice primitive**
A new node generating a 3D point grid.
{F10262903}
**Pros**
* Generates PointCloud objects (no PointCloud primitive exist).
* Point clouds do provide visual information similar to a mesh.
* No unnecessary geometry when used with the Point Instancing node (minor optimization).
**Cons**
* A new primitive node with a similar, but distinct, behavior as the grid node.
-----
**Point Scatter/Point distribute volume**
Essentially the same as proposed in T85898, but would implement the 'Geometry Volume' approach rather then to use volume objects.
Did not make a mockup for this, would involve option of either Count/Density to determine the number of points to scatter within the box, and size of the box.
**Pros**
* Adaptable approach, could include options such as 'Grid'/'Lattice', 'Uniform', 'Normal', and ?.
* Generates a PointCloud.
**Cons**
* Might be unintuitive for many users, extending the Grid node to include a 3D option might still be relevant.
* Partial overlap with T85898.
* Implementation complexity (generated geometry should ~match the density function.).
* Similar behavior can be achieved by randomly displacing a point grid.