# Emerge v0.2.1 - Table of Contents ## Pages - [Emerge](readme.md) - Tutorials - [Set up a viewport](set_up_viewport.md) - [Describe your UI](describe_ui.md) - [Use assets](use_assets.md) - [Manage state](state_management.md) ## 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.