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.
Summary
Types
@type dyn() :: nil | iodata() | t() | AshUi.Comprehension.t()
@type t() :: %AshUi.Rendered{ caller: :not_available | {module(), {atom(), non_neg_integer()}, String.t(), pos_integer()}, dynamic: (boolean() -> [dyn()]), fingerprint: integer(), root: boolean() | nil, static: [binary()] }