# dala v0.0.10 - Table of Contents

An Elixir mobile framework powered by the BEAM, reworked from the Mob framework.

## Pages

- [Dala](readme.md)
- [UI Design](ui_design.md)
- [UI Render Pipeline](ui_render_pipeline.md)
- [Event Model](event_model.md)
- [Event Audit](event_audit.md)
- [iOS ML Support](ios_ml_support.md)
- [iOS Physical Device](ios_physical_device.md)
- [Rustler in Mobile](rustler_complete.md)
- [EMLX iOS Summary](emlx_ios_summary.md)

- Getting Started
  - [Getting Started](getting_started.md)
  - [Architecture &amp; Prior Art](architecture.md)
  - [Build &amp; BEAM Loading](build_and_beam_loading.md)

- UI &amp; Components
  - [Screen Lifecycle](screen_lifecycle.md)
  - [Components](components.md)
  - [Styling &amp; Native Rendering](styling.md)
  - [Theming](theming.md)
  - [Navigation](navigation.md)
  - [Render Engine](render_engine.md)
  - [Binary Protocol](binary_protocol.md)
  - [Spark DSL](spark_dsl.md)

- Events &amp; Interaction
  - [Events](events.md)

- Data &amp; Device APIs
  - [Device Capabilities](device_capabilities.md)
  - [Data &amp; Persistence](data.md)

- Testing &amp; Development
  - [Testing](testing.md)
  - [Agentic Coding](agentic_coding.md)

- Advanced Topics
  - [LiveView Integration](liveview.md)
  - [Publishing to App Store / TestFlight](publishing.md)
  - [Troubleshooting](troubleshooting.md)
  - [Security Guide](security.md)

## Modules

