# `AshUi.Rendered`
[🔗](https://github.com/hyperbob-labs/ash_ui/blob/main/lib/ash_ui/rendered.ex#L1)

The render algebra's node: statics interleaved with a dynamic function,
identified by a fingerprint. Structurally identical to
`Phoenix.LiveView.Rendered` (phoenix_live_view 1.1.x) so transport
adapters can convert by struct rename alone; the shape is a frozen
contract verified against LiveView as an executable oracle.

`dynamic.(track_changes?)` returns one entry per dynamic slot:
`nil` (unchanged), iodata, a nested `AshUi.Rendered`, or an
`AshUi.Comprehension`.

# `dyn`

```elixir
@type dyn() :: nil | iodata() | t() | AshUi.Comprehension.t()
```

# `t`

```elixir
@type t() :: %AshUi.Rendered{
  caller:
    :not_available
    | {module(), {atom(), non_neg_integer()}, String.t(), pos_integer()},
  dynamic: (boolean() -&gt; [dyn()]),
  fingerprint: integer(),
  root: boolean() | nil,
  static: [binary()]
}
```

---

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