# `Cringe.Runtime`
[🔗](https://github.com/elixir-vibe/cringe/blob/v0.1.0/lib/cringe/runtime.ex#L1)

Supervised runtime for Cringe apps.

# `start_opt`

```elixir
@type start_opt() ::
  {:app, module()}
  | {:opts, keyword()}
  | {:name, GenServer.name()}
  | {:backend, {module(), keyword()}}
  | Cringe.Renderer.render_opts()
```

# `backend_state`

```elixir
@spec backend_state(GenServer.server()) :: term()
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `dispatch`

```elixir
@spec dispatch(GenServer.server(), term()) :: :ok
```

# `paint`

```elixir
@spec paint(GenServer.server()) :: :ok | {:error, term()}
```

# `start_link`

```elixir
@spec start_link([start_opt()]) :: GenServer.on_start()
```

# `state`

```elixir
@spec state(GenServer.server()) :: term()
```

# `text`

```elixir
@spec text(GenServer.server()) :: String.t()
```

---

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