- [Dala.App.App](Dala.App.App.md): Behaviour for Dala application entry point.
- [Dala.Component](Dala.Component.md): Public API for native view components.
- [Dala.ComponentRegistry](Dala.ComponentRegistry.md): Public API for component registry operations.
- [Dala.ComponentServer](Dala.ComponentServer.md): Public API for component server operations.
- [Dala.Connectivity.Dist](Dala.Connectivity.Dist.md): Platform-aware Erlang distribution startup.
- [Dala.Connectivity.Wifi](Dala.Connectivity.Wifi.md): WiFi network information and configuration.
- [Dala.Device.Android](Dala.Device.Android.md): Android-specific device events. Symmetrical with `Dala.Device.Ios`.
- [Dala.Device.Device](Dala.Device.Device.md): Cross-platform device events and queries.
- [Dala.Device.Ios](Dala.Device.Ios.md): iOS-specific device events. Subscribers receive events that either have no
Android counterpart (e.g. `:protected_data_did_become_available`) or carry
extra iOS fidelity beyond what `Dala.Device` exposes cross-platform.
- [Dala.Diff](Dala.Diff.md): Public API for diff operations.
- [Dala.Event](Dala.Event.md): Convenience module that re-exports the unified event emission API.
- [Dala.Event.Address](Dala.Event.Address.md): Canonical address for an event in the Dala view tree.
- [Dala.Event.Bridge](Dala.Event.Bridge.md): Translates legacy event shapes (`{:tap, tag}`, `{:change, tag, value}`,
`{:tap, {:list, id, :select, index}}`) into the canonical
`{:dala_event, %Address{}, event, payload}` envelope.
- [Dala.Event.Component](Dala.Event.Component.md): Behaviour for **stateful** event-owning components.
- [Dala.Event.Event](Dala.Event.Event.md): The unified event emission API for Dala.
- [Dala.Event.Target](Dala.Event.Target.md): Resolves a `target:` spec to a concrete delivery pid.
- [Dala.Event.Throttle](Dala.Event.Throttle.md): Throttle / debounce config for high-frequency event subscriptions.
- [Dala.Event.Trace](Dala.Event.Trace.md): Live tracing of Dala events for IEx debugging.
- [Dala.Hardware.Biometric](Dala.Hardware.Biometric.md): Biometric authentication (Face ID / Touch ID / fingerprint).
- [Dala.Hardware.Bluetooth](Dala.Hardware.Bluetooth.md): Bluetooth Low Energy (BLE) support.
- [Dala.Hardware.Haptic](Dala.Hardware.Haptic.md): Haptic feedback. No permission required on either platform.
- [Dala.Hardware.Scanner](Dala.Hardware.Scanner.md): QR code and barcode scanner.
- [Dala.ML](Dala.ML.md): Public API for machine learning operations.
- [Dala.ML.CoreML](Dala.ML.CoreML.md): CoreML integration for iOS.
- [Dala.ML.EMLX](Dala.ML.EMLX.md): Public API for CoreML/EMLX operations.
- [Dala.ML.ONNX](Dala.ML.ONNX.md): Public API for ONNX operations.
- [Dala.Media.Audio](Dala.Media.Audio.md): Microphone recording and audio playback.
- [Dala.Media.Camera](Dala.Media.Camera.md): Native camera capture for photos and videos.
- [Dala.Media.Photos](Dala.Media.Photos.md): Photo / video library picker.
- [Dala.Ml.ConfigUhelper](Dala.Ml.ConfigUhelper.md): Helper to configure ML dependencies and settings for Dala apps.
- [Dala.Ml.Example](Dala.Ml.Example.md): Simple example of using ML in a Dala app.
- [Dala.Ml.Ml](Dala.Ml.Ml.md): Unified ML API for Dala apps on iOS and Android.
- [Dala.Ml.Nx](Dala.Ml.Nx.md): Nx integration helpers for Dala.
- [Dala.Node](Dala.Node.md): Structured representation of a UI node in the Dala framework.
- [Dala.Platform.Background](Dala.Platform.Background.md): Background execution keep-alive via a silent audio session.
- [Dala.Platform.Clipboard](Dala.Platform.Clipboard.md): System clipboard access. No permission required.
- [Dala.Platform.Diag](Dala.Platform.Diag.md): Runtime diagnostics that run inside a Dala app's BEAM. Designed to be
invoked via Erlang RPC from a developer's machine to inspect the
actual state of a deployed app.
- [Dala.Platform.Linking](Dala.Platform.Linking.md): Linking API for opening URLs and handling deep links.
- [Dala.Platform.LiveUview](Dala.Platform.LiveUview.md): Bridge between Phoenix LiveView and the Dala native WebView.
- [Dala.Platform.Location](Dala.Platform.Location.md): Device location (GPS / network).
- [Dala.Platform.NativeUlogger](Dala.Platform.NativeUlogger.md): OTP logger handler that routes Elixir Logger output to the platform's native
system log.
- [Dala.Platform.Notify](Dala.Platform.Notify.md): Local and push notifications.
- [Dala.Platform.Permissions](Dala.Platform.Permissions.md): Request OS-level permissions from the user.
- [Dala.Platform.Pubsub](Dala.Platform.Pubsub.md): Simplified PubSub for Dala apps using Elixir's built-in Registry.
- [Dala.Platform.Registry](Dala.Platform.Registry.md): Maps component names (atoms) to their platform-specific NIF constructors.
- [Dala.Platform.Settings](Dala.Platform.Settings.md): Persistent app settings (UserDefaults on iOS, SharedPreferences on Android).
- [Dala.Platform.Share](Dala.Platform.Share.md): System share sheet. Opens the OS share dialog with a piece of content.
Fire-and-forget — no response arrives in the BEAM.
- [Dala.Platform.State](Dala.Platform.State.md): Persistent key-value store for app state.
- [Dala.Preview](Dala.Preview.md): Interactive HTML preview and design tool for Dala UI components.
- [Dala.Preview.Canvas](Dala.Preview.Canvas.md): Interactive drag-and-drop UI design canvas for Dala.
- [Dala.Preview.Codegen](Dala.Preview.Codegen.md): Generates Elixir screen module source code from Dala UI trees.
- [Dala.Preview.Example](Dala.Preview.Example.md): Example UI trees for Dala Preview demonstration.
- [Dala.Preview.Live](Dala.Preview.Live.md): Standalone Phoenix LiveView server for Dala Preview Designer.
- [Dala.Preview.Live.Layout](Dala.Preview.Live.Layout.md): Root layout for Dala Preview LiveView.
- [Dala.PubSub](Dala.PubSub.md): Convenience module that re-exports the PubSub API.
- [Dala.Screen.Manager](Dala.Screen.Manager.md): Central registry for tracking all active screens in the application.
- [Dala.Screen.Screen](Dala.Screen.Screen.md): Screen behaviour and Spark DSL entry point.
- [Dala.Setup.Android](Dala.Setup.Android.md): Android Bluetooth/WiFi setup automation for Dala.
- [Dala.Setup.Ios](Dala.Setup.Ios.md): iOS Bluetooth/WiFi setup automation for Dala.
- [Dala.Setup.Setup](Dala.Setup.Setup.md): Runtime setup helpers for Bluetooth and WiFi functionality.
- [Dala.Spark.Dsl](Dala.Spark.Dsl.md): Spark DSL for declarative Dala screens.
- [Dala.Spark.Dsl.Verifier](Dala.Spark.Dsl.Verifier.md): Compile-time validation for Dala Spark DSL.
- [Dala.Spark.Pubsub](Dala.Spark.Pubsub.md): Spark DSL extension for declarative PubSub subscriptions in Dala screens.
- [Dala.Spark.Transformers.GenerateMount](Dala.Spark.Transformers.GenerateMount.md): Spark transformer that generates the `mount/3` function from DSL attributes.
- [Dala.Spark.Transformers.Pubsub](Dala.Spark.Transformers.Pubsub.md): Spark transformer that handles PubSub subscriptions from DSL.
- [Dala.Spark.Transformers.Render](Dala.Spark.Transformers.Render.md): Spark transformer that generates the `render/1` function from DSL entities.
- [Dala.Storage.Android](Dala.Storage.Android.md): Android-specific storage locations and MediaStore integration.
- [Dala.Storage.Apple](Dala.Storage.Apple.md): iOS-specific storage locations and media library integration.
- [Dala.Storage.Blob](Dala.Storage.Blob.md): Binary data handling via blob references.
- [Dala.Storage.Files](Dala.Storage.Files.md): System file picker. Opens the OS document picker (Files app on iOS, SAF on Android).
- [Dala.Storage.Storage](Dala.Storage.Storage.md): App-local file storage.
- [Dala.Test.Test](Dala.Test.Test.md): Remote inspection and interaction helpers for connected Dala apps.
- [Dala.Theme.Adaptive](Dala.Theme.Adaptive.md): Theme that follows the OS-level light / dark setting.
- [Dala.Theme.AdaptiveWatcher](Dala.Theme.AdaptiveWatcher.md): GenServer that re-resolves the active theme when the OS appearance flips.
- [Dala.Theme.Dark](Dala.Theme.Dark.md): High-contrast greyscale dark theme.
- [Dala.Theme.Light](Dala.Theme.Light.md): High-contrast greyscale light theme.
- [Dala.Theme.Theme](Dala.Theme.Theme.md): Design token system for Dala apps.
- [Dala.Wakelock](Dala.Wakelock.md): Screen wakelock — keep the device screen on.
- [DalaPreview.Server.Design](DalaPreview.Server.Design.md): Design state management
- [DalaPreview.Server.DesignLive](DalaPreview.Server.DesignLive.md)

