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

A mesh, texture or material held by the renderer. Once the handle is garbage collected
the renderer frees the object as soon as no scene entry uses it: a mesh or material
when no instance names it, a texture when no material does. A material's handle keeps
the texture handles it uses.

# `kind`

```elixir
@type kind() :: :mesh | :texture | :material
```

# `t`

```elixir
@type t() :: %CauldronGPU.Handle{
  id: pos_integer(),
  keeps: [t()],
  kind: kind(),
  ref: reference()
}
```

---

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