**Relevance **
----
Use-case would involve filling/instantiating geometry in a volume with an uniform spacing between instances. Other volume based problems 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 lattice (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 become degenerate cases 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 lattices.
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'/'point lattice' 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 point 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 geometry for distributing geometry, but provides visual geometry to debug the node tree.
----
**Point Grid primitive**
A new node generating a 3D point lattice.
{F10262496}
*Included an attribute to either use a vector or 3 scalars in the input. Not 'standard' but useful as the use-case is both 3D and 2D.
**Pros**
* Generates PointCloud objects (no PointCloud primitive exist)
* Point clouds do provide visual information similar to a mesh.
**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 using volume objects to define a distribution.
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 (needs to consider geometry distribution).
* Similar behavior can be achieved by randomly displacing a point grid.