- Core
  - [Dala](Dala.md): Dala — BEAM-on-device dalaile framework for Elixir.
  - [Dala.App](Dala.App.md): Public API for Dala application functionality.
  - [Dala.Screen](Dala.Screen.md): Behaviour and macros for Dala screens.
  - [Dala.Socket](Dala.Socket.md): Public API for socket operations.

- UI
  - [Dala.Renderer](Dala.Renderer.md): Public API for rendering operations.
  - [Dala.Theme.Birch](Dala.Theme.Birch.md): Birch theme for Dala — warm parchment surfaces with a chestnut-brown accent.
  - [Dala.Theme.Citrus](Dala.Theme.Citrus.md): Citrus theme for Dala — warm charcoal with a lime-green accent.
  - [Dala.Theme.Obsidian](Dala.Theme.Obsidian.md): Obsidian theme for Dala — deep blacks with a violet accent.
  - [Dala.Ui.Diff](Dala.Ui.Diff.md): Diff engine for incremental UI updates.
  - [Dala.Ui.Embedded.Webview](Dala.Ui.Embedded.Webview.md): Bidirectional JS bridge for the native WebView component.
  - [Dala.Ui.Feedback.Alert](Dala.Ui.Feedback.Alert.md): Native alert dialogs, action sheets, and toast messages.
  - [Dala.Ui.List](Dala.Ui.List.md): Data-driven list component.
  - [Dala.Ui.NativeView](Dala.Ui.NativeView.md): Behaviour for native view components.
  - [Dala.Ui.Node](Dala.Ui.Node.md): Structured representation of a UI node in the Dala framework.
  - [Dala.Ui.Renderer](Dala.Ui.Renderer.md): Serializes a component tree to a binary command stream and passes it to the
