Creates an indexed quad mesh (two triangles), with normals and UVs. It sits on the XY plane with `Z=0`

, and positions ranging from `-1.0`

to `1.0`

.

```
var mesh = require('primitive-quad')()
// the simplicial complex
console.log(mesh.positions, mesh.cells)
// rendering attributes
console.log(mesh.uvs)
console.log(mesh.normals)
```

`mesh = quad([scale])`

Creates a new indexed quad along the XY plane, with an optional `scale`

number (defaults to 1).

`scale`

can also be an `[x, y]`

array to scale each axes independently.

The vertices are in counter-clockwise order, the UV origin is top-left (0 - 1 range), and the normals are negative along the Z axis.

The returned mesh is an object with the following data:

```
{
positions: [ [x, y, z], [x, y, z], ... ],
cells: [ [a, b, c], [a, b, c], ... ],
uvs: [ [u, v], [u, v], ... ],
normals: [ [x, y, z], [x, y, z], ... ]
}
```

MIT, see LICENSE.md for details.