# `CauldronGPU.Transform`
[🔗](https://github.com/jaman/cauldron/blob/v0.3.3/cauldron_gpu/lib/cauldron_gpu/transform.ex#L1)

Where a scene entry stands: position, rotation (`CauldronGPU.Quat`) and scale, in the
renderer's frame (right-handed, +Y up, units are metres by convention).

# `t`

```elixir
@type t() :: %CauldronGPU.Transform{
  position: vec3(),
  rotation: CauldronGPU.Quat.t(),
  scale: vec3()
}
```

# `vec3`

```elixir
@type vec3() :: {number(), number(), number()}
```

# `new`

```elixir
@spec new(keyword()) :: t()
```

A transform from keyword fields; `scale` may be one number for all three axes.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