platform NIF in a single call. Compose (Android) and SwiftUI (iOS) handle
diffing and rendering internally.
  - [Dala.Ui.Sensor.Motion](Dala.Ui.Sensor.Motion.md): Accelerometer and gyroscope sensor data.
  - [Dala.Ui.Socket](Dala.Ui.Socket.md): The socket struct passed through all Dala.Screen and Dala.Ui.NativeView callbacks.
  - [Dala.Ui.Style](Dala.Ui.Style.md): Thin wrapper around a props map for named, reusable styles.
  - [Dala.Ui.Widgets](Dala.Ui.Widgets.md): UI component constructors for the Dala framework.

- Navigation
  - [Dala.Nav.Registry](Dala.Nav.Registry.md): ETS-backed registry mapping screen name atoms to their modules.

- Plugins
  - [Dala.Plugin](Dala.Plugin.md): Behaviour and macros for self-describing component plugins.
  - [Dala.Plugin.Component](Dala.Plugin.Component.md): Represents a single component schema within a plugin.
  - [Dala.Plugin.ComponentDSL](Dala.Plugin.ComponentDSL.md): Evaluates the component definition DSL.
  - [Dala.Plugin.Manifest](Dala.Plugin.Manifest.md): Generates native plugin manifests for iOS and Android platforms.
  - [Dala.Plugin.Protocol](Dala.Plugin.Protocol.md): Generates binary protocol specifications from plugin schemas.
  - [Dala.Plugin.Registry](Dala.Plugin.Registry.md): Registry for plugin management and lookup.

- Internals
  - [Dala.List](Dala.List.md): Public API for list operations.

## Mix Tasks

- [mix dala.bt_setup](Mix.Tasks.Dala.BtSetup.md): Alias for `mix dala.setup_bluetooth_wifi`
- [mix dala.onboarding_test](Mix.Tasks.Dala.OnboardingTest.md): Runs the Dala onboarding integration tests, which verify that a new user can
go from zero to a running app without hitting any friction that should have
been caught automatically.
- [mix dala.preview](Mix.Tasks.Dala.Preview.md): Preview Dala UI designs in a browser without a simulator/emulator.
- [mix dala.setup_bluetooth_wifi](Mix.Tasks.Dala.SetupBluetoothWifi.md): One-command setup for Bluetooth and WiFi functionality in Dala apps.
- [mix dala.setup_ios_bluetooth](Mix.Tasks.Dala.SetupIosBluetooth.md): Automated setup for iOS Bluetooth and WiFi functionality in Dala.

