# Emerge v0.2.1 - API Reference

## Modules

- Public API
  - [Emerge](Emerge.md): Public API for writing viewport modules.

- UI
  - [Emerge.UI](Emerge.UI.md): Declarative UI tree API.
  - [Emerge.UI.Align](Emerge.UI.Align.md): Alignment helpers for positioning inside layout parents.
  - [Emerge.UI.Animation](Emerge.UI.Animation.md): Animation helpers for declarative runtime transitions.
  - [Emerge.UI.Background](Emerge.UI.Background.md): Background styling attributes.
  - [Emerge.UI.Border](Emerge.UI.Border.md): Border styling attributes.
  - [Emerge.UI.Color](Emerge.UI.Color.md): Helpers for UI color tuples, including the Tailwind CSS v4.2 palette.
  - [Emerge.UI.Event](Emerge.UI.Event.md): Event handler helpers for interactive elements.
  - [Emerge.UI.Font](Emerge.UI.Font.md): Font styling attributes.
  - [Emerge.UI.Input](Emerge.UI.Input.md): Input element helpers.
  - [Emerge.UI.Interactive](Emerge.UI.Interactive.md): Conditional style blocks for interaction states.
  - [Emerge.UI.Nearby](Emerge.UI.Nearby.md): Nearby positioning helpers.
  - [Emerge.UI.Scroll](Emerge.UI.Scroll.md): Overflow helpers for scrollable layouts.
  - [Emerge.UI.Size](Emerge.UI.Size.md): Length and sizing helpers for Emerge UI layouts.
  - [Emerge.UI.Space](Emerge.UI.Space.md): Padding and child-gap helpers.
  - [Emerge.UI.Svg](Emerge.UI.Svg.md): SVG-specific styling attributes
  - [Emerge.UI.Transform](Emerge.UI.Transform.md): Transform and opacity helpers.

- Assets
  - [Emerge.Assets.Path](Emerge.Assets.Path.md): Verified media path sigil.
  - [Emerge.Assets.Ref](Emerge.Assets.Ref.md): Compile-time verified asset path reference returned by `~m`.

- Runtime
  - [Emerge.Runtime.CodeReloader](Emerge.Runtime.CodeReloader.md): Watches Elixir source files, recompiles selected Mix apps, and rerenders live viewports.
  - [Emerge.Runtime.Viewport](Emerge.Runtime.Viewport.md): Runtime GenServer backing `use Emerge` viewport modules.

- Rendering
  - [EmergeSkia](EmergeSkia.md): Minimal Skia renderer for the Emerge layout engine.
  - [EmergeSkia.Native](EmergeSkia.Native.md): NIF bindings for the Skia renderer.

  - [EmergeSkia.VideoTarget](EmergeSkia.VideoTarget.md): Handle for a renderer-owned video target.

- Engine
  - [Emerge.Engine](Emerge.Engine.md): Retained tree diffing, encoding, and event routing helpers.

  - [Emerge.Engine.AttrCodec](Emerge.Engine.AttrCodec.md): Compact encoding for element attribute maps.

  - [Emerge.Engine.DiffState](Emerge.Engine.DiffState.md): Stateful diff helper that keeps numeric id assignments stable.

  - [Emerge.Engine.Element](Emerge.Engine.Element.md): Core data structure representing a layout element in the Emerge tree.

  - [Emerge.Engine.Patch](Emerge.Engine.Patch.md): Diff and encode patch operations for Emerge.Engine.Element trees.

  - [Emerge.Engine.Reconcile](Emerge.Engine.Reconcile.md): Reconcile Emerge.Engine.Element trees into stable ids and patch operations.

  - [Emerge.Engine.Serialization](Emerge.Engine.Serialization.md): Binary serialization for Emerge.Engine.Element trees.

  - [Emerge.Engine.Tree](Emerge.Engine.Tree.md): Utilities for working with Emerge.Engine.Element trees.

  - [Emerge.Engine.VNode](Emerge.Engine.VNode.md): Internal virtual node that keeps identity and keys for reconciliation.

